0001558370-24-014072.txt : 20241101 0001558370-24-014072.hdr.sgml : 20241101 20241031184700 ACCESSION NUMBER: 0001558370-24-014072 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 89 CONFORMED PERIOD OF REPORT: 20240927 FILED AS OF DATE: 20241101 DATE AS OF CHANGE: 20241031 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Willdan Group, Inc. CENTRAL INDEX KEY: 0001370450 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-ENGINEERING SERVICES [8711] ORGANIZATION NAME: 07 Trade & Services IRS NUMBER: 141951112 STATE OF INCORPORATION: DE FISCAL YEAR END: 1227 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-33076 FILM NUMBER: 241416543 BUSINESS ADDRESS: STREET 1: 2401 EAST KATELLA AVENUE, SUITE 300 CITY: ANAHEIM STATE: CA ZIP: 92806 BUSINESS PHONE: 800-424-9144 MAIL ADDRESS: STREET 1: 2401 EAST KATELLA AVENUE, SUITE 300 CITY: ANAHEIM STATE: CA ZIP: 92806 10-Q 1 wldn-20240927x10q.htm 10-Q
0001370450Q3falsehttp://fasb.org/us-gaap/2024#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationhttp://fasb.org/us-gaap/2024#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationP1Yhttp://fasb.org/us-gaap/2024#QualifiedPlanMemberhttp://fasb.org/us-gaap/2024#RestrictedCashCurrenthttp://fasb.org/us-gaap/2024#RestrictedCashCurrenthttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrenthttp://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent0001370450srt:MaximumMember2023-12-302024-09-270001370450wldn:DefinedContributionPlanMember2024-09-270001370450wldn:CreditAgreement2023Memberus-gaap:NotesPayableToBanksMember2024-09-270001370450us-gaap:CostOfSalesMember2023-12-302024-09-270001370450us-gaap:CommonStockMember2024-03-302024-06-280001370450us-gaap:RetainedEarningsMember2024-09-270001370450us-gaap:AdditionalPaidInCapitalMember2024-09-270001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-09-270001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-09-270001370450us-gaap:RetainedEarningsMember2024-06-280001370450us-gaap:AdditionalPaidInCapitalMember2024-06-280001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-280001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-06-2800013704502024-06-280001370450us-gaap:RetainedEarningsMember2024-03-290001370450us-gaap:AdditionalPaidInCapitalMember2024-03-290001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-290001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-03-2900013704502024-03-290001370450us-gaap:RetainedEarningsMember2023-12-290001370450us-gaap:AdditionalPaidInCapitalMember2023-12-290001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-290001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-12-290001370450us-gaap:RetainedEarningsMember2023-09-290001370450us-gaap:AdditionalPaidInCapitalMember2023-09-290001370450us-gaap:RetainedEarningsMember2023-06-300001370450us-gaap:AdditionalPaidInCapitalMember2023-06-3000013704502023-06-300001370450us-gaap:RetainedEarningsMember2023-03-310001370450us-gaap:AdditionalPaidInCapitalMember2023-03-3100013704502023-03-310001370450us-gaap:RetainedEarningsMember2022-12-300001370450us-gaap:AdditionalPaidInCapitalMember2022-12-300001370450us-gaap:CommonStockMember2024-06-292024-09-270001370450us-gaap:CommonStockMember2023-07-012023-09-290001370450us-gaap:CommonStockMember2023-04-012023-06-300001370450us-gaap:CommonStockMember2022-12-312023-03-310001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450wldn:UnitBasedContractMemberwldn:EnergyMember2024-06-292024-09-270001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450wldn:PublicUtilityMemberwldn:EnergyMember2024-06-292024-09-270001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450wldn:GovernmentsMemberwldn:EnergyMember2024-06-292024-09-270001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450wldn:CommercialMemberwldn:EnergyMember2024-06-292024-09-270001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2024-06-292024-09-270001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2024-06-292024-09-270001370450country:USwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450country:USwldn:EnergyMember2024-06-292024-09-270001370450wldn:UnitBasedContractMember2024-06-292024-09-270001370450wldn:PublicUtilityMember2024-06-292024-09-270001370450wldn:GovernmentsMember2024-06-292024-09-270001370450wldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450wldn:EnergyMember2024-06-292024-09-270001370450wldn:CommercialMember2024-06-292024-09-270001370450us-gaap:TimeAndMaterialsContractMember2024-06-292024-09-270001370450us-gaap:FixedPriceContractMember2024-06-292024-09-270001370450country:US2024-06-292024-09-270001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450wldn:UnitBasedContractMemberwldn:EnergyMember2023-12-302024-09-270001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450wldn:PublicUtilityMemberwldn:EnergyMember2023-12-302024-09-270001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450wldn:GovernmentsMemberwldn:EnergyMember2023-12-302024-09-270001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450wldn:CommercialMemberwldn:EnergyMember2023-12-302024-09-270001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2023-12-302024-09-270001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2023-12-302024-09-270001370450country:USwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450country:USwldn:EnergyMember2023-12-302024-09-270001370450wldn:UnitBasedContractMember2023-12-302024-09-270001370450wldn:PublicUtilityMember2023-12-302024-09-270001370450wldn:GovernmentsMember2023-12-302024-09-270001370450wldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450wldn:EnergyMember2023-12-302024-09-270001370450wldn:CommercialMember2023-12-302024-09-270001370450us-gaap:TimeAndMaterialsContractMember2023-12-302024-09-270001370450us-gaap:FixedPriceContractMember2023-12-302024-09-270001370450country:US2023-12-302024-09-270001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450wldn:UnitBasedContractMemberwldn:EnergyMember2023-07-012023-09-290001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450wldn:PublicUtilityMemberwldn:EnergyMember2023-07-012023-09-290001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450wldn:GovernmentsMemberwldn:EnergyMember2023-07-012023-09-290001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450wldn:CommercialMemberwldn:EnergyMember2023-07-012023-09-290001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2023-07-012023-09-290001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2023-07-012023-09-290001370450country:USwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450country:USwldn:EnergyMember2023-07-012023-09-290001370450wldn:UnitBasedContractMember2023-07-012023-09-290001370450wldn:PublicUtilityMember2023-07-012023-09-290001370450wldn:GovernmentsMember2023-07-012023-09-290001370450wldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450wldn:EnergyMember2023-07-012023-09-290001370450wldn:CommercialMember2023-07-012023-09-290001370450us-gaap:TimeAndMaterialsContractMember2023-07-012023-09-290001370450us-gaap:FixedPriceContractMember2023-07-012023-09-290001370450country:US2023-07-012023-09-290001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450wldn:UnitBasedContractMemberwldn:EnergyMember2022-12-312023-09-290001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450wldn:PublicUtilityMemberwldn:EnergyMember2022-12-312023-09-290001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450wldn:GovernmentsMemberwldn:EnergyMember2022-12-312023-09-290001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450wldn:CommercialMemberwldn:EnergyMember2022-12-312023-09-290001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2022-12-312023-09-290001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2022-12-312023-09-290001370450country:USwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450country:USwldn:EnergyMember2022-12-312023-09-290001370450wldn:UnitBasedContractMember2022-12-312023-09-290001370450wldn:PublicUtilityMember2022-12-312023-09-290001370450wldn:GovernmentsMember2022-12-312023-09-290001370450wldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450wldn:EnergyMember2022-12-312023-09-290001370450wldn:CommercialMember2022-12-312023-09-290001370450us-gaap:TimeAndMaterialsContractMember2022-12-312023-09-290001370450us-gaap:FixedPriceContractMember2022-12-312023-09-290001370450country:US2022-12-312023-09-290001370450wldn:ComputerHardwareAndSoftwareMember2024-09-270001370450wldn:AutomobilesTrucksAndFieldEquipmentMember2024-09-270001370450us-gaap:LeaseholdImprovementsMember2024-09-270001370450us-gaap:FurnitureAndFixturesMember2024-09-270001370450wldn:ComputerHardwareAndSoftwareMember2023-12-290001370450wldn:AutomobilesTrucksAndFieldEquipmentMember2023-12-290001370450us-gaap:LeaseholdImprovementsMember2023-12-290001370450us-gaap:FurnitureAndFixturesMember2023-12-290001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-292024-09-270001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-06-292024-09-270001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-302024-06-280001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-03-302024-06-280001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-302024-03-290001370450us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-12-302024-03-290001370450us-gaap:RetainedEarningsMember2024-06-292024-09-270001370450us-gaap:RetainedEarningsMember2024-03-302024-06-280001370450us-gaap:RetainedEarningsMember2023-12-302024-03-290001370450us-gaap:RetainedEarningsMember2023-07-012023-09-290001370450us-gaap:RetainedEarningsMember2023-04-012023-06-300001370450us-gaap:RetainedEarningsMember2022-12-312023-03-310001370450srt:MinimumMember2024-09-270001370450srt:MaximumMember2024-09-270001370450us-gaap:CorporateNonSegmentMember2024-06-292024-09-270001370450us-gaap:CorporateNonSegmentMember2023-12-302024-09-270001370450us-gaap:CorporateNonSegmentMember2023-07-012023-09-290001370450us-gaap:CorporateNonSegmentMember2022-12-312023-09-290001370450wldn:EngineeringConsultingServicesMember2024-09-270001370450wldn:EnergyMember2024-09-270001370450wldn:EngineeringConsultingServicesMember2023-12-290001370450wldn:EnergyMember2023-12-2900013704502024-09-282024-12-270001370450srt:MinimumMember2023-12-302024-12-270001370450srt:MaximumMember2023-12-302024-12-2700013704502023-12-302024-12-270001370450srt:MinimumMember2023-12-302024-03-290001370450srt:MaximumMember2023-12-302024-03-2900013704502023-09-302023-12-290001370450srt:MinimumMember2022-12-312023-12-290001370450srt:MaximumMember2022-12-312023-12-290001370450srt:MinimumMember2022-12-312023-03-310001370450srt:MaximumMember2022-12-312023-03-310001370450srt:MinimumMemberus-gaap:TradeNamesMember2024-09-270001370450srt:MinimumMemberus-gaap:NoncompeteAgreementsMember2024-09-270001370450srt:MinimumMemberus-gaap:CustomerRelationshipsMember2024-09-270001370450srt:MaximumMemberus-gaap:TradeNamesMember2024-09-270001370450srt:MaximumMemberus-gaap:NoncompeteAgreementsMember2024-09-270001370450srt:MaximumMemberus-gaap:CustomerRelationshipsMember2024-09-270001370450us-gaap:TradeNamesMember2024-09-270001370450us-gaap:OrderOrProductionBacklogMember2024-09-270001370450us-gaap:NoncompeteAgreementsMember2024-09-270001370450us-gaap:DevelopedTechnologyRightsMember2024-09-270001370450us-gaap:CustomerRelationshipsMember2024-09-270001370450us-gaap:TradeNamesMember2023-12-290001370450us-gaap:OrderOrProductionBacklogMember2023-12-290001370450us-gaap:NoncompeteAgreementsMember2023-12-290001370450us-gaap:DevelopedTechnologyRightsMember2023-12-290001370450us-gaap:CustomerRelationshipsMember2023-12-2900013704502022-12-312023-12-290001370450us-gaap:InterestRateSwapMemberus-gaap:CashFlowHedgingMember2023-11-302023-11-300001370450us-gaap:InterestRateSwapMemberus-gaap:CashFlowHedgingMember2023-11-300001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2024-06-292024-09-270001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2024-06-292024-09-270001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2023-12-302024-09-270001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2023-12-302024-09-270001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2023-07-012023-09-290001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2023-07-012023-09-290001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2022-12-312023-09-290001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2022-12-312023-09-290001370450wldn:QualifiedCashOrDeferredArrangementMember2023-12-302024-09-270001370450wldn:DefinedContributionPlanMember2023-12-302024-09-270001370450wldn:DefinedContributionPlanMember2022-12-312023-09-290001370450wldn:TermLoanMemberus-gaap:NotesPayableToBanksMember2024-09-270001370450wldn:OtherDebtMemberus-gaap:NotesPayableOtherPayablesMember2024-09-270001370450wldn:TermLoanMemberus-gaap:NotesPayableToBanksMember2023-12-290001370450wldn:OtherDebtMemberus-gaap:NotesPayableOtherPayablesMember2023-12-290001370450wldn:SouthernCaliforniaEdisonAndClarkCountySchoolDistrictMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2024-06-292024-09-270001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2024-06-292024-09-270001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2024-06-292024-09-270001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2024-06-292024-09-270001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-12-302024-09-270001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2023-12-302024-09-270001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2023-12-302024-09-270001370450wldn:PuebloCountySchoolDistrictAndDormitoryAuthorityStateOfNewYorkMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2023-07-012023-09-290001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-07-012023-09-290001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-290001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2023-07-012023-09-290001370450wldn:LosAngelesDepartmentOfWaterAndPowerAndDormitoryAuthorityStateOfNewYorkMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2022-12-312023-09-290001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-12-312023-09-290001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-12-312023-09-290001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-12-312023-09-290001370450us-gaap:CommonStockMember2024-09-270001370450us-gaap:CommonStockMember2024-06-280001370450us-gaap:CommonStockMember2024-03-290001370450us-gaap:CommonStockMember2023-12-290001370450us-gaap:CommonStockMember2023-09-290001370450us-gaap:CommonStockMember2023-06-300001370450us-gaap:CommonStockMember2023-03-310001370450us-gaap:CommonStockMember2022-12-300001370450us-gaap:AccountingStandardsUpdate202309Member2024-09-270001370450us-gaap:AccountingStandardsUpdate202307Member2024-09-270001370450us-gaap:AccountingStandardsUpdate202306Member2024-09-2700013704502022-12-3000013704502022-12-312023-09-290001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2024-09-270001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2024-09-270001370450us-gaap:IntersegmentEliminationMember2024-09-270001370450us-gaap:CorporateNonSegmentMember2024-09-270001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2023-09-290001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2023-09-290001370450us-gaap:IntersegmentEliminationMember2023-09-290001370450us-gaap:CorporateNonSegmentMember2023-09-2900013704502023-09-290001370450wldn:EnicaEngineeringPllcMemberus-gaap:SubsequentEventMember2024-10-230001370450wldn:EnicaEngineeringPllcMemberus-gaap:SubsequentEventMember2024-10-232024-10-230001370450us-gaap:StockCompensationPlanMember2023-12-302024-09-270001370450us-gaap:StockCompensationPlanMember2023-07-012023-09-290001370450us-gaap:StockCompensationPlanMember2022-12-312023-09-290001370450us-gaap:AdditionalPaidInCapitalMember2024-06-292024-09-270001370450us-gaap:AdditionalPaidInCapitalMember2024-03-302024-06-2800013704502024-03-302024-06-280001370450us-gaap:CommonStockMember2023-12-302024-03-290001370450us-gaap:AdditionalPaidInCapitalMember2023-12-302024-03-2900013704502023-12-302024-03-290001370450us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-2900013704502023-07-012023-09-290001370450us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-3000013704502023-04-012023-06-300001370450us-gaap:AdditionalPaidInCapitalMember2022-12-312023-03-3100013704502022-12-312023-03-3100013704502024-09-2700013704502023-12-2900013704502024-06-292024-09-2700013704502024-10-3000013704502023-12-302024-09-27xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesxbrli:purewldn:segmentwldn:statewldn:Ywldn:entity

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION

Washington, D.C.  20549

FORM 10-Q

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

For the quarterly period ended September 27, 2024

OR

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

For the transition period from            to          

Commission file number 001-33076

WILLDAN GROUP, INC.

(Exact Name of Registrant as Specified in Its Charter)

Delaware

14-1951112

(State or Other Jurisdiction of
Incorporation or Organization)

(IRS Employer Identification No.)

2401 East Katella Avenue, Suite 300
Anaheim, California

92806

(Address of Principal Executive Offices)

(Zip Code)

Registrant’s Telephone Number, Including Area Code: (800424-9144

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

WLDN

The Nasdaq Stock Market LLC

(Nasdaq Global Market)

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 is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

As of October 30, 2024, there were 14,124,865 shares of common stock, $0.01 par value per share, of Willdan Group, Inc. issued and outstanding.

i

CAUTIONARY STATEMENT REGARDING FORWARD-LOOKING INFORMATION

This Quarterly Report on Form 10-Q (this “10-Q”) contains statements that constitute forward-looking statements as that term is defined by the Private Securities Litigation Reform Act of 1995, as amended. These statements concern our business, operations and financial performance and condition as well as our plans, objectives and expectations for our business operations and financial performance and condition, which are subject to risks and uncertainties. All statements other than statements of historical fact included in this 10-Q are forward-looking statements. These statements may include words such as “aim,” “anticipate,” “assume,” “believe,” “can have,” “could,” “due,” “estimate,” “expect,” “goal,” “intend,” “likely,” “may,” “objective,” “plan,” “potential,” “positioned,” “predict,” “should,” “target,” “will,” “would” and other words and terms of similar meaning in connection with any discussion of the timing or nature of future operating or financial performance or other events or trends. For example, all statements we make relating to our plans and objectives for future operations, growth or initiatives and strategies are forward-looking statements.

These forward-looking statements are based on current expectations, estimates, forecasts and projections about our business and the industry in which we operate and our management’s beliefs and assumptions. We derive many of our forward-looking statements from our own operating budgets and forecasts, which are based upon many detailed assumptions. While we believe that our assumptions are reasonable, we caution that predicting the impact of known factors is very difficult, and we cannot anticipate all factors that could affect our actual results.

All of our forward-looking statements are subject to risks and uncertainties that may cause our actual results to differ materially from our expectations. Important factors that could cause actual results to differ materially from our expectations include, but are not limited to:

our ability to adequately complete projects in a timely manner;
our ability to compete successfully in the highly competitive energy services market, which represented 84% of our consolidated revenue in fiscal year 2023;
our reliance on work from our top ten clients, which accounted for 53% of our consolidated contract revenue for fiscal year 2023;
changes in state, local and regional economies and government budgets;
our ability to win new contracts, to renew existing contracts and to compete effectively for contracts awarded through bidding processes;
our ability to make principal and interest payments on our outstanding debt as they come due and to comply with the financial covenants contained in our debt agreements;
our ability to manage supply chain constraints, labor shortages, rising interest rates, and rising inflation;
our ability to obtain financing and to refinance our outstanding debt as it matures;
our ability to successfully integrate our acquisitions and execute on our growth strategy; and
our ability to attract and retain managerial, technical, and administrative talent.

The above is not a complete list of factors or events that could cause actual results to differ from our expectations, and we cannot predict all of them. All written and oral forward-looking statements attributable to us, or persons acting on our behalf, are expressly qualified in their entirety by the cautionary statements disclosed elsewhere in this Quarterly Report on Form 10-Q, and under Part I, Item 1A. “Risk Factors”, “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and elsewhere in our Annual Report on Form 10-K for the fiscal year ended December 29, 2023, as such disclosures may be amended, supplemented or superseded from time to

1

time by other reports we file with the Securities and Exchange Commission, including subsequent Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and public communications. You should evaluate all forward-looking statements made in this Quarterly Report on Form 10-Q and otherwise in the context of these risks and uncertainties.

Potential investors and other readers are urged to consider these factors carefully in evaluating the forward-looking statements and are cautioned not to place undue reliance on any forward-looking statements we make. These forward-looking statements speak only as of the date of this Quarterly Report on Form 10-Q and are not guarantees of future performance or developments and involve known and unknown risks, uncertainties and other factors that are in many cases beyond our control. Except as required by law, we undertake no obligation to update or revise any forward-looking statements publicly, whether as a result of new information, future developments or otherwise.

2

PART I. FINANCIAL INFORMATION

Item 1. Financial Statements

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

(in thousands, except par value)

(Unaudited)

    

September 27,

    

December 29,

2024

2023

Assets

Current assets:

Cash and cash equivalents

$

53,106

$

23,397

Restricted cash

Accounts receivable, net of allowance for doubtful accounts of $1,465 and $866 at September 27, 2024 and December 29, 2023, respectively

 

63,109

 

69,677

Contract assets

 

104,236

 

93,885

Other receivables

 

2,359

 

1,169

Prepaid expenses and other current assets

 

5,329

 

3,888

Total current assets

 

228,139

 

192,016

Equipment and leasehold improvements, net

 

28,955

 

27,097

Goodwill

131,144

131,144

Right-of-use assets

14,366

12,465

Other intangible assets, net

26,541

31,956

Other assets

 

3,447

 

4,949

Deferred income taxes, net

14,661

15,961

Total assets

$

447,253

$

415,588

Liabilities and Stockholders’ Equity

Current liabilities:

Accounts payable

$

38,007

$

33,193

Accrued liabilities

 

58,521

 

54,129

Contract liabilities

 

15,202

 

13,183

Notes payable

 

10,137

 

8,452

Finance lease obligations

1,175

1,186

Lease liability

5,509

4,537

Total current liabilities

 

128,551

 

114,680

Notes payable, less current portion

81,757

88,979

Finance lease obligations, less current portion

 

1,453

 

1,184

Lease liability, less current portion

10,593

9,758

Other noncurrent liabilities

938

1,142

Total liabilities

 

223,292

 

215,743

Commitments and contingencies

Stockholders’ equity:

Preferred stock, $0.01 par value, 10,000 shares authorized, no shares issued and outstanding

 

 

Common stock, $0.01 par value, 40,000 shares authorized; 14,117 and 13,682 shares issued and outstanding at September 27, 2024 and December 29, 2023, respectively

 

141

 

137

Additional paid-in capital

 

195,168

 

185,795

Accumulated other comprehensive income (loss)

(807)

(664)

Retained earnings

 

29,459

 

14,577

Total stockholders’ equity

 

223,961

 

199,845

Total liabilities and stockholders’ equity

$

447,253

$

415,588

See accompanying notes to Condensed Consolidated Financial Statements.

3

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(in thousands, except per share amounts)

(Unaudited)

Three Months Ended

Nine Months Ended

September 27,

September 29,

September 27,

September 29,

    

2024

    

2023

    

2024

    

2023

Contract revenue

$

158,252

$

132,738

$

421,737

$

354,418

Direct costs of contract revenue (inclusive of directly related depreciation and amortization):

Salaries and wages

 

24,088

 

21,856

 

69,247

 

63,568

Subcontractor services and other direct costs

 

82,563

 

67,454

 

204,667

 

165,508

Total direct costs of contract revenue

 

106,651

 

89,310

 

273,914

 

229,076

Gross profit

 

51,601

 

43,428

 

147,823

 

125,342

General and administrative expenses:

Salaries and wages, payroll taxes and employee benefits

 

25,876

 

23,805

 

78,449

 

68,606

Facilities and facility related

 

2,381

 

2,303

 

7,231

 

7,200

Stock-based compensation

 

2,020

 

1,244

 

5,355

 

4,064

Depreciation and amortization

 

3,716

 

4,190

 

10,937

 

12,518

Other

 

8,934

 

8,049

 

25,368

 

22,629

Total general and administrative expenses

 

42,927

 

39,591

 

127,340

 

115,017

Income (Loss) from operations

 

8,674

 

3,837

 

20,483

 

10,325

Other income (expense):

Interest expense, net

 

(1,934)

 

(2,437)

 

(6,031)

 

(7,110)

Other, net

 

763

 

879

 

2,293

 

1,392

Total other expense, net

 

(1,171)

 

(1,558)

 

(3,738)

 

(5,718)

Income (Loss) before income taxes

 

7,503

 

2,279

 

16,745

 

4,607

Income tax (benefit) expense

 

157

 

713

 

1,863

 

1,712

Net income (loss)

7,346

1,566

14,882

2,895

Other comprehensive income (loss):

Unrealized gain (loss) on derivative contracts, net of tax

(678)

(143)

Comprehensive income (loss)

$

6,668

$

1,566

$

14,739

$

2,895

Earnings (Loss) per share:

Basic

$

0.53

$

0.12

$

1.08

$

0.22

Diluted

$

0.51

$

0.11

$

1.05

$

0.21

Weighted-average shares outstanding:

Basic

 

13,930

 

13,462

 

13,753

 

13,357

Diluted

 

14,358

 

13,709

 

14,130

 

13,563

See accompanying notes to Condensed Consolidated Financial Statements.

4

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(in thousands)

(Unaudited)

Accumulated

Additional

Other

Common Stock

Paid-in

Comprehensive

Retained

    

Shares

    

Amount

    

Capital

    

Income (Loss)

    

Earnings

    

Total

Balance at December 29, 2023

 

13,682

$

137

$

185,795

$

(664)

$

14,577

$

199,845

Shares of common stock issued in connection with employee stock purchase plan

 

86

1

1,401

1,402

Shares of common stock issued in connection with incentive stock plan

19

281

281

Shares used to pay taxes on stock grants

 

(32)

(1)

(778)

(779)

Issuance of restricted stock award and units

62

1

(1)

Stock-based compensation expense

 

1,390

1,390

Net income (loss)

 

2,942

2,942

Net unrealized gain on derivative contracts

434

434

Balance at March 29, 2024

 

13,817

$

138

$

188,088

$

(230)

$

17,519

$

205,515

Shares of common stock issued in connection with incentive stock plan

86

1

855

856

Shares used to pay taxes on stock grants

 

(6)

(6)

Issuance of restricted stock award and units

13

Stock-based compensation expense

 

1,945

1,945

Net income (loss)

 

4,594

4,594

Net unrealized gain on derivative contracts

101

101

Balance at June 28, 2024

 

13,916

$

139

$

190,882

$

(129)

$

22,113

$

213,005

Shares of common stock issued in connection with employee stock purchase plan

 

78

1

1,435

1,436

Shares of common stock issued in connection with incentive stock plan

92

1

1,287

1,288

Shares used to pay taxes on stock grants

 

(12)

(456)

(456)

Issuance of restricted stock award and units

43

Stock-based compensation expense

 

2,020

2,020

Net income (loss)

 

7,346

7,346

Net unrealized gain on derivative contracts

(678)

(678)

Balance at September 27, 2024

 

14,117

$

141

$

195,168

$

(807)

$

29,459

$

223,961

See accompanying notes to Condensed Consolidated Financial Statements.

5

Accumulated

Additional

Other

Common Stock

Paid-in

Comprehensive

Retained

    

Shares

    

Amount

    

Capital

    

Income (Loss)

    

Earnings

    

Total

Balance at December 30, 2022

 

13,296

$

133

$

177,718

$

$

3,651

$

181,502

Shares of common stock issued in connection with employee stock purchase plan

 

92

1

1,391

1,392

Shares used to pay taxes on stock grants

 

(7)

(124)

(124)

Issuance of restricted stock award and units

108

1

(1)

Stock-based compensation expense

 

1,533

1,533

Net income (loss)

 

932

932

Balance at March 31, 2023

 

13,489

$

135

$

180,517

$

$

4,583

$

185,235

Shares of common stock issued in connection with incentive stock plan

2

7

7

Shares used to pay taxes on stock grants

 

(4)

(64)

(64)

Issuance of restricted stock award and units

17

Stock-based compensation expense

 

1,287

1,287

Net income (loss)

 

397

397

Balance at June 30, 2023

 

13,504

$

135

$

181,747

$

$

4,980

$

186,862

Shares of common stock issued in connection with employee stock purchase plan

 

91

1

1,386

1,387

Shares of common stock issued in connection with incentive stock plan

9

31

31

Shares used to pay taxes on stock grants

 

(1)

(17)

(17)

Issuance of restricted stock award and units

44

Stock-based compensation expense

 

1,244

1,244

Net income (loss)

 

1,566

1,566

Balance at September 29, 2023

 

13,647

$

136

$

184,391

$

$

6,546

$

191,073

See accompanying notes to Condensed Consolidated Financial Statements.

6

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(in thousands)

(Unaudited)

Nine Months Ended

September 27,

September 29,

    

2024

    

2023

Cash flows from operating activities:

Net income (loss)

$

14,882

$

2,895

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

Depreciation and amortization

 

10,937

 

12,518

Other non-cash items

459

511

Deferred income taxes, net

 

1,300

 

1,196

(Gain) loss on sale/disposal of equipment

 

(13)

 

(63)

Provision for doubtful accounts

 

806

 

194

Stock-based compensation

 

5,355

 

4,064

Changes in operating assets and liabilities, net of effects from business acquisitions:

Accounts receivable

 

5,762

 

(6,335)

Contract assets

 

(10,351)

 

4,530

Other receivables

 

(1,190)

 

3,306

Prepaid expenses and other current assets

 

(1,441)

 

1,175

Other assets

 

1,456

 

(4,993)

Accounts payable

 

4,814

 

3,922

Accrued liabilities

 

3,910

 

(2,658)

Contract liabilities

 

2,019

 

2,821

Right-of-use assets

 

(94)

 

1,029

Net cash (used in) provided by operating activities

 

38,611

 

24,112

Cash flows from investing activities:

Purchase of equipment, software, and leasehold improvements

 

(6,074)

 

(7,583)

Proceeds from sale of equipment

29

68

Cash paid for acquisitions, net of cash acquired

(1,600)

Net cash (used in) provided by investing activities

 

(6,045)

 

(9,115)

Cash flows from financing activities:

Payments on contingent consideration

 

 

(4,000)

Payment on restricted cash

(10,679)

Payments on notes payable

(190)

(1,463)

Payments on debt issuance costs

(1,114)

Borrowings under term loan facility and line of credit

105,000

Repayments under term loan facility and line of credit

(5,625)

(111,000)

Principal payments on finance leases

 

(1,064)

 

(951)

Proceeds from stock option exercise

 

2,425

 

38

Proceeds from sales of common stock under employee stock purchase plan

 

2,838

 

2,779

Cash used to pay taxes on stock grants

(1,241)

(205)

Net cash (used in) provided by financing activities

 

(2,857)

 

(21,595)

Net increase (decrease) in cash, cash equivalents and restricted cash

 

29,709

 

(6,598)

Cash, cash equivalents and restricted cash at beginning of period

 

23,397

 

19,485

Cash, cash equivalents and restricted cash at end of period

$

53,106

$

12,887

Supplemental disclosures of cash flow information:

Cash paid (received) during the period for:

Interest

$

5,301

$

8,025

Income taxes

 

1,203

 

(3,154)

Supplemental disclosures of noncash investing and financing activities:

Equipment acquired under finance leases

1,322

652

See accompanying notes to Condensed Consolidated Financial Statements.

7

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

1. ORGANIZATION AND OPERATIONS OF THE COMPANY

Willdan Group, Inc. (“Willdan” or the “Company”) is a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, the Company helps organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions and government infrastructure. Through engineering, program management, policy advisory, and software and data management, the Company designs and delivers trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure.

The Company’s broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of the Company’s strategy to design and deliver trusted, comprehensive, innovative, and proven solutions for its customers.

The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, Organization and Operations of the Company, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.

Fiscal Years

The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2024, which ends on December 27, 2024, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2023, which ended on December 29, 2023, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.

Use of Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

Reclassifications

Certain prior year amounts have been reclassified in the condensed consolidated financial statements to conform to the current year presentation.

8

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

2. RECENT ACCOUNTING PRONOUNCEMENTS

Accounting Pronouncements Recently Issued

In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”). ASU 2023-09 amends the rules on income tax disclosures to require entities to disclose specific categories in the rate reconciliation, the income or loss from continuing operations before income tax expense or benefit (separated between domestic and foreign) and income tax expense or benefit from continuing operations (separated by federal, state, and foreign). In addition, ASU 2023-09 requires entities to disclose their income tax payments to international, federal, state, and local jurisdictions, among other changes. The amendments can be applied on a prospective basis although retrospective application is permitted. The amendments are effective for the annual reporting periods beginning after December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact this update will have on its Consolidated Financial Statements.

In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” (“ASU 2023-07”). ASU 2023-07 expands segment disclosure requirements through enhanced disclosures related to significant segment expenses that are regularly provided to the chief operating decision maker (“CODM”), a description of other segment items by reportable segment, and any additional measures of a segment’s profit or loss used by the CODM when deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The amendments are effective for the fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact this update will have on its Consolidated Financial Statements.

  

In October 2023, the FASB issued ASU No. 2023-06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023-06”). ASU 2023-06 amends U.S. GAAP to reflect updates and simplifications to certain disclosure and presentation requirements referred to FASB by the SEC. The targeted amendments incorporate 14 of the 27 disclosures referred by the SEC into codification. Each amendment in ASU 2023-06 is effective on either the date on which the SEC’s removal of the related disclosure requirement from Regulation S-X or Regulation S-K becomes effective, or on June 30, 2027, if the SEC has not removed the requirements by that date. The Company does not believe the amendments in ASU 2023-06 will have a material impact in any of the Company’s current disclosures.

 

 

9

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

3. REVENUES

The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.

The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.

Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and, usually, are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, which usually is the life of the contract.

10

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.

The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.

Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.

The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.

In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.

Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.

11

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.

The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.

Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.

The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.

Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.

Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.

12

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying condensed consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.

Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.

Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.

Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of September 27, 2024 and December 29, 2023, contract assets included retainage of approximately $18.9 million and $14.3 million, respectively.

 

 

 

13

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

4. SUPPLEMENTAL FINANCIAL STATEMENT DATA

Restricted Cash

The following table provides a reconciliation of cash and cash equivalents, and restricted cash reported within the condensed consolidated balance sheets to the total cash, cash equivalents, and restricted cash shown in the consolidated statements of cash flows:

September 27,

December 29,

    

2024

    

2023

(in thousands)

Cash and cash equivalents

$

53,106

$

23,397

Restricted cash

 

 

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

$

53,106

$

23,397

 

Under certain utility contracts, the Company periodically receives cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. The Company acts solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, the Company classifies these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on the Company’s working capital or operating cash flows, these cash receipts are presented in the condensed consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”

Equipment and Leasehold Improvements

September 27,

December 29,

    

2024

    

2023

(in thousands)

Furniture and fixtures

$

4,501

$

4,379

Computer hardware and software

 

50,070

 

44,594

Leasehold improvements

 

3,551

 

3,382

Equipment under finance leases

 

6,969

 

6,139

Automobiles, trucks, and field equipment

 

3,551

 

3,373

Subtotal

 

68,642

 

61,867

Accumulated depreciation and amortization

 

(39,687)

 

(34,770)

Equipment and leasehold improvements, net

$

28,955

$

27,097

 

Included in accumulated depreciation and amortization is $1.1 million and $1.3 million of amortization expense related to equipment held under finance leases for the nine months ended September 27, 2024 and for fiscal year 2023, respectively.

14

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Accrued Liabilities

September 27,

December 29,

    

2024

    

2023

(in thousands)

Accrued subcontractor costs

$

32,122

$

30,196

Accrued bonuses

13,331

14,423

Employee withholdings

 

4,079

 

3,123

Compensation and payroll taxes

 

4,705

 

3,125

Rebate and other

139

Accrued accounting costs and taxes

 

4,284

 

3,123

Total accrued liabilities

$

58,521

$

54,129

 

Goodwill

December 29,

Additional

Additions /

September 27,

    

2023

    

Purchase Cost

    

Adjustments

    

2024

(in thousands)

Reporting Unit:

Energy

$

129,375

$

$

$

129,375

Engineering and Consulting

1,769

1,769

$

131,144

$

$

$

131,144

 

The Company tests its goodwill at least annually for possible impairment. The Company completes its annual testing of goodwill as of the last day of the first month of its fourth fiscal quarter each year to determine whether there is a potential impairment. In addition to the Company’s annual test, it regularly evaluates whether events and circumstances have occurred that may indicate a potential impairment of goodwill. The Company evaluated the current economic environment and noted that it does not believe it is more likely than not that goodwill was impaired as of September 27, 2024.

Intangible Assets

September 27, 2024

December 29, 2023

Gross

Accumulated

Gross

Accumulated

Amortization

    

Amount

    

Amortization

    

Amount

    

Amortization

    

Period

(in thousands)

(in years)

Finite:

Backlog

$

8,306

$

8,306

$

8,306

$

8,095

1.0

Tradename

15,936

13,074

15,936

12,695

 

2.5

-

6.0

Non-compete agreements

1,613

1,476

1,613

1,440

4.0

-

5.0

Developed technology

15,810

15,121

15,810

14,521

8.0

Customer relationships

58,149

35,296

58,149

31,107

5.0

-

8.0

Total intangible assets

$

99,814

$

73,273

$

99,814

$

67,858

 

 

15

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

5. DERIVATIVE FINANCIAL INSTRUMENTS

The Company uses certain interest rate derivative contracts to hedge interest rate exposures on its variable rate debt. The Company’s hedging program is not designated for trading or speculative purposes.

The Company recognizes derivative instruments as either assets or liabilities on the accompanying condensed consolidated balance sheets at fair value. The Company records changes in the fair value (i.e., gains or losses) of the derivatives that have been designated as cash flow hedges in its consolidated balance sheets as accumulated other comprehensive income (loss), and in its consolidated statements of comprehensive income (loss) as unrealized gain or loss on derivative contracts. All related cash flows are reported in the operating activities section of the consolidated statements of cash flows.

On November 30, 2023, the Company entered into an interest rate swap agreement that the Company designated as cash flow hedge to fix the variable interest rate on a portion of the Company’s term loan (see Note 6, “Debt Obligations” for information regarding our indebtedness). The interest rate swap agreement has a total notional amount of $50.0 million, has a fixed annual interest rate of 4.77%, and expires on September 29, 2026. As of September 27, 2024, the effective portion of the Company’s interest rate swap agreement designated as a cash flow hedge before tax effects was $(0.8) million, of which no amounts were reclassified from accumulated other comprehensive income (loss) to interest expense in the three nor nine months ended September 27, 2024. The Company expects to reclassify $0.4 million from accumulated other comprehensive income (loss) to interest expense within the next twelve months.

The fair values of the Company’s outstanding derivatives designated as hedging instruments were as follows:

    

    

Fair Value of Derivative

    

    

Instruments as of

Balance Sheet Location

September 27, 2024

December 29, 2023

(in thousands)

Interest rate swap agreement

Current assets

$

$

46

Interest rate swap agreement

Accrued liabilities

(339)

Interest rate swap agreement

Other noncurrent liabilities

(683)

(887)

 

The impact of the effective portions of derivative instruments in cash flow hedging relationships and fair value relationships on other comprehensive income (loss) were $(0.7) million and $(0.1) million for the three and nine months ended September 27, 2024.

16

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The accumulated balances and reporting period activities for the periods below related to reclassifications out of accumulated other comprehensive income (loss) are summarized as follows:

Gain (Loss) on

Accumulated Other

    

Derivative Instruments

    

Comprehensive Income (Loss)

(in thousands)

Balances at December 29, 2023

$

(664)

$

(664)

Other comprehensive income (loss) before reclassifications

549

549

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

(115)

(115)

Net current-period other comprehensive income (loss)

434

434

Balances at March 29, 2024

$

(230)

$

(230)

Other comprehensive income (loss) before reclassifications

127

127

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

(26)

(26)

Net current-period other comprehensive income (loss)

101

101

Balances at June 28, 2024

$

(129)

$

(129)

Other comprehensive income (loss) before reclassifications

(858)

(858)

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

180

180

Net current-period other comprehensive income (loss)

(678)

(678)

Balances at September 27, 2024

$

(807)

$

(807)

17

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

6. DEBT OBLIGATIONS

Debt obligations, excluding obligations under finance leases (see Note 7, “Leases”, below), consisted of the following:

    

September 27,

    

December 29,

2024

2023

(in thousands)

Outstanding borrowings on Term Loan

$

92,500

$

98,125

Outstanding borrowings on Revolving Credit Facility

Other debt agreements

137

327

Total debt

92,637

98,452

Issuance costs and debt discounts

(743)

(1,021)

Subtotal

91,894

97,431

Less current portion of long-term debt

 

10,137

 

8,452

Long-term debt portion

$

81,757

$

88,979

 

The credit agreement governing the Company’s Term Loan and Revolving Credit Facility require the Company to comply with certain financial obligations, including a maximum Net Leverage Ratio and a minimum Fixed Charge Coverage Ratio (as defined in the credit agreement governing the Term Loan and Revolving Credit Facility). The credit agreement also contains customary restrictive covenants. As of September 27, 2024, the Company was in compliance with all these covenants.

In addition, as of September 27, 2024, the Company’s composite interest rate, exclusive of the effects of upfront fees, undrawn fees and issuance cost amortization, was 7.2%.

18

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

7. LEASES

The Company leases certain office facilities under long-term, non-cancellable operating leases that expire at various dates through 2029. In addition, the Company is obligated under finance leases for certain furniture and office equipment that expire at various dates through 2029.

From time to time, the Company enters into non-cancelable leases for some of its facility and equipment needs. These leases allow the Company to conserve cash by paying a monthly lease rental fee for the use of facilities and equipment rather than purchasing them. The Company’s leases typically have remaining terms ranging from one to eight years, some of which may include options to extend the leases for up to five years, and some of which may include options to terminate the leases within one year. Currently, all of the Company’s leases contain fixed payment terms. The Company may decide to cancel or terminate a lease before the end of its term, in which case the Company is typically liable to the lessor for the remaining lease payments under the term of the lease. Additionally, all of the Company’s month-to-month leases are cancelable by the Company or the lessor, at any time, and are not included in the Company’s right-of-use asset or lease liability. As of September 27, 2024, the Company had no leases with residual value guarantees. Typically, the Company has purchase options on the equipment underlying its long-term leases. The Company may exercise some of these purchase options when the need for equipment is on-going and the purchase option price is attractive. Nonperformance-related default covenants, cross-default provisions, subjective default provisions and material adverse change clauses contained in material lease agreements, if any, are also evaluated to determine whether those clauses affect lease classification in accordance with ASC Topic 842-10-25. Leases are accounted for as operating or financing leases, depending on the terms of the lease.

Financing Leases

The Company leases certain equipment under financing leases. The economic substance of the leases is a financing transaction for acquisition of equipment and leasehold improvements. Accordingly, the right-of-use assets for these leases are included in the balance sheets in equipment and leasehold improvements, net of accumulated depreciation, with a corresponding amount recorded in current portion of financing lease obligations or noncurrent portion of financing lease obligations, as appropriate. The financing lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The interest associated with financing lease obligations is included in interest expense.

Right-of-use assets

Operating leases are included in right-of-use assets, and current portion of lease liability and noncurrent portion of lease liability, as appropriate. Right-of-use assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Company’s leases do not provide an implicit rate to calculate present value, the Company determines this rate by estimating the Company’s incremental borrowing rate at the lease commencement date. The right-of-use asset also includes any lease payments made and initial direct costs incurred at lease commencement and excludes lease incentives. The Company’s lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.

19

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The following is a summary of the Company’s lease expense:

Three Months Ended

Nine Months Ended

September 27,

September 29,

September 27,

September 29,

2024

    

2023

    

2024

    

2023

(in thousands)

(in thousands)

Operating lease cost

$

1,522

$

1,464

$

4,579

$

4,621

Sublease Income

(14)

(30)

(42)

(30)

Finance lease cost:

Amortization of assets

392

340

1,114

969

Interest on lease liabilities

46

28

112

74

Total net lease cost

$

1,946

$

1,802

$

5,763

$

5,634

 

The following is a summary of lease information presented on the Company’s consolidated balance sheet:

September 27,

    

December 29,

2024

2023

(in thousands)

Operating leases:

Right-of-use assets

$

14,366

$

12,465

 

 

Lease liability

$

5,509

$

4,537

Lease liability, less current portion

 

10,593

 

9,758

Total lease liabilities

$

16,102

$

14,295

 

 

Finance leases (included in equipment and leasehold improvements, net):

Equipment and leasehold improvements, net

$

6,969

$

6,139

Accumulated depreciation

 

(4,458)

 

(3,837)

Total equipment and leasehold improvements, net

$

2,511

$

2,302

 

Finance lease obligations

$

1,175

$

1,186

Finance lease obligations, less current portion

1,453

1,184

Total finance lease obligations

$

2,628

$

2,370

Weighted average remaining lease term (in years):

Operating Leases

3.05

3.43

Finance Leases

2.49

2.31

Weighted average discount rate:

Operating Leases

6.91

%

6.09

%

Finance Leases

6.68

%

5.19

%

 

Rent expense was $1.7 million and $5.2 million for the three and nine months ended September 27, 2024, respectively, as compared to $1.7 million and $5.1 million for the three and nine months ended September 29, 2023, respectively.

20

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The following is a summary of other information and supplemental cash flow information related to finance and operating leases:

Nine Months Ended

September 27,

September 29,

2024

    

2023

(in thousands)

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

Operating cash flow from operating leases

$

4,707

$

4,318

Operating cash flow from finance leases

112

74

Financing cash flow from finance leases

1,064

951

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

Operating leases

$

5,757

$

4,316

 

The following is a summary of the maturities of lease liabilities as of September 27, 2024:

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2024

$

1,588

$

438

2025

 

6,278

 

1,158

2026

 

5,100

824

2027

2,667

313

2028

1,673

 

94

2029 and thereafter

 

750

 

27

Total lease payments

18,056

2,854

Less: Imputed interest

 

(1,954)

(226)

Total lease obligations

 

16,102

2,628

Less: Current obligations

 

5,509

1,175

Noncurrent lease obligations

$

10,593

$

1,453

 

The imputed interest for finance lease obligations represents the interest component of finance leases that will be recognized as interest expense in future periods. The financing component for operating lease obligations represents the effect of discounting the operating lease payments to their present value.

21

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

8. COMMITMENTS AND VARIABLE INTEREST ENTITIES

Employee Benefit Plans

The Company has a qualified profit sharing plan pursuant to Code Section 401(a) and qualified cash or deferred arrangement pursuant to Code Section 401(k) covering all employees. Employees may elect to contribute up to 50% of their compensation limited to the amount allowed by tax laws. Company contributions are made solely at the discretion of the Company’s board of directors.

The Company’s defined contribution plan (the “Plan”) covers employees who have completed three months of service and who have attained 21 years of age. The Company elects to make matching contributions equal to 50% of the participants’ contributions to the Plan, up to 6% of the individual participant’s compensation, and subject to a maximum of $3,000 per employee. Under the Plan, the Company may make discretionary contributions to employee accounts.

During the nine months ended September 27, 2024 and September 29, 2023, the Company made matching contributions of $2.1 million and $1.9 million, respectively.

Variable Interest Entities

On March 4, 2016, the Company and the Company’s wholly-owned subsidiary, Willdan Energy Solutions, Inc. (“WES”), acquired substantially all of the assets of Genesys Engineering, P.C. (“Genesys”) and assumed certain specified liabilities of Genesys (collectively, the “Purchase”) pursuant to an Asset Purchase and Merger Agreement, dated as of February 26, 2016 (the “Agreement”), by and among Willdan Group, Inc., WES, WESGEN (as defined below), Genesys and Ronald W. Mineo (“Mineo”) and Robert J. Braun (“Braun” and, together with Mineo, the “Genesys Shareholders”). On March 5, 2016, pursuant to the terms of the Agreement, WESGEN, Inc., a non-affiliated corporation (“WESGEN”), merged (the “Merger” and, together with the Purchase, the “Acquisition”) with Genesys, with Genesys remaining as the surviving corporation. Genesys was acquired to strengthen the Company’s power engineering capability in the northeastern U.S., and also to increase client exposure and experience with universities.

Genesys continues to be a professional corporation organized under the laws of the State of New York, wholly-owned by one or more licensed engineers. Pursuant to New York law, the Company does not own capital stock of Genesys. The Company has entered into an agreement with the Shareholder of Genesys pursuant to which the Shareholder will be prohibited from selling, transferring or encumbering the Shareholder’s ownership interest in Genesys without the Company’s consent. Notwithstanding the Company’s rights regarding the transfer of Genesys’s stock, the Company does not have control over the professional decision making of Genesys’s engineering services. The Company has entered into an administrative services agreement with Genesys pursuant to which WES will provide Genesys with ongoing administrative, operational and other non-professional support services. Genesys pays WES a service fee, which consists of all of the costs incurred by WES to provide the administrative services to Genesys plus ten percent of such costs, as well as any other costs that relate to professional service supplies and personnel costs. As a result of the administrative services agreement, the Company absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES.

22

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The Company manages Genesys and has the power to direct the activities that most significantly impact Genesys’s performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, the Company is the primary beneficiary of Genesys and consolidates Genesys as a variable interest entity (“VIE”). In addition, the Company concluded there is no noncontrolling interest related to the consolidation of Genesys because the Company determined that (i) the shareholder of Genesys does not have more than a nominal amount of equity investment at risk, (ii) WES absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES and the Company has, since entering into the administrative services agreement, had to continuously defer service fees for Genesys, and (iii) the Company believes Genesys will continue to have a shortfall on payment of its service fees for the foreseeable future, leaving no expected residual returns for the shareholder. As of September 27, 2024, the Company had one VIE — Genesys.

23

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

9. SEGMENT AND GEOGRAPHICAL INFORMATION

Segment Information

The Company’s two segments are Energy, and Engineering and Consulting, and the Company’s chief operating decision maker, which continues to be its chief executive officer, receives and reviews financial information in this format.

There were no intersegment sales during the three and nine months ended September 27, 2024 and September 29, 2023. The Company’s chief operating decision maker evaluates the performance of each segment based upon income or loss from operations before income taxes. Certain segment asset information including expenditures for long-lived assets has not been presented as it is not reported to or reviewed by the chief operating decision maker. In addition, enterprise-wide service line contract revenue is not included as it is impracticable to report this information for each group of similar services.

Financial information with respect to the reportable segments and reconciliation to the amounts reported in the Company’s Condensed Consolidated Financial Statements is as follows:

Engineering

Unallocated

Consolidated

    

Energy

    

& Consulting

    

Corporate

    

Intersegment

    

Total

(in thousands)

Fiscal Three Months Ended September 27, 2024

Contract revenue

$

134,036

$

24,216

$

-

$

-

$

158,252

Depreciation and amortization

3,337

379

-

-

3,716

Interest expense, net

-

-

1,934

-

1,934

Segment profit (loss) before income tax expense

6,176

4,280

(2,953)

-

7,503

Income tax expense (benefit)

(25)

85

97

-

157

Net income (loss)

6,202

4,194

(3,050)

-

7,346

Segment assets (1)

348,617

29,523

92,243

(23,130)

447,253

Fiscal Three Months Ended September 29, 2023

Contract revenue

$

111,030

$

21,708

$

-

$

-

$

132,738

Depreciation and amortization

3,854

336

-

-

4,190

Interest expense, net

2

-

2,435

-

2,437

Segment profit (loss) before income tax expense

2,814

2,853

(3,388)

-

2,279

Income tax expense (benefit)

852

728

(867)

-

713

Net income (loss)

1,961

2,127

(2,522)

-

1,566

Segment assets (1)

340,422

26,901

57,427

(23,130)

401,620

Fiscal Nine Months Ended September 27, 2024

Contract revenue

$

352,634

$

69,103

$

-

$

-

$

421,737

Depreciation and amortization

9,800

1,137

-

-

10,937

Interest expense, net

-

-

6,031

-

6,031

Segment profit (loss) before income tax expense

15,886

9,608

(8,749)

-

16,745

Income tax expense (benefit)

1,767

1,069

(973)

-

1,863

Net income (loss)

14,119

8,539

(7,776)

-

14,882

Segment assets (1)

348,617

29,523

92,243

(23,130)

447,253

Fiscal Nine Months Ended September 29, 2023

Contract revenue

$

292,330

$

62,088

$

-

$

-

$

354,418

Depreciation and amortization

11,655

863

-

-

12,518

Interest expense, net

5

-

7,105

-

7,110

Segment profit (loss) before income tax expense

6,188

8,658

(10,239)

-

4,607

Income tax expense (benefit)

2,300

3,218

(3,806)

-

1,712

Net income (loss)

3,888

5,440

(6,433)

-

2,895

Segment assets (1)

340,422

26,901

57,427

(23,130)

401,620

(1)Segment assets are presented net of intercompany receivables.

 

24

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The following tables provide information about disaggregated revenue by contract type, client type and geographical region:

    

Three months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,953

$

17,767

$

25,720

Unit-based

52,487

4,993

57,480

Fixed price

73,596

1,456

75,052

Total (1)

$

134,036

$

24,216

$

158,252

Client Type

Commercial

$

7,964

$

1,968

$

9,932

Government

61,115

22,155

83,270

Utilities (2)

64,957

93

65,050

Total (1)

$

134,036

$

24,216

$

158,252

Geography (3)

Domestic

$

134,036

$

24,216

$

158,252

    

Nine months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

25,190

$

51,193

$

76,383

Unit-based

147,022

14,375

161,397

Fixed price

180,422

3,535

183,957

Total (1)

$

352,634

$

69,103

$

421,737

Client Type

Commercial

$

23,858

$

5,281

$

29,139

Government

148,403

63,614

212,017

Utilities (2)

180,373

208

180,581

Total (1)

$

352,634

$

69,103

$

421,737

Geography (3)

Domestic

$

352,634

$

69,103

$

421,737

25

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

    

Three months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

9,382

$

16,629

$

26,011

Unit-based

42,119

4,182

46,301

Fixed price

59,529

897

60,426

Total (1)

$

111,030

$

21,708

$

132,738

Client Type

Commercial

$

7,448

$

1,588

$

9,036

Government

52,410

20,054

72,464

Utilities (2)

51,172

66

51,238

Total (1)

$

111,030

$

21,708

$

132,738

Geography (3)

Domestic

$

111,030

$

21,708

$

132,738

    

Nine months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

26,038

$

47,626

$

73,664

Unit-based

126,946

11,616

138,562

Fixed price

139,346

2,846

142,192

Total (1)

$

292,330

$

62,088

$

354,418

Client Type

Commercial

$

21,607

$

4,128

$

25,735

Government

119,028

57,759

176,787

Utilities (2)

151,695

201

151,896

Total (1)

$

292,330

$

62,088

$

354,418

Geography (3)

Domestic

$

292,330

$

62,088

$

354,418

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from the Company’s foreign operations were not material for the three and nine months ended September 27, 2024 and September 29, 2023.

 

Geographical Information

Substantially all of the Company’s consolidated revenue was derived from its operations in the U.S. The Company operates through a network of offices spread across 22 U.S. states, the District of Columbia, the Commonwealth of Puerto Rico, and Canada. Revenues from the Company’s Puerto Rican and Canadian operations were not material for the three and nine months ended September 27, 2024, nor for the three and nine months ended September 29, 2023.

26

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Customer Concentration

For the three and nine months ended September 27, 2024, the Company’s top 10 customers accounted for 49.1%, and 49.5%, respectively, of the Company’s consolidated contract revenue. For the three and nine months ended September 29, 2023, the Company’s top 10 customers accounted for 52.9%, and 50.6%, respectively, of the Company’s consolidated contract revenue.

For the three and nine months ended September 27, 2024 and September 29, 2023, the Company had no individual customers that accounted for more than 10% of its consolidated contract revenue.

On a segment basis, the Company reports customers that accounted for more than 10% of its segment contract revenues.

For the three months ended September 27, 2024, the Company derived 22.1% of its Energy segment revenues from two customers, Southern California Edison and Clark County School District. For the nine months ended September 27, 2024, no single customer accounted for 10% or more of the Company’s Energy segment revenues. For the three and nine months ended September 27, 2024, no single customer accounted for 10% or more of the Company’s Engineering and Consulting segment revenues.

For the three months ended September 29, 2023, the Company derived 21.7% of its Energy segment revenues from two customers, Pueblo County School District and Dormitory Authority State of New York (“DASNY”). For the nine months ended September 29, 2023, the Company derived 22.7% of its Energy Segment revenues from two customers, the Los Angeles Department of Water and Power (“LADWP”) and DASNY. For the three and nine months ended September 29, 2023, no single customer accounted for 10% or more of the Company’s Engineering and Consulting segment revenues.  

On a geographical basis, the Company’s largest clients are based in California and New York. For the three and nine months ended September 27, 2024, services provided to clients in California accounted for 42.2% and 43.3%, respectively, of the Company’s consolidated contract revenue, and services provided to clients in New York accounted for 21.0% and 23.7%, respectively, of the Company’s consolidated contract revenue. For the three and nine months ended September 29, 2023, services provided to clients in California accounted for 42.8% and 42.2%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 23.6% and 24.7%, respectively, of the Company’s contract revenue.  

27

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

10. INCOME TAXES

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences of temporary differences between the financial reporting basis and tax basis of the Company’s assets and liabilities, subject to a judgmental assessment of the recoverability of deferred tax assets. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets may not be realized. Significant judgment is applied when assessing the need for valuation allowances and includes the evaluation of historical income (loss) adjusted for the effects of non-recurring items and the impact of recent business combinations. Areas of estimation include the Company’s consideration of future taxable income which is driven by verifiable signed contracts and ongoing prudent and feasible tax planning strategies. Should a change in circumstances lead to a change in judgment about the utilization of deferred tax assets in future years, the Company would adjust the related valuation allowances in the period that the change in circumstances occurs, along with a corresponding increase or charge to income.

At the end of fiscal year 2023, the Company’s total valuation allowance was $1.2 million, remaining unchanged from the end of fiscal year 2022. As of September 27, 2024, the Company assessed all available positive and negative evidence available to determine whether, based on the weight of that evidence, there was a change in judgment related to the utilization of deferred tax assets in future years. The Company concluded that as of September 27, 2024, the valuation allowance for the Company’s deferred tax assets was appropriate in accordance with ASC 740. Consequently, there was no change to the valuation allowance during the three and nine months ended September 27, 2024.

For acquired business entities, if the Company identifies changes to acquired deferred tax asset valuation allowances or liabilities related to uncertain tax positions during the measurement period and they relate to new information obtained about facts and circumstances that existed as of the acquisition date, those changes are considered a measurement period adjustment, and the Company records the offset to goodwill. The Company records all other changes to deferred tax asset valuation allowances and liabilities related to uncertain tax positions in current period income tax expense.

The Company recognizes the tax benefit from uncertain tax positions if it is more likely than not that the tax positions will be sustained on examination by the tax authorities, based on the technical merits of the position. The tax benefit is measured based on the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement. The Company recognizes interest and penalties related to unrecognized tax benefits in income tax expense. During the three and nine months ended September 27, 2024, and the three and nine months ended September 29, 2023, the Company did not record a liability for uncertain tax positions.

Based on the Company’s estimates and determination of an effective tax rate for the year, the Company recorded an income tax expense of $0.2 million and $1.9 million for the three and nine months ended September 27, 2024, respectively, compared to an income tax expense of $0.7 million and $1.7 million for the three and nine months ended September 29, 2023, respectively. During the three and nine months ended September 27, 2024, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, nondeductible executive compensation, deductions related to stock option exercises, research and development tax credits, and the energy-efficiency building deduction. During the three and nine months ended September 29, 2023, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the energy-efficiency building deduction.

28

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

11. EARNINGS PER SHARE (“EPS”)

Basic EPS is computed by dividing net income available to common stockholders by the weighted-average number of common shares outstanding. Diluted EPS is computed by dividing net income by the weighted-average number of common shares outstanding and dilutive potential common shares for the period. Potential common shares include the weighted-average dilutive effects of outstanding stock options and restricted stock awards using the treasury stock method.

The following table sets forth the number of weighted-average common shares outstanding used to compute basic and diluted EPS:

Three months ended

Nine months ended

September 27,

September 29,

September 27,

September 29,

    

2024

    

2023

    

2024

    

2023

(in thousands, except per share amounts)

Net income (loss)

$

7,346

$

1,566

$

14,882

$

2,895

Weighted-average common shares outstanding

 

13,930

 

13,462

 

13,753

 

13,357

Effect of dilutive stock options and restricted stock awards

 

428

 

247

 

377

 

206

Weighted-average common shares outstanding-diluted

 

14,358

 

13,709

 

14,130

 

13,563

Earnings (Loss) per share:

Basic

$

0.53

$

0.12

$

1.08

$

0.22

Diluted

$

0.51

$

0.11

$

1.05

$

0.21

 

For the three months ended September 27, 2024, the Company did not exclude any shares subject to outstanding equity awards from the calculation of diluted shares. For the nine months ended September 27, 2024, the Company excluded 269,000 common shares subject to outstanding equity awards from the calculation of diluted shares because their impact would have been anti-dilutive. For the three and nine months ended September 29, 2023, the Company excluded 363,000 and 389,000 common shares subject to outstanding equity awards, respectively, from the calculation of diluted shares because their impact would have been anti-dilutive.

29

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

12. CONTINGENCIES

Claims and Lawsuits

The Company is subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.

In accordance with accounting standards regarding loss contingencies, the Company accrues an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and discloses the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for the Company’s financial statements not to be misleading. The Company does not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.

Because litigation outcomes are inherently unpredictable, the Company’s evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of the Company’s financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then the Company will disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on the Company’s earnings in any given reporting period. However, in the opinion of the Company’s management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on the Company’s financial statements.

30

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

13. SUBSEQUENT EVENTS

In accordance with ASC Topic 855, Subsequent Events, the Company evaluates subsequent events up until the date the Condensed Consolidated Financial Statements are issued.

On October 23, 2024 (the “Enica Closing Date”), the Company, through its wholly owned subsidiary, WES, acquired substantially all of the assets of Enica Engineering, PLLC. (“Enica”), pursuant to the terms of the Asset Purchase Agreement, dated as of October 23, 2024 (the “Enica Agreement”), by and among the Company, WES, Genesys, Enica, and Reed Berinato (“Berinato”) and Mark Prewett (“Prewett” and, together with Berinato, the “Enica Members”). 

Pursuant to the terms of the Enica Agreement, the purchase price consists of (i) $12.0 million to be paid in cash on the Enica Closing Date (subject to holdbacks and adjustments) and (ii) up to $6.0 million in cash if Enica exceeds certain financial targets during the two years after the Enica Closing Date; for a potential maximum purchase price of $18.0 million.

The Enica Agreement contains customary representations and warranties regarding the Company, WES, Genesys, Enica, and the Enica members, indemnification provisions and other provisions customary for transactions of this nature. Pursuant to the terms of the Agreement, the Company, WES, and Genesys provided guarantees to the Enica Members which guarantee certain of Enica’s obligations under the Enica Agreement.

The Company used cash on hand to fund the initial purchase price.

Enica is an energy efficiency company that provides an array of services around energy projects, metering, and consulting services to help its customers drive energy efficiency, decarbonization, and energy reduction. Enica’s financial information will be included within the Company’s Energy segment beginning in the fourth quarter of fiscal year 2024 and the Company expects to finalize the purchase price allocation related to this transaction by the end of the second quarter of fiscal year 2025.

31

ITEM 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

Our Company

We are a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, we help organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions, greenhouse gas reduction, and government infrastructure. Through engineering, program management, policy advisory, and software and data management, we plan, design and deliver trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure to our clients.

Our broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of our strategy to design and deliver trusted, comprehensive, innovative, and proven solutions and services for our customers.

Our Energy segment provides specialized, innovative, comprehensive energy solutions to businesses, utilities, state agencies, municipalities, and non-profit organizations in the U.S. Our experienced engineers, consultants, and staff help our clients realize cost and energy savings by tailoring efficient and cost-effective solutions to assist in optimizing energy spend. Our energy efficiency services include comprehensive audit and surveys, program design, master planning, demand reduction, grid optimization, benchmarking analyses, design engineering, construction management, performance contracting, installation, alternative financing, measurement and verification services, and advances in software and data analytics for long-term planning.

Our Engineering and Consulting segment provides civil engineering-related construction management, building and safety, city engineering office management, city planning, civil design, geotechnical, material testing and other engineering consulting services to our clients. Our engineering services include traffic, bridges, rail, port, water, mining and other civil engineering projects. We also provide economic and financial consulting to public agencies. Lastly, we supplement the engineering services that we offer our clients by offering expertise and support for the various financing techniques public agencies utilize to finance their operations and infrastructure. We also support the mandated reporting and other requirements associated with these financings. We provide financial advisory services for municipal securities but do not provide underwriting services.

32

Results of Operations

Third Quarter and Nine Months Overview

The following table sets forth, for the periods indicated, certain information derived from our condensed consolidated statements of comprehensive income(1):

Three Months Ended

September 27,

September 29,

     

2024

2023

$ Change

% Change

(in thousands, except percentages)

Contract revenue

$

158,252

     

100.0

%

     

$

132,738

     

100.0

%

     

$

25,514

     

19.2

%

Direct costs of contract revenue:

Salaries and wages

24,088

15.2

21,856

16.5

2,232

10.2

Subcontractor services and other direct costs

82,563

52.2

67,454

50.8

15,109

22.4

Total direct costs of contract revenue

106,651

67.4

89,310

67.3

17,341

19.4

Gross profit

51,601

32.6

43,428

32.7

8,173

18.8

General and administrative expenses:

Salaries and wages, payroll taxes and employee benefits

25,876

16.4

23,805

17.9

2,071

8.7

Facilities and facilities related

2,381

1.5

2,303

1.7

78

3.4

Stock-based compensation

2,020

1.3

1,244

0.9

776

62.4

Depreciation and amortization

3,716

2.3

4,190

3.2

(474)

(11.3)

Other

8,934

5.6

8,049

6.1

885

11.0

Total general and administrative expenses

42,927

27.1

39,591

29.8

3,336

8.4

Income (loss) from operations

8,674

5.5

3,837

2.9

4,837

126.1

Other income (expense):

Interest expense

(1,934)

(1.2)

(2,437)

(1.8)

503

(20.6)

Other, net

763

0.5

879

0.7

(116)

(13.2)

Total other income (expense)

(1,171)

(0.7)

(1,558)

(1.2)

387

(24.8)

Income (Loss) before income tax expense

7,503

4.7

2,279

1.7

5,224

229.2

Income tax expense (benefit)

157

0.1

713

0.5

(556)

(78.0)

Net income (loss)

$

7,346

4.6

$

1,566

1.2

$

5,780

369.1

(1)Percentages are expressed as a percentage of contract revenue and may not total due to rounding.

33

Nine Months Ended

September 27,

September 29,

2024

2023

$ Change

% Change

(in thousands, except percentages)

Contract revenue

    

$

421,737

    

100.0

%

    

$

354,418

     

100.0

%

    

$

67,319

     

19.0

%

Direct costs of contract revenue:

Salaries and wages

69,247

16.4

63,568

17.9

5,679

8.9

Subcontractor services and other direct costs

204,667

48.5

165,508

46.7

39,159

23.7

Total direct costs of contract revenue

273,914

64.9

229,076

64.6

44,838

19.6

Gross profit

147,823

35.1

125,342

35.4

22,481

17.9

General and administrative expenses:

Salaries and wages, payroll taxes and employee benefits

78,449

18.6

68,606

19.4

9,843

14.3

Facilities and facilities related

7,231

1.7

7,200

2.0

31

0.4

Stock-based compensation

5,355

1.3

4,064

1.1

1,291

31.8

Depreciation and amortization

10,937

2.6

12,518

3.5

(1,581)

(12.6)

Other

25,368

6.0

22,629

6.4

2,739

12.1

Total general and administrative expenses

127,340

30.2

115,017

32.5

12,323

10.7

Income (loss) from operations

20,483

4.9

10,325

2.9

10,158

98.4

Other income (expense):

Interest expense

(6,031)

(1.4)

(7,110)

(2.0)

1,079

(15.2)

Other, net

2,293

0.5

1,392

0.4

901

64.7

Total other income (expense)

(3,738)

(0.9)

(5,718)

(1.6)

1,980

(34.6)

Income (Loss) before income tax expense

16,745

4.0

4,607

1.3

12,138

263.5

Income tax expense (benefit)

1,863

0.4

1,712

0.5

151

8.8

Net income (loss)

$

14,882

3.5

$

2,895

0.8

$

11,987

414.1

(1)Percentages are expressed as a percentage of contract revenue and may not total due to rounding.

34

The following tables provides information about disaggregated revenue of our two segments, Energy and Engineering and Consulting, by contract type, client type and geographical region:

    

Three months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,953

$

17,767

$

25,720

Unit-based

52,487

4,993

57,480

Fixed price

73,596

1,456

75,052

Total (1)

$

134,036

$

24,216

$

158,252

Client Type

Commercial

$

7,964

$

1,968

$

9,932

Government

61,115

22,155

83,270

Utilities (2)

64,957

93

65,050

Total (1)

$

134,036

$

24,216

$

158,252

Geography (3)

Domestic

$

134,036

$

24,216

$

158,252

    

Nine months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

25,190

$

51,193

$

76,383

Unit-based

147,022

14,375

161,397

Fixed price

180,422

3,535

183,957

Total (1)

$

352,634

$

69,103

$

421,737

Client Type

Commercial

$

23,858

$

5,281

$

29,139

Government

148,403

63,614

212,017

Utilities (2)

180,373

208

180,581

Total (1)

$

352,634

$

69,103

$

421,737

Geography (3)

Domestic

$

352,634

$

69,103

$

421,737

35

    

Three months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

9,382

$

16,629

$

26,011

Unit-based

42,119

4,182

46,301

Fixed price

59,529

897

60,426

Total (1)

$

111,030

$

21,708

$

132,738

Client Type

Commercial

$

7,448

$

1,588

$

9,036

Government

52,410

20,054

72,464

Utilities (2)

51,172

66

51,238

Total (1)

$

111,030

$

21,708

$

132,738

Geography (3)

Domestic

$

111,030

$

21,708

$

132,738

    

Nine months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

26,038

$

47,626

$

73,664

Unit-based

126,946

11,616

138,562

Fixed price

139,346

2,846

142,192

Total (1)

$

292,330

$

62,088

$

354,418

Client Type

Commercial

$

21,607

$

4,128

$

25,735

Government

119,028

57,759

176,787

Utilities (2)

151,695

201

151,896

Total (1)

$

292,330

$

62,088

$

354,418

Geography (3)

Domestic

$

292,330

$

62,088

$

354,418

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from our foreign operations were not material for the three and nine months ended September 27, 2024 and September 29, 2023.

Three Months Ended September 27, 2024 Compared to Three Months Ended September 29, 2023

Contract revenue. Consolidated contract revenue increased $25.5 million, or 19.2%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023, due to incremental revenues in both our Energy segment and our Engineering and Consulting segment.

Contract revenue in our Energy segment increased $23.0 million, or 20.7%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023, primarily as a result of increased demand for energy efficiency and electrification services under utility programs and higher construction management revenues.

Contract revenue in our Engineering and Consulting segment increased $2.5 million, or 11.6%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023, primarily due to increased demand for services provided to our clients.

36

Direct costs of contract revenue. Direct costs of consolidated contract revenue increased $17.3 million, or 19.4%, for the three months ended September 27, 2024, compared to the three months ended September 29, 2023, primarily as a result of the increase, and change of mix, in contract revenues as described above. As a percentage of contract revenue, direct salaries and wages decreased to 15.2% in the three months ended September 27, 2024 from 16.5% in the three months ended September 29, 2023, while subcontractor services and other direct costs increased to 52.2% in the three months ended September 27, 2024 from 50.8% in the three months ended September 29, 2023.

Direct costs of contract revenue in our Energy segment increased $17.1 million, or 21.6%, for the three months ended September 27, 2024, compared to the three months ended September 29, 2023. Direct costs of contract revenue for the Engineering and Consulting segment increased $0.2 million, or 2.7%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023.

Subcontractor services and other direct costs increased by $15.1 million, or 22.4%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023, primarily due to the increase in utility program revenues and construction management revenues, which utilize a higher percentage of material cost and installation subcontracting. Salaries and wages increased by $2.2 million, or 10.2%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023, primarily as a result of the increases in contract revenue as described above.

Gross Profit. Gross profit increased 18.8% to $51.6 million, or 32.6% gross margin, for the three months ended September 27, 2024, compared to gross profit of $43.4 million, or 32.7% gross margin, for the three months ended September 29, 2023. The decrease in our gross margin was primarily driven by changes in the mix of revenues as described above.

General and administrative expenses. General and administrative (“G&A”) expenses increased $3.3 million, or 8.4%, in the three months ended September 27, 2024, compared to the three months ended September 29, 2023. G&A expenses consisted of an increase of $2.0 million in the Energy segment combined with an increase of $0.8 million in the Engineering and Consulting segment, and an increase of $0.5 million in unallocated corporate expenses.

Within G&A expenses, the increase of $2.1 million in salaries and wages, payroll taxes and employee benefits, combined with the increase of $0.9 million in other general and administrative expenses, and the increase of $0.8 million in stock-based compensation was partially offset by a decrease of $0.5 million in depreciation and amortization. The increase in salaries and wages, payroll taxes and employee benefits was primarily due to an increase in incentive compensation, consistent with the improvement in operating profit, and higher fringe benefit costs. The increase in other general and administrative expenses was primarily due to increased professional service fees and computer-related expenses. The increase in stock-based compensation expenses was primarily related to new stock grants to current employees and executives. The decrease in depreciation and amortization was primarily related to lower amortization of intangible assets from prior acquisitions.

Income (loss) from operations. Operating income increased to $8.7 million for the three months ended September 27, 2024, compared to an operating income of $3.8 million for the three months ended September 29, 2023, as a result of the factors noted above.

Total other expense, net. Total other expense, net, decreased $0.4 million, or 24.8%, for the three months ended September 27, 2024, compared to the three months ended September 29, 2023, primarily due to lower interest expense resulting from the reduced interest rate spread derived from lower debt leverage levels under our credit facilities.

Income tax expense (benefit). We recorded an income tax expense of $0.2 million for the three months ended September 27, 2024, an effective tax rate of 2.1% on income before income tax expense, compared to an income tax expense of $0.7 million for the three months ended September 29, 2023, an effective tax rate of 31.3% on income before tax expense. The reduction in the effective tax rate resulted from increases in discrete items related to stock compensation deductions and additional energy-efficiency building deductions.

37

Net income (loss). Our net income was $7.3 million for the three months ended September 27, 2024, as compared to a net income of $1.6 million for the three months ended September 29, 2023. The increase in net income was primarily attributable to the increase in income from operations combined with the decrease in total other expense, net and the lower effective tax rate.

Nine Months Ended September 27, 2024 Compared to Nine Months Ended September 29, 2023

Contract revenue. Consolidated contract revenue increased $67.3 million, or 19.0%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, due to incremental revenues in both our Energy segment and our Engineering and Consulting segment.

Contract revenue in our Energy segment increased $60.3 million, or 20.6%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, primarily as a result of higher construction management revenues and increased demand for energy and electrification services under utility programs.

Contract revenue in our Engineering and Consulting segment increased $7.0 million, or 11.3%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, primarily due to increased demand for services provided to our clients.

Direct costs of contract revenue. Direct costs of consolidated contract revenue increased $44.8 million, or 19.6%, for the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, primarily as a result of the increase, and change of mix, in contract revenues as described above. As a percentage of contract revenue, direct salaries and wages decreased to 16.4% in the nine months ended September 27, 2024 from 17.9% in the nine months ended September 29, 2023, while subcontractor services and other direct costs increased to 48.5% in the nine months ended September 27, 2024 from 46.7% in the nine months ended September 29, 2023.

Direct costs of contract revenue in our Energy segment increased $42.9 million, or 21.5%, for the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023. Direct costs of contract revenue for the Engineering and Consulting segment increased $1.9 million, or 6.5%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023.

Subcontractor services and other direct costs increased by $39.2 million, or 23.7%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, primarily due to the increase in construction management revenues and utility program revenues, which utilize a higher percentage of material cost and installation subcontracting. Salaries and wages increased by $5.7 million, or 8.9%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, primarily as a result of the increases in contract revenue as described above.

Gross Profit. Gross profit increased 17.9% to $147.8 million, or 35.1% gross margin, for the nine months ended September 27, 2024, compared to gross profit of $125.3 million, or 35.4% gross margin, for the nine months ended September 29, 2023. The decrease in our gross margin was primarily driven by changes in the mix of revenues as described above.

General and administrative expenses. G&A expenses increased $12.3 million, or 10.7%, in the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023. G&A expenses consisted of an increase of $7.4 million in the Energy segment combined with an increase of $4.1 million in the Engineering and Consulting segment, and an increase of $0.8 million in unallocated corporate expenses.

Within G&A expenses, the increase of $9.8 million in salaries and wages, payroll taxes and employee benefits, combined with the increase of $2.7 million in other general and administrative expenses, and the increase of $1.3 million in stock-based compensation was partially offset by a decrease of $1.6 million in depreciation and amortization. The increase in salaries and wages, payroll taxes and employee benefits was primarily due to an increase in incentive compensation, consistent with the improvement in operating profit, and higher fringe benefit costs. The increase in other general and administrative expenses was primarily due to increased professional service fees and computer-related

38

expenses. The increase in stock-based compensation expenses was primarily related to new stock grants to current employees and executives. The decrease in depreciation and amortization was primarily related to lower amortization of intangible assets from prior acquisitions.

Income (loss) from operations. Operating income increased 98.4% to $20.5 million for the nine months ended September 27, 2024, compared to an operating income of $10.3 million for the nine months ended September 29, 2023, as a result of the factors noted above.

Total other expense, net. Total other expense, net, decreased $2.0 million, or 34.6%, for the nine months ended September 27, 2024, compared to the nine months ended September 29, 2023, primarily due to lower interest expense resulting from the reduced interest rate spread derived from lower debt leverage levels under our credit facilities, combined with increased interest income related to our higher cash balances.

Income tax expense (benefit). We recorded an income tax expense of $1.9 million for the nine months ended September 27, 2024, an effective tax rate of 11.1% on income before income tax expense, compared to an income tax expense of $1.7 million for the nine months ended September 29, 2023, an effective tax rate of 37.2% on income before tax expense. The reduction in the effective tax rate resulted from increases in discrete items related to stock compensation deductions and additional energy-efficiency building deductions.

Net income (loss). Our net income was $14.9 million for the nine months ended September 27, 2024, as compared to a net income of $2.9 million for the nine months ended September 29, 2023. The increase in net income was primarily attributable to the increase in income from operations combined with the decrease in total other expense, net and the lower effective tax rate.

Liquidity and Capital Resources

Nine Months Ended

September 27,

September 29,

2024

2023

(in thousands)

Net cash provided by (used in):

    

Operating activities

    

$

38,611

    

$

24,112

Investing activities

(6,045)

(9,115)

Financing activities

(2,857)

(21,595)

Net increase (decrease) in cash and cash equivalents

$

29,709

$

(6,598)

Sources of Cash

Our primary sources of liquidity for the next 12 months and beyond are cash generated from operations, cash and cash equivalents, and available borrowings under our revolving credit facility under the Credit Agreement (the “Revolving Credit Facility”). We believe that our cash and cash equivalents, cash generated by operating activities, and available borrowings under our Revolving Credit Facility will be sufficient to finance our operating activities for at least the next 12 months.

As of September 27, 2024, we had a fully drawn $100 million term loan with $92.5 million outstanding (the “Term Loan”, and collectively with the Revolving Credit Facility, the “Credit Facilities”), and a $50.0 million Revolving Credit Facility with no borrowed amounts and $1.6 million in letters of credit issued, each scheduled to mature on September 29, 2026. In addition, as of September 27, 2024, we had $53.1 million of unrestricted cash and cash equivalents.

39

As of September 27, 2024, unhedged borrowings under our Credit Facilities, exclusive of the effects of upfront fees, undrawn fees and issuance cost amortization, bore interest at an annual rate of 7.2%. See Part I, Item 1, Note 6, “Debt Obligations”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, and Part II, Item 8, Note 6, “Debt Obligations”, of the Notes to Consolidated Financial Statements included in our Annual Report on Form 10-K for the fiscal year ended December 29, 2023, for information regarding our indebtedness, including information about borrowings and repayments, principal repayment terms, interest rates, covenants, and other key terms of our outstanding indebtedness.

Cash Flows from Operating Activities

Cash flows provided by operating activities were $38.6 million for the nine months ended September 27, 2024, as compared to cash flows provided by operating activities of $24.1 million for the nine months ended September 29, 2023. Cash flows from operating activities primarily consists of net income, adjusted for non-cash charges, such as depreciation and amortization and stock-based compensation, plus or minus changes in current operating assets and liabilities. Cash flows provided by operating activities for the nine months ended September 27, 2024, resulted primarily from the increase in earnings and lower working capital requirements. Cash flows provided by operating activities for the nine months ended September 29, 2023, resulted primarily from the increase in earnings, combined with lower working capital requirements.

Cash Flows from Investing Activities

Cash flows used in investing activities were $6.0 million for the nine months ended September 27, 2024, as compared to cash flows used in investing activities of $9.1 million for the nine months ended September 29, 2023. Cash flows used in investing activities for the nine months ended September 27, 2024 and for the nine months ended September 29, 2023, were primarily due to cash paid for the development of software and the purchase of computers and equipment.

Cash Flows from Financing Activities

Cash flows used in financing activities were $2.9 million for the nine months ended September 27, 2024, as compared to cash flows used in financing activities of $21.6 million for the nine months ended September 29, 2023. Cash flows used in financing activities for the nine months ended September 27, 2024 were primarily attributable to the repayments of $5.6 million under our Term Loan, $1.2 million cash used to pay withholding taxes on stock grants, and $1.0 million principal payments on finance leases, partially offset by $2.8 million of proceeds from sales of common stock under employee stock purchase plan and $2.4 million in proceeds from stock option exercises. Cash flows used in financing activities for the nine months ended September 29, 2023 were primarily attributable to the disbursement of $10.7 million in restricted cash for utility rebate incentives, payments of $4.0 million for contingent consideration related to prior acquisitions, combined with repayments and borrowings of $111.0 million and $105.0 million, respectively, under our term loan facility and line of credit, which resulted primarily from refinancing our Prior Credit Facility. 

Under certain utility contracts, we periodically receive cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. We act solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, we classify these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on our working capital or operating cash flows, these cash receipts are presented in the condensed consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”

Off-Balance Sheet Arrangements

We do not have any off-balance sheet financing arrangements or liabilities. In addition, our policy is not to enter into futures or forward contracts. Finally, we do not have any majority-owned subsidiaries or any interests in, or relationships with, any special-purpose entities that are not included in the consolidated financial statements. We have, however, an administrative services agreement with Genesys in which we provide Genesys with ongoing administrative,

40

operational and other non-professional support services. We manage Genesys and have the power to direct the activities that most significantly impact Genesys’ performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, we are the primary beneficiary of Genesys and consolidate Genesys as a variable interest entity.

Short and Long-term Uses of Cash

General

Our principal uses of cash are to fund operating expenses, support working capital requirements, finance capital expenditures, and pay down outstanding debt. From time to time, we also use cash to help fund business acquisitions. Our cash and cash equivalents are impacted by the timing of when we invoice and are paid by our customers for services rendered and when we pay expenses as reflected in the change in our outstanding accounts payable and accrued expenses.

Contractual Obligations

The following table sets forth our known contractual obligations as of September 27, 2024:

    

    

Less than

    

    

    

More than

 

Contractual Obligations

Total

1 Year

1 - 3 Years

3 - 5 Years

5 Years

 

(in thousands)

Debt (1)

$

91,894

$

10,137

$

81,757

$

$

Interest payments on debt outstanding (2)

11,821

6,206

5,615

Operating leases

 

16,102

 

5,509

 

7,809

 

2,108

 

676

Finance leases

 

2,628

 

1,175

 

1,266

 

162

 

25

Total contractual cash obligations

$

122,445

$

23,027

$

96,447

$

2,270

$

701

(1)Debt includes $92.5 million outstanding on our Term Loan, net of issuance costs, and no borrowed amounts outstanding on our Revolving Credit Facility as of September 27, 2024. We have assumed no future borrowings or repayments (other than at maturity) for purposes of this table. Our Term Loan is scheduled to mature on September 29, 2026.
(2)Borrowings under our Term Loan and Revolving Credit Facility bear interest at a variable rate. Future interest payments on our Credit Facility are estimated using floating rates in effect as of September 27, 2024.

Outstanding Indebtedness

See Part I, Item 1, Note 6, “Debt Obligations”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, and Part II, Item 8, Note 6, “Debt Obligations”, of the Notes to Consolidated Financial Statements included in our Annual Report on Form 10-K for the fiscal year ended December 29, 2023, for information regarding our indebtedness, including information about new borrowings and repayments, principal repayment terms, interest rates, covenants, and other key terms of our outstanding indebtedness.

Interest Rate Swap

From time to time, we enter into interest rate swap agreements to moderate our exposure to fluctuations in interest rates underlying our variable rate debt. For more information, see Part I, Item 3, “Quantitative and Qualitative Disclosures About Market Risk”, and Note 5, “Derivative Financial Instruments”, to the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.

41

Impact of Inflation

Due to the average duration of our projects and our ability to negotiate prices as contracts end and new contracts begin, historically, our operations have not been materially impacted by inflation.

While not material to our results of operations and financial condition, we have experienced higher cost of materials and delays in our supply chain for equipment. The prices of finished products from manufacturers are subject to fluctuation and increases. It is difficult to accurately measure the impact of inflation, tariffs, price escalation, raw material costs, and other factors that impact the cost of finished goods due to the imprecise nature of the estimates required.

We are often able to mitigate the impact of future price increases by entering into fixed price purchase orders for materials and equipment, and subcontracts on our projects, as well as, when appropriate, including cost escalation factors into our proposals. Despite our best mitigation efforts, significant price increases in equipment and disruptions to our supply chain could materially impact our results of operations and financial condition. In addition, inflationary pressures, including expectations of future inflation, may impact the customers of our utility clients, which may lead to delayed or deferred decisions regarding expenditures to improve energy efficiency, and therefore potentially impact our future revenues.

Components of Revenue and Expense

Contract Revenue

We generally provide our services under contracts, purchase orders or retainer letters. The agreements we enter into with our clients typically incorporate one of three principal types of pricing provisions: time-and-materials, unit-based, and fixed price. Revenue on our time-and-materials and unit-based contracts are recognized as the work is performed in accordance with specific terms of the contract. As of September 27, 2024, 18% of our contracts are time-and-materials contracts, 38% are unit-based contracts, and 44% are fixed price contracts, compared to 21% are time-and-materials contracts, 39% are unit-based contracts, and 40% are fixed price contracts, as of September 29, 2023.

Some of these contracts include maximum contract prices, but contract maximums are often adjusted to reflect the level of effort to achieve client objectives and thus the majority of these contracts are not expected to exceed the maximum. Contract revenue on our fixed price contracts is determined on the percentage of completion method based generally on the ratio of direct costs incurred to date to estimated total direct costs at completion. Many of our fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete.

Adjustments to contract cost estimates are made in the periods in which the facts requiring such revisions become known. When the revised estimate indicates a loss, such loss is recognized in the current period in its entirety. Claims and change orders that have not been finalized are evaluated to determine whether or not a change has occurred in the enforceable rights and obligations of the original contract. If these non-finalized changes qualify as a contract modification, a determination is made whether to account for the change in contract value as a modification to the existing contract, or a separate contract and revenue under the claims or change orders is recognized accordingly. Costs related to un-priced change orders are expensed when incurred, and recognition of the related revenue is based on the assessment above of whether or not a contract modification has occurred. Estimated profit for un-priced change orders is recognized only if collection is probable.

Our contracts come up for renewal periodically and at the time of renewal may be subject to renegotiation, which could impact the profitability on that contract. In addition, during the term of a contract, public agencies may request additional or revised services which may impact the economics of the transaction. Most of our contracts permit our clients, with prior notice, to terminate the contracts at any time without cause. While we have a large volume of contracts, the renewal, termination or modification of a contract, in particular contracts with Consolidated Edison, the Dormitory Authority-State of New York, the New York City Housing Authority, and utility programs associated with

42

Los Angeles Department of Water and Power and Duke Energy Corp., may have a material effect on our consolidated operations.

Some of our contracts include certain performance guarantees, such as a guaranteed energy saving quantity. Such guarantees are generally measured upon completion of a project. In the event that the measured performance level is less than the guaranteed level, any resulting financial penalty, including any additional work that may be required to fulfill the guarantee, is estimated and charged to direct expenses in the current period. We have not experienced any significant costs under such guarantees.

Direct Costs of Contract Revenue

Direct costs of contract revenue consist primarily of that portion of salaries and wages that have been incurred in connection with revenue producing projects. Direct costs of contract revenue also include material costs, subcontractor services, equipment and other expenses that are incurred in connection with revenue producing projects. Direct costs of contract revenue exclude that portion of salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all of our personnel are included in general and administrative expenses since no allocation of these costs is made to direct costs of contract revenue.

Other companies may classify as direct costs of contract revenue some of the costs that we classify as general and administrative costs. We expense direct costs of contract revenue when incurred.

General and Administrative Expenses

G&A expenses include the costs of the marketing and support staff, other marketing expenses, management and administrative personnel costs, payroll taxes, bonuses and employee benefits for all of our employees and the portion of salaries and wages not allocated to direct costs of contract revenue for those employees who provide our services. G&A expenses also include facility costs, depreciation and amortization, professional services, legal and accounting fees and administrative operating costs. Within G&A expenses, “Other” includes expenses such as professional services, legal and accounting, computer costs, travel and entertainment, marketing costs and acquisition costs. We expense general and administrative costs when incurred.

Critical Accounting Policies

We have prepared the accompanying unaudited Condensed Consolidated Financial Statements in accordance with generally accepted accounting principles in the U.S. (“GAAP”). To prepare these financial statements in conformity with GAAP, we must make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and the reported amount of revenue and expenses in the reporting period. Our actual results may differ from these estimates. We have adopted accounting policies and practices that are generally accepted in the industry in which we operate.

There have been no material changes in our critical accounting policies and estimates from those disclosed in our Annual Report on Form 10-K for our fiscal year ended December 29, 2023. Please refer to Part II, Item 7 of our Annual Report on Form 10-K for the fiscal year ended December 29, 2023 for a discussion of our critical accounting policies and estimates.

43

Recent Accounting Standards

For a description of recently issued and adopted accounting pronouncements, including adoption dates and expected effects on our results of operations and financial condition, see Part I, Item 1, Note 2, “Recent Accounting Pronouncements”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.

44

ITEM 3. Quantitative and Qualitative Disclosures About Market Risk

Interest Rate Risk

Market risk is the risk of loss to future earnings, to fair values or to future cash flows that may result from changes in the price of a financial instrument. The value of a financial instrument may change as a result of changes in interest rates, exchange rates, commodity prices, equity prices and other market changes. Market risk is attributed to all market risk sensitive financial instruments, including long-term debt.

As of September 27, 2024, we had cash and cash equivalents of $53.1 million. This amount represents cash on hand in business checking accounts with BMO Bank, N.A. We do not engage in trading activities and do not participate in foreign currency transactions.

We are subject to interest rate risk in connection with our Term Loan and borrowings, if any, under our Revolving Credit Facility, each of which bears interest at variable rates. As of September 27, 2024, $92.5 million was outstanding under our Term Loan, and we had no borrowed amounts outstanding and $1.6 million in letters of credit were issued under our Revolving Credit Facility. Each of our Term Loan and Revolving Credit Facility mature on September 29, 2026 and are governed by our Credit Agreement.

Pursuant to the Credit Agreement, (as described in Part II, Item 8, Note 6, “Debt Obligations”, of the Notes to Consolidated Financial Statements included in our Annual Report on Form 10-K for the fiscal year ended December 29, 2023), borrowings under the Credit Agreement bear interest at either a Base Rate (as defined in the Credit Agreement) or the adjusted Secured Overnight Financing Rate (“SOFR”), at the Company’s option, and in each case, plus an applicable margin, which applicable margin ranges from 0.75% to 2.00% with respect to Base Rate borrowings and 1.75% to 3.00% with respect to SOFR borrowings, depending on the Company’s Total Net Leverage Ratio (as defined in the Credit Agreement); provided, that SOFR and the Base Rate cannot be less than 0.00%, with the specific pricing reset on each date on which the Administrative Agent receives the required financial statements under the Credit Agreement for the fiscal quarter then ended. The Company must also pay a commitment fee for the unused portion of the Revolving Credit Facility, which ranges from 0.20% to 0.40% per annum depending on the Company’s Total Net Leverage Ratio, and fees on the face amount of any letters of credit outstanding under the Revolving Credit Facility, which range from 1.3125% to 2.25% per annum, in each case, depending on the Company’s Total Net Leverage Ratio, as well as customary fronting fees payable to BMO as letter of credit issuer.

The Term Loan will amortize quarterly in an amount equal to (i) 7.5% per annum for the first year ending after the Closing Date and (ii) 10.0% per annum for the second and third years ending after the Closing Date, with a final payment of all then remaining principal and interest due on the maturity date of September 29, 2026. The amounts outstanding under the Credit Facilities may be prepaid in whole or in part at any time without penalty (other than customary breakage costs).

On November 30, 2023, we entered into an interest rate swap agreement for $50.0 million notional amount. The interest swap agreement was designated as a cash flow hedge to fix the variable interest rate on a portion of the outstanding principal amount under our Term Loan. The interest rate swap fixed rate is 4.77% and expires on September 29, 2026.

Based upon the amount of our outstanding indebtedness as of September 27, 2024, a one percentage point increase in the effective interest rate, inclusive of our interest rate swap agreement, would change our annual interest expense by approximately $1.1 million in fiscal year 2024.

45

ITEM 4.  Controls and Procedures

We maintain disclosure controls and procedures, as defined in Rule 13a-15(e) and Rule 15-d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”), as controls and other procedures that are designed to ensure that information required to be disclosed by the issuer in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the SEC’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed in the reports that we file or submit under the Securities Exchange Act is accumulated and communicated to our management, including our including our President and Chief Executive Officer, Michael A. Bieber, and our Chief Financial Officer and Executive Vice President, Creighton K. Early, as appropriate to allow timely decisions regarding required disclosure.

In connection with the preparation of this Quarterly Report, an evaluation was performed under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of our disclosure controls and procedures as of September 27, 2024. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were effective, at a reasonable assurance level, as of September 27, 2024.

No change in our internal control over financial reporting occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

46

PART II.  OTHER INFORMATION

ITEM 1. Legal Proceedings

We are subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. We carry professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.

In accordance with accounting standards regarding loss contingencies, we accrue an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and we disclose the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for our financial statements not to be misleading. We do not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.

Because litigation outcomes are inherently unpredictable, our evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of our financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then we disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on our earnings in any given reporting period. However, in the opinion of our management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on our financial statements.

ITEM 1A. Risk Factors

There are no material changes to the risk factors set forth in Part I, Item 1A, Risk Factors in our Annual Report on Form 10-K for the year ended December 29, 2023.

ITEM 2. Unregistered Sales of Equity Securities and Use of Proceeds

During the fiscal quarter ended September 27, 2024, we made the following repurchases of shares of our common stock from employees to satisfy tax withholding obligations incurred in connection with the vesting of restricted stock:

Total Number of
Shares Purchased

Average Price
Paid Per Share

Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs

Maximum Number
(or Approximate Dollar
Value) of Shares That
May Yet be Purchased
Under the Plans or
Programs

June 29, 2024 – July 26, 2024

July 27, 2024 – August 23, 2024

12,204

$37.36

August 24, 2024 – September 27, 2024

TOTAL

12,204

$37.36

47

ITEM 3. Defaults upon Senior Securities

None.

ITEM 4. Mine Safety Disclosures

Not applicable.

ITEM 5. Other Information

Rule 10b5-1

None.

 

48

ITEM 6. Exhibits

Exhibit
Number

Exhibit Description

3.1

First Amended and Restated Certificate of Incorporation of Willdan Group, Inc. (incorporated by reference to Willdan Group, Inc.’s Registration Statement on Form S-1, filed with the SEC on August 9, 2006, as amended (File No. 333-136444)).

3.2

Second Amended and Restated Bylaws of Willdan Group, Inc. (incorporated by reference to Exhibit 3.1 to Willdan Group, Inc.’s Current Report on Form 8-K, filed with the SEC on July 12, 2023).

4.1

Specimen Stock Certificate for shares of the Registrant’s Common Stock (incorporated by reference to Willdan Group, Inc.’s Registration Statement on Form S-1, filed with the SEC on August 9, 2006, as amended (File No. 333-136444)).

4.2

The Company agrees to furnish to the Securities and Exchange Commission upon request a copy of each instrument with respect to issues of long-term debt of Willdan Group, Inc. and its subsidiaries, the authorized principal amount of which does not exceed 10% of the consolidated assets of Willdan Group, Inc. and its subsidiaries.

31.1*

Certification of Chief Executive Officer pursuant to Rule 13a-14(a) or 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to § 302 of the Sarbanes-Oxley Act of 2002.

31.2*

Certification of Chief Financial Officer pursuant to Rule 13a-14(a) or 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to § 302 of the Sarbanes-Oxley Act of 2002.

32.1**

Certifications of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002.

101.INS*

Inline XBRL Instance Document (the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document)

101.SCH*

Inline XBRL Taxonomy Extension Schema Document

101.CAL*

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.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)

*

Filed herewith.

**

Furnished herewith.

Portions of the referenced exhibit have been omitted pursuant to Item 601(b) of Regulation S-K because it (i) is not material and (ii) would be competitively harmful if publicly disclosed.

¥

All schedules and exhibits were omitted pursuant to Item 601(a)(5) of Regulation S-K.

Indicates a management contract or compensating plan or arrangement

49

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.

WILLDAN GROUP, INC.

/s/ Creighton K. Early

Creighton K. Early

Chief Financial Officer and Executive Vice President

(Principal Financial Officer, Principal Accounting Officer and duly authorized officer)

October 31, 2024

50

EX-31.1 2 wldn-20240927xex31d1.htm EX-31.1

Exhibit 31.1

SECTION 302 CERTIFICATION OF CHIEF EXECUTIVE OFFICER

I, Michael A. Bieber, certify that:

1.            I have reviewed this quarterly report on Form 10-Q of Willdan Group, Inc.;

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: October 31, 2024

(Prin

By:

/s/ MICHAEL A. BIEBER

Michael A. Bieber

President and Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 wldn-20240927xex31d2.htm EX-31.2

Exhibit 31.2

SECTION 302 CERTIFICATION OF CHIEF FINANCIAL OFFICER

I, Creighton K. Early, certify that:

1.

I have reviewed this quarterly report on Form 10-Q of Willdan Group, Inc.;

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: October 31, 2024

By:

/s/ CREIGHTON K. EARLY

Creighton K. Early

Chief Financial Officer and Executive Vice President

(Principal Financial Officer)


EX-32.1 4 wldn-20240927xex32d1.htm EX-32.1

Exhibit 32.1

Certification of Chief Executive Officer and Chief Financial Officer Pursuant to 18 U.S.C. 1350,

as Adopted Pursuant to § 906 of the Sarbanes-Oxley Act of 2002

In connection with the Quarterly Report on Form 10-Q of Willdan Group, Inc. (the “Company”) for the quarterly period ended September 27, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), Michael A. Bieber, as President and Chief Executive Officer of the Company, and Creighton K. Early, as Chief Financial Officer and Executive Vice President of the Company, each hereby certifies, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that, to the best of his or her knowledge:

(1)

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

(2)

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

By:

/s/ MICHAEL A. BIEBER

Michael A. Bieber

President and Chief Executive Officer

(Principal Executive Officer)

October 31, 2024

By:

/s/ CREIGHTON K. EARLY

Creighton K. Early

Chief Financial Officer and Executive Vice President

(Principal Financial Officer)

October 31, 2024

This certification accompanies the Report pursuant to § 906 of the Sarbanes-Oxley Act of 2002 and shall not, except to the extent required by the Sarbanes-Oxley Act of 2002, be deemed filed by the Company for purposes of § 18 of the Securities Exchange Act of 1934, as amended. A signed original of this written statement required by § 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.


EX-101.SCH 5 wldn-20240927.xsd EX-101.SCH 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 99940401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) link:presentationLink link:calculationLink link:definitionLink 99940402 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) link:presentationLink link:calculationLink link:definitionLink 99940404 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940504 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Accumulated Other Comprehensive Income (Loss) (Details) link:presentationLink link:calculationLink link:definitionLink 99940601 - Disclosure - DEBT OBLIGATIONS - Composition (Details) link:presentationLink link:calculationLink link:definitionLink 99940602 - Disclosure - DEBT OBLIGATIONS - Classification (Details) link:presentationLink link:calculationLink link:definitionLink 99940702 - Disclosure - LEASES - Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 99940703 - Disclosure - LEASES - Consolidated Balance Sheet (Details) link:presentationLink link:calculationLink link:definitionLink 99940707 - Disclosure - LEASES - Operating Leases - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940708 - Disclosure - LEASES - Operating Leases - Gross Difference (Details) link:presentationLink link:calculationLink link:definitionLink 99940709 - Disclosure - LEASES - Finance Leases - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940710 - Disclosure - LEASES - Finance Leases - Gross Difference (Details) link:presentationLink link:calculationLink link:definitionLink 99941101 - Disclosure - EARNINGS PER SHARE ("EPS") - Computation (Details) link:presentationLink link:calculationLink link:definitionLink 995200090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 995210101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY link:presentationLink link:calculationLink link:definitionLink 995210201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS link:presentationLink link:calculationLink link:definitionLink 995210301 - Disclosure - REVENUES link:presentationLink link:calculationLink link:definitionLink 995210401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA link:presentationLink link:calculationLink link:definitionLink 995210501 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS link:presentationLink link:calculationLink link:definitionLink 995210601 - Disclosure - DEBT OBLIGATIONS link:presentationLink link:calculationLink link:definitionLink 995210701 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 995210801 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES link:presentationLink link:calculationLink link:definitionLink 995210901 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION link:presentationLink link:calculationLink link:definitionLink 995211001 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 995211101 - Disclosure - EARNINGS PER SHARE ("EPS") link:presentationLink link:calculationLink link:definitionLink 995211201 - Disclosure - CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 995211301 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 99920102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies) link:presentationLink link:calculationLink link:definitionLink 99930303 - Disclosure - REVENUES (Tables) link:presentationLink link:calculationLink link:definitionLink 99930403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables) link:presentationLink link:calculationLink link:definitionLink 99930603 - Disclosure - DEBT OBLIGATIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 99930703 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 99930903 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 99931103 - Disclosure - EARNINGS PER SHARE ("EPS") (Tables) link:presentationLink link:calculationLink link:definitionLink 99940102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details) link:presentationLink link:calculationLink link:definitionLink 99940201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 99940302 - Disclosure - REVENUES - General Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940405 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 99940406 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 99940407 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details) link:presentationLink link:calculationLink link:definitionLink 99940501 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - General Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940503 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 99940603 - Disclosure - DEBT OBLIGATIONS - New Credit Facilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940701 - Disclosure - LEASES - General Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940706 - Disclosure - LEASES - Supplemental Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940801 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details) link:presentationLink link:calculationLink link:definitionLink 99940902 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) link:presentationLink link:calculationLink link:definitionLink 99940903 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940904 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 99940906 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 99941001 - Disclosure - INCOME TAXES - Valuation Allowance (Details) link:presentationLink link:calculationLink link:definitionLink 99941102 - Disclosure - EARNINGS PER SHARE ("EPS") - Antidilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 99941301 - Disclosure - SUBSEQUENT EVENTS (Details) link:presentationLink link:calculationLink link:definitionLink 99930503 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 99940101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940301 - Disclosure - REVENUES - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 99940502 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Cash Flow Hedge Effectiveness (Details) link:presentationLink link:calculationLink link:definitionLink 99940704 - Disclosure - LEASES - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940705 - Disclosure - LEASES - Rent Expense (Details) link:presentationLink link:calculationLink link:definitionLink 99940802 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details) link:presentationLink link:calculationLink link:definitionLink 99940901 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 99940905 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details) link:presentationLink link:calculationLink link:definitionLink 99941002 - Disclosure - INCOME TAXES - Uncertain Tax Positions (Details) link:presentationLink link:calculationLink link:definitionLink 99941003 - Disclosure - INCOME TAXES - Income Tax Expense (Benefit) (Details) link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 wldn-20240927_cal.xml EX-101.CAL EX-101.DEF 7 wldn-20240927_def.xml EX-101.DEF EX-101.LAB 8 wldn-20240927_lab.xml EX-101.LAB EX-101.PRE 9 wldn-20240927_pre.xml EX-101.PRE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.24.3
Document and Entity Information - shares
9 Months Ended
Sep. 27, 2024
Oct. 30, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 27, 2024  
Document Transition Report false  
Entity File Number 001-33076  
Entity Registrant Name WILLDAN GROUP, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 14-1951112  
Entity Address, Address Line One 2401 East Katella Avenue  
Entity Address, Address Line Two Suite 300  
Entity Address, City or Town Anaheim  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 92806  
City Area Code 800  
Local Phone Number 424-9144  
Title of 12(b) Security Common Stock, par value $0.01 per share  
Trading Symbol WLDN  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   14,124,865
Entity Central Index Key 0001370450  
Document Fiscal Period Focus Q3  
Amendment Flag false  
Current Fiscal Year End Date --12-27  
Document Fiscal Year Focus 2024  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Current assets:    
Cash and cash equivalents $ 53,106 $ 23,397
Restricted cash 0 0
Accounts receivable, net of allowance for doubtful accounts of $1,465 and $866 at September 27, 2024 and December 29, 2023, respectively 63,109 69,677
Contract assets 104,236 93,885
Other receivables 2,359 1,169
Prepaid expenses and other current assets 5,329 3,888
Total current assets 228,139 192,016
Equipment and leasehold improvements, net 28,955 27,097
Goodwill 131,144 131,144
Right-of-use assets 14,366 12,465
Other intangible assets, net 26,541 31,956
Other assets 3,447 4,949
Deferred income taxes, net 14,661 15,961
Total assets 447,253 415,588
Current liabilities:    
Accounts payable 38,007 33,193
Accrued liabilities 58,521 54,129
Contract liabilities 15,202 13,183
Notes payable 10,137 8,452
Finance lease obligations 1,175 1,186
Lease liability 5,509 4,537
Total current liabilities 128,551 114,680
Notes payable, less current portion 81,757 88,979
Finance lease obligations, less current portion 1,453 1,184
Lease liability, less current portion 10,593 9,758
Other noncurrent liabilities 938 1,142
Total liabilities 223,292 215,743
Commitments and contingencies
Stockholders' equity:    
Preferred stock, $0.01 par value, 10,000 shares authorized, no shares issued and outstanding
Common stock, $0.01 par value, 40,000 shares authorized; 14,117 and 13,682 shares issued and outstanding at September 27, 2024 and December 29, 2023, respectively 141 137
Additional paid-in capital 195,168 185,795
Accumulated other comprehensive income (loss) (807) (664)
Retained earnings 29,459 14,577
Total stockholders' equity 223,961 199,845
Total liabilities and stockholders' equity $ 447,253 $ 415,588
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Accounts Receivable, after Allowance for Credit Loss, Current    
Accounts receivable, allowance for doubtful accounts $ 1,465 $ 866
Preferred stock    
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    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 40,000,000 40,000,000
Common stock, shares issued (in shares) 14,117,000 13,682,000
Common stock, shares outstanding (in shares) 14,117,000 13,682,000
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME        
Contract revenue $ 158,252 $ 132,738 $ 421,737 $ 354,418
Direct costs of contract revenue (inclusive of directly related depreciation and amortization):        
Salaries and wages 24,088 21,856 69,247 63,568
Subcontractor services and other direct costs 82,563 67,454 204,667 165,508
Total direct costs of contract revenue 106,651 89,310 273,914 229,076
Gross profit 51,601 43,428 147,823 125,342
General and administrative expenses:        
Salaries and wages, payroll taxes and employee benefits 25,876 23,805 78,449 68,606
Facilities and facility related 2,381 2,303 7,231 7,200
Stock-based compensation 2,020 1,244 5,355 4,064
Depreciation and amortization 3,716 4,190 10,937 12,518
Other 8,934 8,049 25,368 22,629
Total general and administrative expenses 42,927 39,591 127,340 115,017
Income (Loss) from operations 8,674 3,837 20,483 10,325
Other income (expense):        
Interest expense, net (1,934) (2,437) (6,031) (7,110)
Other, net 763 879 2,293 1,392
Total other expense, net (1,171) (1,558) (3,738) (5,718)
Income (Loss) before income taxes 7,503 2,279 16,745 4,607
Income tax (benefit) expense 157 713 1,863 1,712
Net income (loss) 7,346 1,566 14,882 2,895
Other comprehensive income (loss):        
Unrealized gain (loss) on derivative contracts, net of tax (678)   (143)  
Comprehensive income (loss) $ 6,668 $ 1,566 $ 14,739 $ 2,895
Earnings (Loss) per share:        
Basic (in dollars per share) $ 0.53 $ 0.12 $ 1.08 $ 0.22
Diluted (in dollars per share) $ 0.51 $ 0.11 $ 1.05 $ 0.21
Weighted-average shares outstanding:        
Basic (in shares) 13,930 13,462 13,753 13,357
Diluted (in shares) 14,358 13,709 14,130 13,563
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income (Loss)
Retained Earnings
Total
Balance at Dec. 30, 2022 $ 133 $ 177,718   $ 3,651 $ 181,502
Balance (in shares) at Dec. 30, 2022 13,296        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with employee stock purchase plan $ 1 1,391     1,392
Shares of common stock issued in connection with employee stock purchase plan (in shares) 92        
Shares used to pay taxes on stock grants   (124)     (124)
Shares used to pay taxes on stock grants (in shares) (7)        
Issuance of restricted stock award and units $ 1 (1)      
Issuance of restricted stock award and units (in shares) 108        
Stock-based compensation expense   1,533     1,533
Net Income (Loss)       932 932
Balance at Mar. 31, 2023 $ 135 180,517   4,583 185,235
Balance (in shares) at Mar. 31, 2023 13,489        
Balance at Dec. 30, 2022 $ 133 177,718   3,651 181,502
Balance (in shares) at Dec. 30, 2022 13,296        
Increase (Decrease) in Stockholders' Equity          
Net Income (Loss)         2,895
Balance at Sep. 29, 2023 $ 136 184,391   6,546 191,073
Balance (in shares) at Sep. 29, 2023 13,647        
Balance at Mar. 31, 2023 $ 135 180,517   4,583 185,235
Balance (in shares) at Mar. 31, 2023 13,489        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with incentive stock plan   7     7
Shares of common stock issued in connection with incentive stock plan (in shares) 2        
Shares used to pay taxes on stock grants   (64)     (64)
Shares used to pay taxes on stock grants (in shares) (4)        
Issuance of restricted stock award and units (in shares) 17        
Stock-based compensation expense   1,287     1,287
Net Income (Loss)       397 397
Balance at Jun. 30, 2023 $ 135 181,747   4,980 186,862
Balance (in shares) at Jun. 30, 2023 13,504        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with employee stock purchase plan $ 1 1,386     1,387
Shares of common stock issued in connection with employee stock purchase plan (in shares) 91        
Shares of common stock issued in connection with incentive stock plan   31     31
Shares of common stock issued in connection with incentive stock plan (in shares) 9        
Shares used to pay taxes on stock grants   (17)     (17)
Shares used to pay taxes on stock grants (in shares) (1)        
Issuance of restricted stock award and units (in shares) 44        
Stock-based compensation expense   1,244     1,244
Net Income (Loss)       1,566 1,566
Balance at Sep. 29, 2023 $ 136 184,391   6,546 191,073
Balance (in shares) at Sep. 29, 2023 13,647        
Balance at Dec. 29, 2023 $ 137 185,795 $ (664) 14,577 $ 199,845
Balance (in shares) at Dec. 29, 2023 13,682       13,682
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with employee stock purchase plan $ 1 1,401     $ 1,402
Shares of common stock issued in connection with employee stock purchase plan (in shares) 86        
Shares of common stock issued in connection with incentive stock plan   281     281
Shares of common stock issued in connection with incentive stock plan (in shares) 19        
Shares used to pay taxes on stock grants $ (1) (778)     (779)
Shares used to pay taxes on stock grants (in shares) (32)        
Issuance of restricted stock award and units $ 1 (1)      
Issuance of restricted stock award and units (in shares) 62        
Stock-based compensation expense   1,390     1,390
Net Income (Loss)       2,942 2,942
Net unrealized gain on derivative contracts     434   434
Balance at Mar. 29, 2024 $ 138 188,088 (230) 17,519 205,515
Balance (in shares) at Mar. 29, 2024 13,817        
Balance at Dec. 29, 2023 $ 137 185,795 (664) 14,577 $ 199,845
Balance (in shares) at Dec. 29, 2023 13,682       13,682
Increase (Decrease) in Stockholders' Equity          
Net Income (Loss)         $ 14,882
Balance at Sep. 27, 2024 $ 141 195,168 (807) 29,459 $ 223,961
Balance (in shares) at Sep. 27, 2024 14,117       14,117
Balance at Mar. 29, 2024 $ 138 188,088 (230) 17,519 $ 205,515
Balance (in shares) at Mar. 29, 2024 13,817        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with incentive stock plan $ 1 855     856
Shares of common stock issued in connection with incentive stock plan (in shares) 86        
Shares used to pay taxes on stock grants   (6)     (6)
Issuance of restricted stock award and units (in shares) 13        
Stock-based compensation expense   1,945     1,945
Net Income (Loss)       4,594 4,594
Net unrealized gain on derivative contracts     101   101
Balance at Jun. 28, 2024 $ 139 190,882 (129) 22,113 213,005
Balance (in shares) at Jun. 28, 2024 13,916        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with employee stock purchase plan $ 1 1,435     1,436
Shares of common stock issued in connection with employee stock purchase plan (in shares) 78        
Shares of common stock issued in connection with incentive stock plan $ 1 1,287     1,288
Shares of common stock issued in connection with incentive stock plan (in shares) 92        
Shares used to pay taxes on stock grants   (456)     (456)
Shares used to pay taxes on stock grants (in shares) (12)        
Issuance of restricted stock award and units (in shares) 43        
Stock-based compensation expense   2,020     2,020
Net Income (Loss)       7,346 7,346
Net unrealized gain on derivative contracts     (678)   (678)
Balance at Sep. 27, 2024 $ 141 $ 195,168 $ (807) $ 29,459 $ 223,961
Balance (in shares) at Sep. 27, 2024 14,117       14,117
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Cash flows from operating activities:    
Net income (loss) $ 14,882 $ 2,895
Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:    
Depreciation and amortization 10,937 12,518
Other non-cash items 459 511
Deferred income taxes, net 1,300 1,196
(Gain) loss on sale/disposal of equipment (13) (63)
Provision for doubtful accounts 806 194
Stock-based compensation 5,355 4,064
Changes in operating assets and liabilities, net of effects from business acquisitions:    
Accounts receivable 5,762 (6,335)
Contract assets (10,351) 4,530
Other receivables (1,190) 3,306
Prepaid expenses and other current assets (1,441) 1,175
Other assets 1,456 (4,993)
Accounts payable 4,814 3,922
Accrued liabilities 3,910 (2,658)
Contract liabilities 2,019 2,821
Right-of-use assets (94) 1,029
Net cash (used in) provided by operating activities 38,611 24,112
Cash flows from investing activities:    
Purchase of equipment, software, and leasehold improvements (6,074) (7,583)
Proceeds from sale of equipment 29 68
Cash paid for acquisitions, net of cash acquired   (1,600)
Net cash (used in) provided by investing activities (6,045) (9,115)
Cash flows from financing activities:    
Payments on contingent consideration   (4,000)
Payment on restricted cash   (10,679)
Payments on notes payable (190) (1,463)
Payments on debt issuance costs   (1,114)
Borrowings under term loan facility and line of credit   105,000
Repayments under term loan facility and line of credit (5,625) (111,000)
Principal payments on finance leases (1,064) (951)
Proceeds from stock option exercise 2,425 38
Proceeds from sales of common stock under employee stock purchase plan 2,838 2,779
Cash used to pay taxes on stock grants (1,241) (205)
Net cash (used in) provided by financing activities (2,857) (21,595)
Net increase (decrease) in cash, cash equivalents and restricted cash 29,709 (6,598)
Cash, cash equivalents and restricted cash at beginning of period 23,397 19,485
Cash, cash equivalents and restricted cash at end of period 53,106 12,887
Cash paid (received) during the period for:    
Interest 5,301 8,025
Income taxes 1,203 (3,154)
Supplemental disclosures of noncash investing and financing activities:    
Equipment acquired under finance leases $ 1,322 $ 652
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.24.3
ORGANIZATION AND OPERATIONS OF THE COMPANY
9 Months Ended
Sep. 27, 2024
ORGANIZATION AND OPERATIONS OF THE COMPANY  
ORGANIZATION AND OPERATIONS OF THE COMPANY

1. ORGANIZATION AND OPERATIONS OF THE COMPANY

Willdan Group, Inc. (“Willdan” or the “Company”) is a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, the Company helps organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions and government infrastructure. Through engineering, program management, policy advisory, and software and data management, the Company designs and delivers trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure.

The Company’s broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of the Company’s strategy to design and deliver trusted, comprehensive, innovative, and proven solutions for its customers.

The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, Organization and Operations of the Company, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.

Fiscal Years

The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2024, which ends on December 27, 2024, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2023, which ended on December 29, 2023, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.

Use of Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

Reclassifications

Certain prior year amounts have been reclassified in the condensed consolidated financial statements to conform to the current year presentation.

XML 18 R8.htm IDEA: XBRL DOCUMENT v3.24.3
RECENT ACCOUNTING PRONOUNCEMENTS
9 Months Ended
Sep. 27, 2024
RECENT ACCOUNTING PRONOUNCEMENTS  
RECENT ACCOUNTING PRONOUNCEMENTS

2. RECENT ACCOUNTING PRONOUNCEMENTS

Accounting Pronouncements Recently Issued

In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”). ASU 2023-09 amends the rules on income tax disclosures to require entities to disclose specific categories in the rate reconciliation, the income or loss from continuing operations before income tax expense or benefit (separated between domestic and foreign) and income tax expense or benefit from continuing operations (separated by federal, state, and foreign). In addition, ASU 2023-09 requires entities to disclose their income tax payments to international, federal, state, and local jurisdictions, among other changes. The amendments can be applied on a prospective basis although retrospective application is permitted. The amendments are effective for the annual reporting periods beginning after December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact this update will have on its Consolidated Financial Statements.

In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” (“ASU 2023-07”). ASU 2023-07 expands segment disclosure requirements through enhanced disclosures related to significant segment expenses that are regularly provided to the chief operating decision maker (“CODM”), a description of other segment items by reportable segment, and any additional measures of a segment’s profit or loss used by the CODM when deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The amendments are effective for the fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact this update will have on its Consolidated Financial Statements.

  

In October 2023, the FASB issued ASU No. 2023-06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023-06”). ASU 2023-06 amends U.S. GAAP to reflect updates and simplifications to certain disclosure and presentation requirements referred to FASB by the SEC. The targeted amendments incorporate 14 of the 27 disclosures referred by the SEC into codification. Each amendment in ASU 2023-06 is effective on either the date on which the SEC’s removal of the related disclosure requirement from Regulation S-X or Regulation S-K becomes effective, or on June 30, 2027, if the SEC has not removed the requirements by that date. The Company does not believe the amendments in ASU 2023-06 will have a material impact in any of the Company’s current disclosures.

 

 

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUES
9 Months Ended
Sep. 27, 2024
REVENUES  
REVENUES

3. REVENUES

The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.

The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.

Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and, usually, are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, which usually is the life of the contract.

To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.

The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.

Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.

The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.

In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.

Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.

Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.

The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.

Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.

The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.

Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.

Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.

Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying condensed consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.

Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.

Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.

Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of September 27, 2024 and December 29, 2023, contract assets included retainage of approximately $18.9 million and $14.3 million, respectively.

 

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA
9 Months Ended
Sep. 27, 2024
SUPPLEMENTAL FINANCIAL STATEMENT DATA  
SUPPLEMENTAL FINANCIAL STATEMENT DATA

4. SUPPLEMENTAL FINANCIAL STATEMENT DATA

Restricted Cash

The following table provides a reconciliation of cash and cash equivalents, and restricted cash reported within the condensed consolidated balance sheets to the total cash, cash equivalents, and restricted cash shown in the consolidated statements of cash flows:

September 27,

December 29,

    

2024

    

2023

(in thousands)

Cash and cash equivalents

$

53,106

$

23,397

Restricted cash

 

 

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

$

53,106

$

23,397

 

Under certain utility contracts, the Company periodically receives cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. The Company acts solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, the Company classifies these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on the Company’s working capital or operating cash flows, these cash receipts are presented in the condensed consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”

Equipment and Leasehold Improvements

September 27,

December 29,

    

2024

    

2023

(in thousands)

Furniture and fixtures

$

4,501

$

4,379

Computer hardware and software

 

50,070

 

44,594

Leasehold improvements

 

3,551

 

3,382

Equipment under finance leases

 

6,969

 

6,139

Automobiles, trucks, and field equipment

 

3,551

 

3,373

Subtotal

 

68,642

 

61,867

Accumulated depreciation and amortization

 

(39,687)

 

(34,770)

Equipment and leasehold improvements, net

$

28,955

$

27,097

 

Included in accumulated depreciation and amortization is $1.1 million and $1.3 million of amortization expense related to equipment held under finance leases for the nine months ended September 27, 2024 and for fiscal year 2023, respectively.

Accrued Liabilities

September 27,

December 29,

    

2024

    

2023

(in thousands)

Accrued subcontractor costs

$

32,122

$

30,196

Accrued bonuses

13,331

14,423

Employee withholdings

 

4,079

 

3,123

Compensation and payroll taxes

 

4,705

 

3,125

Rebate and other

139

Accrued accounting costs and taxes

 

4,284

 

3,123

Total accrued liabilities

$

58,521

$

54,129

 

Goodwill

December 29,

Additional

Additions /

September 27,

    

2023

    

Purchase Cost

    

Adjustments

    

2024

(in thousands)

Reporting Unit:

Energy

$

129,375

$

$

$

129,375

Engineering and Consulting

1,769

1,769

$

131,144

$

$

$

131,144

 

The Company tests its goodwill at least annually for possible impairment. The Company completes its annual testing of goodwill as of the last day of the first month of its fourth fiscal quarter each year to determine whether there is a potential impairment. In addition to the Company’s annual test, it regularly evaluates whether events and circumstances have occurred that may indicate a potential impairment of goodwill. The Company evaluated the current economic environment and noted that it does not believe it is more likely than not that goodwill was impaired as of September 27, 2024.

Intangible Assets

September 27, 2024

December 29, 2023

Gross

Accumulated

Gross

Accumulated

Amortization

    

Amount

    

Amortization

    

Amount

    

Amortization

    

Period

(in thousands)

(in years)

Finite:

Backlog

$

8,306

$

8,306

$

8,306

$

8,095

1.0

Tradename

15,936

13,074

15,936

12,695

 

2.5

-

6.0

Non-compete agreements

1,613

1,476

1,613

1,440

4.0

-

5.0

Developed technology

15,810

15,121

15,810

14,521

8.0

Customer relationships

58,149

35,296

58,149

31,107

5.0

-

8.0

Total intangible assets

$

99,814

$

73,273

$

99,814

$

67,858

 

 

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.24.3
DERIVATIVE FINANCIAL INSTRUMENTS
9 Months Ended
Sep. 27, 2024
DERIVATIVE FINANCIAL INSTRUMENTS  
DERIVATIVE FINANCIAL INSTRUMENTS

5. DERIVATIVE FINANCIAL INSTRUMENTS

The Company uses certain interest rate derivative contracts to hedge interest rate exposures on its variable rate debt. The Company’s hedging program is not designated for trading or speculative purposes.

The Company recognizes derivative instruments as either assets or liabilities on the accompanying condensed consolidated balance sheets at fair value. The Company records changes in the fair value (i.e., gains or losses) of the derivatives that have been designated as cash flow hedges in its consolidated balance sheets as accumulated other comprehensive income (loss), and in its consolidated statements of comprehensive income (loss) as unrealized gain or loss on derivative contracts. All related cash flows are reported in the operating activities section of the consolidated statements of cash flows.

On November 30, 2023, the Company entered into an interest rate swap agreement that the Company designated as cash flow hedge to fix the variable interest rate on a portion of the Company’s term loan (see Note 6, “Debt Obligations” for information regarding our indebtedness). The interest rate swap agreement has a total notional amount of $50.0 million, has a fixed annual interest rate of 4.77%, and expires on September 29, 2026. As of September 27, 2024, the effective portion of the Company’s interest rate swap agreement designated as a cash flow hedge before tax effects was $(0.8) million, of which no amounts were reclassified from accumulated other comprehensive income (loss) to interest expense in the three nor nine months ended September 27, 2024. The Company expects to reclassify $0.4 million from accumulated other comprehensive income (loss) to interest expense within the next twelve months.

The fair values of the Company’s outstanding derivatives designated as hedging instruments were as follows:

    

    

Fair Value of Derivative

    

    

Instruments as of

Balance Sheet Location

September 27, 2024

December 29, 2023

(in thousands)

Interest rate swap agreement

Current assets

$

$

46

Interest rate swap agreement

Accrued liabilities

(339)

Interest rate swap agreement

Other noncurrent liabilities

(683)

(887)

 

The impact of the effective portions of derivative instruments in cash flow hedging relationships and fair value relationships on other comprehensive income (loss) were $(0.7) million and $(0.1) million for the three and nine months ended September 27, 2024.

The accumulated balances and reporting period activities for the periods below related to reclassifications out of accumulated other comprehensive income (loss) are summarized as follows:

Gain (Loss) on

Accumulated Other

    

Derivative Instruments

    

Comprehensive Income (Loss)

(in thousands)

Balances at December 29, 2023

$

(664)

$

(664)

Other comprehensive income (loss) before reclassifications

549

549

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

(115)

(115)

Net current-period other comprehensive income (loss)

434

434

Balances at March 29, 2024

$

(230)

$

(230)

Other comprehensive income (loss) before reclassifications

127

127

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

(26)

(26)

Net current-period other comprehensive income (loss)

101

101

Balances at June 28, 2024

$

(129)

$

(129)

Other comprehensive income (loss) before reclassifications

(858)

(858)

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

180

180

Net current-period other comprehensive income (loss)

(678)

(678)

Balances at September 27, 2024

$

(807)

$

(807)

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.24.3
DEBT OBLIGATIONS
9 Months Ended
Sep. 27, 2024
DEBT OBLIGATIONS  
DEBT OBLIGATIONS

6. DEBT OBLIGATIONS

Debt obligations, excluding obligations under finance leases (see Note 7, “Leases”, below), consisted of the following:

    

September 27,

    

December 29,

2024

2023

(in thousands)

Outstanding borrowings on Term Loan

$

92,500

$

98,125

Outstanding borrowings on Revolving Credit Facility

Other debt agreements

137

327

Total debt

92,637

98,452

Issuance costs and debt discounts

(743)

(1,021)

Subtotal

91,894

97,431

Less current portion of long-term debt

 

10,137

 

8,452

Long-term debt portion

$

81,757

$

88,979

 

The credit agreement governing the Company’s Term Loan and Revolving Credit Facility require the Company to comply with certain financial obligations, including a maximum Net Leverage Ratio and a minimum Fixed Charge Coverage Ratio (as defined in the credit agreement governing the Term Loan and Revolving Credit Facility). The credit agreement also contains customary restrictive covenants. As of September 27, 2024, the Company was in compliance with all these covenants.

In addition, as of September 27, 2024, the Company’s composite interest rate, exclusive of the effects of upfront fees, undrawn fees and issuance cost amortization, was 7.2%.

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES
9 Months Ended
Sep. 27, 2024
LEASES  
LEASES

7. LEASES

The Company leases certain office facilities under long-term, non-cancellable operating leases that expire at various dates through 2029. In addition, the Company is obligated under finance leases for certain furniture and office equipment that expire at various dates through 2029.

From time to time, the Company enters into non-cancelable leases for some of its facility and equipment needs. These leases allow the Company to conserve cash by paying a monthly lease rental fee for the use of facilities and equipment rather than purchasing them. The Company’s leases typically have remaining terms ranging from one to eight years, some of which may include options to extend the leases for up to five years, and some of which may include options to terminate the leases within one year. Currently, all of the Company’s leases contain fixed payment terms. The Company may decide to cancel or terminate a lease before the end of its term, in which case the Company is typically liable to the lessor for the remaining lease payments under the term of the lease. Additionally, all of the Company’s month-to-month leases are cancelable by the Company or the lessor, at any time, and are not included in the Company’s right-of-use asset or lease liability. As of September 27, 2024, the Company had no leases with residual value guarantees. Typically, the Company has purchase options on the equipment underlying its long-term leases. The Company may exercise some of these purchase options when the need for equipment is on-going and the purchase option price is attractive. Nonperformance-related default covenants, cross-default provisions, subjective default provisions and material adverse change clauses contained in material lease agreements, if any, are also evaluated to determine whether those clauses affect lease classification in accordance with ASC Topic 842-10-25. Leases are accounted for as operating or financing leases, depending on the terms of the lease.

Financing Leases

The Company leases certain equipment under financing leases. The economic substance of the leases is a financing transaction for acquisition of equipment and leasehold improvements. Accordingly, the right-of-use assets for these leases are included in the balance sheets in equipment and leasehold improvements, net of accumulated depreciation, with a corresponding amount recorded in current portion of financing lease obligations or noncurrent portion of financing lease obligations, as appropriate. The financing lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The interest associated with financing lease obligations is included in interest expense.

Right-of-use assets

Operating leases are included in right-of-use assets, and current portion of lease liability and noncurrent portion of lease liability, as appropriate. Right-of-use assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Company’s leases do not provide an implicit rate to calculate present value, the Company determines this rate by estimating the Company’s incremental borrowing rate at the lease commencement date. The right-of-use asset also includes any lease payments made and initial direct costs incurred at lease commencement and excludes lease incentives. The Company’s lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.

The following is a summary of the Company’s lease expense:

Three Months Ended

Nine Months Ended

September 27,

September 29,

September 27,

September 29,

2024

    

2023

    

2024

    

2023

(in thousands)

(in thousands)

Operating lease cost

$

1,522

$

1,464

$

4,579

$

4,621

Sublease Income

(14)

(30)

(42)

(30)

Finance lease cost:

Amortization of assets

392

340

1,114

969

Interest on lease liabilities

46

28

112

74

Total net lease cost

$

1,946

$

1,802

$

5,763

$

5,634

 

The following is a summary of lease information presented on the Company’s consolidated balance sheet:

September 27,

    

December 29,

2024

2023

(in thousands)

Operating leases:

Right-of-use assets

$

14,366

$

12,465

 

 

Lease liability

$

5,509

$

4,537

Lease liability, less current portion

 

10,593

 

9,758

Total lease liabilities

$

16,102

$

14,295

 

 

Finance leases (included in equipment and leasehold improvements, net):

Equipment and leasehold improvements, net

$

6,969

$

6,139

Accumulated depreciation

 

(4,458)

 

(3,837)

Total equipment and leasehold improvements, net

$

2,511

$

2,302

 

Finance lease obligations

$

1,175

$

1,186

Finance lease obligations, less current portion

1,453

1,184

Total finance lease obligations

$

2,628

$

2,370

Weighted average remaining lease term (in years):

Operating Leases

3.05

3.43

Finance Leases

2.49

2.31

Weighted average discount rate:

Operating Leases

6.91

%

6.09

%

Finance Leases

6.68

%

5.19

%

 

Rent expense was $1.7 million and $5.2 million for the three and nine months ended September 27, 2024, respectively, as compared to $1.7 million and $5.1 million for the three and nine months ended September 29, 2023, respectively.

The following is a summary of other information and supplemental cash flow information related to finance and operating leases:

Nine Months Ended

September 27,

September 29,

2024

    

2023

(in thousands)

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

Operating cash flow from operating leases

$

4,707

$

4,318

Operating cash flow from finance leases

112

74

Financing cash flow from finance leases

1,064

951

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

Operating leases

$

5,757

$

4,316

 

The following is a summary of the maturities of lease liabilities as of September 27, 2024:

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2024

$

1,588

$

438

2025

 

6,278

 

1,158

2026

 

5,100

824

2027

2,667

313

2028

1,673

 

94

2029 and thereafter

 

750

 

27

Total lease payments

18,056

2,854

Less: Imputed interest

 

(1,954)

(226)

Total lease obligations

 

16,102

2,628

Less: Current obligations

 

5,509

1,175

Noncurrent lease obligations

$

10,593

$

1,453

 

The imputed interest for finance lease obligations represents the interest component of finance leases that will be recognized as interest expense in future periods. The financing component for operating lease obligations represents the effect of discounting the operating lease payments to their present value.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.24.3
COMMITMENTS AND VARIABLE INTEREST ENTITIES
9 Months Ended
Sep. 27, 2024
COMMITMENTS AND VARIABLE INTEREST ENTITIES  
COMMITMENTS AND VARIABLE INTEREST ENTITIES

8. COMMITMENTS AND VARIABLE INTEREST ENTITIES

Employee Benefit Plans

The Company has a qualified profit sharing plan pursuant to Code Section 401(a) and qualified cash or deferred arrangement pursuant to Code Section 401(k) covering all employees. Employees may elect to contribute up to 50% of their compensation limited to the amount allowed by tax laws. Company contributions are made solely at the discretion of the Company’s board of directors.

The Company’s defined contribution plan (the “Plan”) covers employees who have completed three months of service and who have attained 21 years of age. The Company elects to make matching contributions equal to 50% of the participants’ contributions to the Plan, up to 6% of the individual participant’s compensation, and subject to a maximum of $3,000 per employee. Under the Plan, the Company may make discretionary contributions to employee accounts.

During the nine months ended September 27, 2024 and September 29, 2023, the Company made matching contributions of $2.1 million and $1.9 million, respectively.

Variable Interest Entities

On March 4, 2016, the Company and the Company’s wholly-owned subsidiary, Willdan Energy Solutions, Inc. (“WES”), acquired substantially all of the assets of Genesys Engineering, P.C. (“Genesys”) and assumed certain specified liabilities of Genesys (collectively, the “Purchase”) pursuant to an Asset Purchase and Merger Agreement, dated as of February 26, 2016 (the “Agreement”), by and among Willdan Group, Inc., WES, WESGEN (as defined below), Genesys and Ronald W. Mineo (“Mineo”) and Robert J. Braun (“Braun” and, together with Mineo, the “Genesys Shareholders”). On March 5, 2016, pursuant to the terms of the Agreement, WESGEN, Inc., a non-affiliated corporation (“WESGEN”), merged (the “Merger” and, together with the Purchase, the “Acquisition”) with Genesys, with Genesys remaining as the surviving corporation. Genesys was acquired to strengthen the Company’s power engineering capability in the northeastern U.S., and also to increase client exposure and experience with universities.

Genesys continues to be a professional corporation organized under the laws of the State of New York, wholly-owned by one or more licensed engineers. Pursuant to New York law, the Company does not own capital stock of Genesys. The Company has entered into an agreement with the Shareholder of Genesys pursuant to which the Shareholder will be prohibited from selling, transferring or encumbering the Shareholder’s ownership interest in Genesys without the Company’s consent. Notwithstanding the Company’s rights regarding the transfer of Genesys’s stock, the Company does not have control over the professional decision making of Genesys’s engineering services. The Company has entered into an administrative services agreement with Genesys pursuant to which WES will provide Genesys with ongoing administrative, operational and other non-professional support services. Genesys pays WES a service fee, which consists of all of the costs incurred by WES to provide the administrative services to Genesys plus ten percent of such costs, as well as any other costs that relate to professional service supplies and personnel costs. As a result of the administrative services agreement, the Company absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES.

The Company manages Genesys and has the power to direct the activities that most significantly impact Genesys’s performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, the Company is the primary beneficiary of Genesys and consolidates Genesys as a variable interest entity (“VIE”). In addition, the Company concluded there is no noncontrolling interest related to the consolidation of Genesys because the Company determined that (i) the shareholder of Genesys does not have more than a nominal amount of equity investment at risk, (ii) WES absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES and the Company has, since entering into the administrative services agreement, had to continuously defer service fees for Genesys, and (iii) the Company believes Genesys will continue to have a shortfall on payment of its service fees for the foreseeable future, leaving no expected residual returns for the shareholder. As of September 27, 2024, the Company had one VIE — Genesys.

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION
9 Months Ended
Sep. 27, 2024
SEGMENT AND GEOGRAPHICAL INFORMATION  
SEGMENT AND GEOGRAPHICAL INFORMATION

9. SEGMENT AND GEOGRAPHICAL INFORMATION

Segment Information

The Company’s two segments are Energy, and Engineering and Consulting, and the Company’s chief operating decision maker, which continues to be its chief executive officer, receives and reviews financial information in this format.

There were no intersegment sales during the three and nine months ended September 27, 2024 and September 29, 2023. The Company’s chief operating decision maker evaluates the performance of each segment based upon income or loss from operations before income taxes. Certain segment asset information including expenditures for long-lived assets has not been presented as it is not reported to or reviewed by the chief operating decision maker. In addition, enterprise-wide service line contract revenue is not included as it is impracticable to report this information for each group of similar services.

Financial information with respect to the reportable segments and reconciliation to the amounts reported in the Company’s Condensed Consolidated Financial Statements is as follows:

Engineering

Unallocated

Consolidated

    

Energy

    

& Consulting

    

Corporate

    

Intersegment

    

Total

(in thousands)

Fiscal Three Months Ended September 27, 2024

Contract revenue

$

134,036

$

24,216

$

-

$

-

$

158,252

Depreciation and amortization

3,337

379

-

-

3,716

Interest expense, net

-

-

1,934

-

1,934

Segment profit (loss) before income tax expense

6,176

4,280

(2,953)

-

7,503

Income tax expense (benefit)

(25)

85

97

-

157

Net income (loss)

6,202

4,194

(3,050)

-

7,346

Segment assets (1)

348,617

29,523

92,243

(23,130)

447,253

Fiscal Three Months Ended September 29, 2023

Contract revenue

$

111,030

$

21,708

$

-

$

-

$

132,738

Depreciation and amortization

3,854

336

-

-

4,190

Interest expense, net

2

-

2,435

-

2,437

Segment profit (loss) before income tax expense

2,814

2,853

(3,388)

-

2,279

Income tax expense (benefit)

852

728

(867)

-

713

Net income (loss)

1,961

2,127

(2,522)

-

1,566

Segment assets (1)

340,422

26,901

57,427

(23,130)

401,620

Fiscal Nine Months Ended September 27, 2024

Contract revenue

$

352,634

$

69,103

$

-

$

-

$

421,737

Depreciation and amortization

9,800

1,137

-

-

10,937

Interest expense, net

-

-

6,031

-

6,031

Segment profit (loss) before income tax expense

15,886

9,608

(8,749)

-

16,745

Income tax expense (benefit)

1,767

1,069

(973)

-

1,863

Net income (loss)

14,119

8,539

(7,776)

-

14,882

Segment assets (1)

348,617

29,523

92,243

(23,130)

447,253

Fiscal Nine Months Ended September 29, 2023

Contract revenue

$

292,330

$

62,088

$

-

$

-

$

354,418

Depreciation and amortization

11,655

863

-

-

12,518

Interest expense, net

5

-

7,105

-

7,110

Segment profit (loss) before income tax expense

6,188

8,658

(10,239)

-

4,607

Income tax expense (benefit)

2,300

3,218

(3,806)

-

1,712

Net income (loss)

3,888

5,440

(6,433)

-

2,895

Segment assets (1)

340,422

26,901

57,427

(23,130)

401,620

(1)Segment assets are presented net of intercompany receivables.

 

The following tables provide information about disaggregated revenue by contract type, client type and geographical region:

    

Three months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,953

$

17,767

$

25,720

Unit-based

52,487

4,993

57,480

Fixed price

73,596

1,456

75,052

Total (1)

$

134,036

$

24,216

$

158,252

Client Type

Commercial

$

7,964

$

1,968

$

9,932

Government

61,115

22,155

83,270

Utilities (2)

64,957

93

65,050

Total (1)

$

134,036

$

24,216

$

158,252

Geography (3)

Domestic

$

134,036

$

24,216

$

158,252

    

Nine months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

25,190

$

51,193

$

76,383

Unit-based

147,022

14,375

161,397

Fixed price

180,422

3,535

183,957

Total (1)

$

352,634

$

69,103

$

421,737

Client Type

Commercial

$

23,858

$

5,281

$

29,139

Government

148,403

63,614

212,017

Utilities (2)

180,373

208

180,581

Total (1)

$

352,634

$

69,103

$

421,737

Geography (3)

Domestic

$

352,634

$

69,103

$

421,737

    

Three months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

9,382

$

16,629

$

26,011

Unit-based

42,119

4,182

46,301

Fixed price

59,529

897

60,426

Total (1)

$

111,030

$

21,708

$

132,738

Client Type

Commercial

$

7,448

$

1,588

$

9,036

Government

52,410

20,054

72,464

Utilities (2)

51,172

66

51,238

Total (1)

$

111,030

$

21,708

$

132,738

Geography (3)

Domestic

$

111,030

$

21,708

$

132,738

    

Nine months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

26,038

$

47,626

$

73,664

Unit-based

126,946

11,616

138,562

Fixed price

139,346

2,846

142,192

Total (1)

$

292,330

$

62,088

$

354,418

Client Type

Commercial

$

21,607

$

4,128

$

25,735

Government

119,028

57,759

176,787

Utilities (2)

151,695

201

151,896

Total (1)

$

292,330

$

62,088

$

354,418

Geography (3)

Domestic

$

292,330

$

62,088

$

354,418

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from the Company’s foreign operations were not material for the three and nine months ended September 27, 2024 and September 29, 2023.

 

Geographical Information

Substantially all of the Company’s consolidated revenue was derived from its operations in the U.S. The Company operates through a network of offices spread across 22 U.S. states, the District of Columbia, the Commonwealth of Puerto Rico, and Canada. Revenues from the Company’s Puerto Rican and Canadian operations were not material for the three and nine months ended September 27, 2024, nor for the three and nine months ended September 29, 2023.

Customer Concentration

For the three and nine months ended September 27, 2024, the Company’s top 10 customers accounted for 49.1%, and 49.5%, respectively, of the Company’s consolidated contract revenue. For the three and nine months ended September 29, 2023, the Company’s top 10 customers accounted for 52.9%, and 50.6%, respectively, of the Company’s consolidated contract revenue.

For the three and nine months ended September 27, 2024 and September 29, 2023, the Company had no individual customers that accounted for more than 10% of its consolidated contract revenue.

On a segment basis, the Company reports customers that accounted for more than 10% of its segment contract revenues.

For the three months ended September 27, 2024, the Company derived 22.1% of its Energy segment revenues from two customers, Southern California Edison and Clark County School District. For the nine months ended September 27, 2024, no single customer accounted for 10% or more of the Company’s Energy segment revenues. For the three and nine months ended September 27, 2024, no single customer accounted for 10% or more of the Company’s Engineering and Consulting segment revenues.

For the three months ended September 29, 2023, the Company derived 21.7% of its Energy segment revenues from two customers, Pueblo County School District and Dormitory Authority State of New York (“DASNY”). For the nine months ended September 29, 2023, the Company derived 22.7% of its Energy Segment revenues from two customers, the Los Angeles Department of Water and Power (“LADWP”) and DASNY. For the three and nine months ended September 29, 2023, no single customer accounted for 10% or more of the Company’s Engineering and Consulting segment revenues.  

On a geographical basis, the Company’s largest clients are based in California and New York. For the three and nine months ended September 27, 2024, services provided to clients in California accounted for 42.2% and 43.3%, respectively, of the Company’s consolidated contract revenue, and services provided to clients in New York accounted for 21.0% and 23.7%, respectively, of the Company’s consolidated contract revenue. For the three and nine months ended September 29, 2023, services provided to clients in California accounted for 42.8% and 42.2%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 23.6% and 24.7%, respectively, of the Company’s contract revenue.  

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.24.3
INCOME TAXES
9 Months Ended
Sep. 27, 2024
INCOME TAXES  
INCOME TAXES

10. INCOME TAXES

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences of temporary differences between the financial reporting basis and tax basis of the Company’s assets and liabilities, subject to a judgmental assessment of the recoverability of deferred tax assets. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets may not be realized. Significant judgment is applied when assessing the need for valuation allowances and includes the evaluation of historical income (loss) adjusted for the effects of non-recurring items and the impact of recent business combinations. Areas of estimation include the Company’s consideration of future taxable income which is driven by verifiable signed contracts and ongoing prudent and feasible tax planning strategies. Should a change in circumstances lead to a change in judgment about the utilization of deferred tax assets in future years, the Company would adjust the related valuation allowances in the period that the change in circumstances occurs, along with a corresponding increase or charge to income.

At the end of fiscal year 2023, the Company’s total valuation allowance was $1.2 million, remaining unchanged from the end of fiscal year 2022. As of September 27, 2024, the Company assessed all available positive and negative evidence available to determine whether, based on the weight of that evidence, there was a change in judgment related to the utilization of deferred tax assets in future years. The Company concluded that as of September 27, 2024, the valuation allowance for the Company’s deferred tax assets was appropriate in accordance with ASC 740. Consequently, there was no change to the valuation allowance during the three and nine months ended September 27, 2024.

For acquired business entities, if the Company identifies changes to acquired deferred tax asset valuation allowances or liabilities related to uncertain tax positions during the measurement period and they relate to new information obtained about facts and circumstances that existed as of the acquisition date, those changes are considered a measurement period adjustment, and the Company records the offset to goodwill. The Company records all other changes to deferred tax asset valuation allowances and liabilities related to uncertain tax positions in current period income tax expense.

The Company recognizes the tax benefit from uncertain tax positions if it is more likely than not that the tax positions will be sustained on examination by the tax authorities, based on the technical merits of the position. The tax benefit is measured based on the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement. The Company recognizes interest and penalties related to unrecognized tax benefits in income tax expense. During the three and nine months ended September 27, 2024, and the three and nine months ended September 29, 2023, the Company did not record a liability for uncertain tax positions.

Based on the Company’s estimates and determination of an effective tax rate for the year, the Company recorded an income tax expense of $0.2 million and $1.9 million for the three and nine months ended September 27, 2024, respectively, compared to an income tax expense of $0.7 million and $1.7 million for the three and nine months ended September 29, 2023, respectively. During the three and nine months ended September 27, 2024, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, nondeductible executive compensation, deductions related to stock option exercises, research and development tax credits, and the energy-efficiency building deduction. During the three and nine months ended September 29, 2023, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the energy-efficiency building deduction.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.24.3
EARNINGS PER SHARE ("EPS")
9 Months Ended
Sep. 27, 2024
EARNINGS PER SHARE (EPS)  
EARNINGS PER SHARE (EPS)

11. EARNINGS PER SHARE (“EPS”)

Basic EPS is computed by dividing net income available to common stockholders by the weighted-average number of common shares outstanding. Diluted EPS is computed by dividing net income by the weighted-average number of common shares outstanding and dilutive potential common shares for the period. Potential common shares include the weighted-average dilutive effects of outstanding stock options and restricted stock awards using the treasury stock method.

The following table sets forth the number of weighted-average common shares outstanding used to compute basic and diluted EPS:

Three months ended

Nine months ended

September 27,

September 29,

September 27,

September 29,

    

2024

    

2023

    

2024

    

2023

(in thousands, except per share amounts)

Net income (loss)

$

7,346

$

1,566

$

14,882

$

2,895

Weighted-average common shares outstanding

 

13,930

 

13,462

 

13,753

 

13,357

Effect of dilutive stock options and restricted stock awards

 

428

 

247

 

377

 

206

Weighted-average common shares outstanding-diluted

 

14,358

 

13,709

 

14,130

 

13,563

Earnings (Loss) per share:

Basic

$

0.53

$

0.12

$

1.08

$

0.22

Diluted

$

0.51

$

0.11

$

1.05

$

0.21

 

For the three months ended September 27, 2024, the Company did not exclude any shares subject to outstanding equity awards from the calculation of diluted shares. For the nine months ended September 27, 2024, the Company excluded 269,000 common shares subject to outstanding equity awards from the calculation of diluted shares because their impact would have been anti-dilutive. For the three and nine months ended September 29, 2023, the Company excluded 363,000 and 389,000 common shares subject to outstanding equity awards, respectively, from the calculation of diluted shares because their impact would have been anti-dilutive.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.24.3
CONTINGENCIES
9 Months Ended
Sep. 27, 2024
CONTINGENCIES  
CONTINGENCIES

12. CONTINGENCIES

Claims and Lawsuits

The Company is subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.

In accordance with accounting standards regarding loss contingencies, the Company accrues an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and discloses the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for the Company’s financial statements not to be misleading. The Company does not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.

Because litigation outcomes are inherently unpredictable, the Company’s evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of the Company’s financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then the Company will disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on the Company’s earnings in any given reporting period. However, in the opinion of the Company’s management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on the Company’s financial statements.

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.24.3
SUBSEQUENT EVENTS
9 Months Ended
Sep. 27, 2024
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

13. SUBSEQUENT EVENTS

In accordance with ASC Topic 855, Subsequent Events, the Company evaluates subsequent events up until the date the Condensed Consolidated Financial Statements are issued.

On October 23, 2024 (the “Enica Closing Date”), the Company, through its wholly owned subsidiary, WES, acquired substantially all of the assets of Enica Engineering, PLLC. (“Enica”), pursuant to the terms of the Asset Purchase Agreement, dated as of October 23, 2024 (the “Enica Agreement”), by and among the Company, WES, Genesys, Enica, and Reed Berinato (“Berinato”) and Mark Prewett (“Prewett” and, together with Berinato, the “Enica Members”). 

Pursuant to the terms of the Enica Agreement, the purchase price consists of (i) $12.0 million to be paid in cash on the Enica Closing Date (subject to holdbacks and adjustments) and (ii) up to $6.0 million in cash if Enica exceeds certain financial targets during the two years after the Enica Closing Date; for a potential maximum purchase price of $18.0 million.

The Enica Agreement contains customary representations and warranties regarding the Company, WES, Genesys, Enica, and the Enica members, indemnification provisions and other provisions customary for transactions of this nature. Pursuant to the terms of the Agreement, the Company, WES, and Genesys provided guarantees to the Enica Members which guarantee certain of Enica’s obligations under the Enica Agreement.

The Company used cash on hand to fund the initial purchase price.

Enica is an energy efficiency company that provides an array of services around energy projects, metering, and consulting services to help its customers drive energy efficiency, decarbonization, and energy reduction. Enica’s financial information will be included within the Company’s Energy segment beginning in the fourth quarter of fiscal year 2024 and the Company expects to finalize the purchase price allocation related to this transaction by the end of the second quarter of fiscal year 2025.

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.24.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Jun. 28, 2024
Mar. 29, 2024
Sep. 29, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 27, 2024
Sep. 29, 2023
Pay vs Performance Disclosure                
Net Income (Loss) $ 7,346 $ 4,594 $ 2,942 $ 1,566 $ 397 $ 932 $ 14,882 $ 2,895
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.24.3
Insider Trading Arrangements
3 Months Ended
Sep. 27, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.24.3
ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies)
9 Months Ended
Sep. 27, 2024
ORGANIZATION AND OPERATIONS OF THE COMPANY  
Basis of Presentation

The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, Organization and Operations of the Company, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.

Fiscal Years

Fiscal Years

The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2024, which ends on December 27, 2024, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2023, which ended on December 29, 2023, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.

Use of Estimates

Use of Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

Reclassifications

Reclassifications

Certain prior year amounts have been reclassified in the condensed consolidated financial statements to conform to the current year presentation.

Accounting Pronouncements Recently Issued

Accounting Pronouncements Recently Issued

In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”). ASU 2023-09 amends the rules on income tax disclosures to require entities to disclose specific categories in the rate reconciliation, the income or loss from continuing operations before income tax expense or benefit (separated between domestic and foreign) and income tax expense or benefit from continuing operations (separated by federal, state, and foreign). In addition, ASU 2023-09 requires entities to disclose their income tax payments to international, federal, state, and local jurisdictions, among other changes. The amendments can be applied on a prospective basis although retrospective application is permitted. The amendments are effective for the annual reporting periods beginning after December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact this update will have on its Consolidated Financial Statements.

In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” (“ASU 2023-07”). ASU 2023-07 expands segment disclosure requirements through enhanced disclosures related to significant segment expenses that are regularly provided to the chief operating decision maker (“CODM”), a description of other segment items by reportable segment, and any additional measures of a segment’s profit or loss used by the CODM when deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The amendments are effective for the fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact this update will have on its Consolidated Financial Statements.

  

In October 2023, the FASB issued ASU No. 2023-06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023-06”). ASU 2023-06 amends U.S. GAAP to reflect updates and simplifications to certain disclosure and presentation requirements referred to FASB by the SEC. The targeted amendments incorporate 14 of the 27 disclosures referred by the SEC into codification. Each amendment in ASU 2023-06 is effective on either the date on which the SEC’s removal of the related disclosure requirement from Regulation S-X or Regulation S-K becomes effective, or on June 30, 2027, if the SEC has not removed the requirements by that date. The Company does not believe the amendments in ASU 2023-06 will have a material impact in any of the Company’s current disclosures.

 

Revenue Recognition

3. REVENUES

The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.

The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.

Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and, usually, are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, which usually is the life of the contract.

To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.

The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.

Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.

The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.

In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.

Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.

Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.

The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.

Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.

The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.

Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.

Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.

Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying condensed consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.

Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.

Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.

Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of September 27, 2024 and December 29, 2023, contract assets included retainage of approximately $18.9 million and $14.3 million, respectively.

 

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUES (Tables)
9 Months Ended
Sep. 27, 2024
REVENUES  
Schedule of contracts by reportable segments and type of contracts

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables)
9 Months Ended
Sep. 27, 2024
SUPPLEMENTAL FINANCIAL STATEMENT DATA  
Schedule of reconciliation of cash and cash equivalents, and restricted cash

September 27,

December 29,

    

2024

    

2023

(in thousands)

Cash and cash equivalents

$

53,106

$

23,397

Restricted cash

 

 

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

$

53,106

$

23,397

 

Schedule of equipment and leasehold improvements

September 27,

December 29,

    

2024

    

2023

(in thousands)

Furniture and fixtures

$

4,501

$

4,379

Computer hardware and software

 

50,070

 

44,594

Leasehold improvements

 

3,551

 

3,382

Equipment under finance leases

 

6,969

 

6,139

Automobiles, trucks, and field equipment

 

3,551

 

3,373

Subtotal

 

68,642

 

61,867

Accumulated depreciation and amortization

 

(39,687)

 

(34,770)

Equipment and leasehold improvements, net

$

28,955

$

27,097

 

Schedule of accrued liabilities

September 27,

December 29,

    

2024

    

2023

(in thousands)

Accrued subcontractor costs

$

32,122

$

30,196

Accrued bonuses

13,331

14,423

Employee withholdings

 

4,079

 

3,123

Compensation and payroll taxes

 

4,705

 

3,125

Rebate and other

139

Accrued accounting costs and taxes

 

4,284

 

3,123

Total accrued liabilities

$

58,521

$

54,129

 

Schedule of changes in the carrying value of goodwill by reporting unit

December 29,

Additional

Additions /

September 27,

    

2023

    

Purchase Cost

    

Adjustments

    

2024

(in thousands)

Reporting Unit:

Energy

$

129,375

$

$

$

129,375

Engineering and Consulting

1,769

1,769

$

131,144

$

$

$

131,144

 

Schedule of gross amounts and accumulated amortization of acquired identifiable intangible assets with finite useful lives

September 27, 2024

December 29, 2023

Gross

Accumulated

Gross

Accumulated

Amortization

    

Amount

    

Amortization

    

Amount

    

Amortization

    

Period

(in thousands)

(in years)

Finite:

Backlog

$

8,306

$

8,306

$

8,306

$

8,095

1.0

Tradename

15,936

13,074

15,936

12,695

 

2.5

-

6.0

Non-compete agreements

1,613

1,476

1,613

1,440

4.0

-

5.0

Developed technology

15,810

15,121

15,810

14,521

8.0

Customer relationships

58,149

35,296

58,149

31,107

5.0

-

8.0

Total intangible assets

$

99,814

$

73,273

$

99,814

$

67,858

 

XML 35 R25.htm IDEA: XBRL DOCUMENT v3.24.3
DERIVATIVE FINANCIAL INSTRUMENTS (Tables)
9 Months Ended
Sep. 27, 2024
DERIVATIVE FINANCIAL INSTRUMENTS  
Schedule of the fair values of outstanding derivatives designated as hedging instruments

    

    

Fair Value of Derivative

    

    

Instruments as of

Balance Sheet Location

September 27, 2024

December 29, 2023

(in thousands)

Interest rate swap agreement

Current assets

$

$

46

Interest rate swap agreement

Accrued liabilities

(339)

Interest rate swap agreement

Other noncurrent liabilities

(683)

(887)

 

Schedule of accumulated other comprehensive income (loss)

Gain (Loss) on

Accumulated Other

    

Derivative Instruments

    

Comprehensive Income (Loss)

(in thousands)

Balances at December 29, 2023

$

(664)

$

(664)

Other comprehensive income (loss) before reclassifications

549

549

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

(115)

(115)

Net current-period other comprehensive income (loss)

434

434

Balances at March 29, 2024

$

(230)

$

(230)

Other comprehensive income (loss) before reclassifications

127

127

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

(26)

(26)

Net current-period other comprehensive income (loss)

101

101

Balances at June 28, 2024

$

(129)

$

(129)

Other comprehensive income (loss) before reclassifications

(858)

(858)

Amounts reclassified from accumulated other comprehensive income (loss):

Income tax benefit (expense) related to derivative instruments

180

180

Net current-period other comprehensive income (loss)

(678)

(678)

Balances at September 27, 2024

$

(807)

$

(807)

XML 36 R26.htm IDEA: XBRL DOCUMENT v3.24.3
DEBT OBLIGATIONS (Tables)
9 Months Ended
Sep. 27, 2024
DEBT OBLIGATIONS  
Schedule of debt obligations, excluding obligations under capital leases

    

September 27,

    

December 29,

2024

2023

(in thousands)

Outstanding borrowings on Term Loan

$

92,500

$

98,125

Outstanding borrowings on Revolving Credit Facility

Other debt agreements

137

327

Total debt

92,637

98,452

Issuance costs and debt discounts

(743)

(1,021)

Subtotal

91,894

97,431

Less current portion of long-term debt

 

10,137

 

8,452

Long-term debt portion

$

81,757

$

88,979

 

XML 37 R27.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES (Tables)
9 Months Ended
Sep. 27, 2024
LEASES  
Summary of the Lease Expense

Three Months Ended

Nine Months Ended

September 27,

September 29,

September 27,

September 29,

2024

    

2023

    

2024

    

2023

(in thousands)

(in thousands)

Operating lease cost

$

1,522

$

1,464

$

4,579

$

4,621

Sublease Income

(14)

(30)

(42)

(30)

Finance lease cost:

Amortization of assets

392

340

1,114

969

Interest on lease liabilities

46

28

112

74

Total net lease cost

$

1,946

$

1,802

$

5,763

$

5,634

 

Summary of Lease Information Presented on the Condensed Consolidated Balance Sheet

September 27,

    

December 29,

2024

2023

(in thousands)

Operating leases:

Right-of-use assets

$

14,366

$

12,465

 

 

Lease liability

$

5,509

$

4,537

Lease liability, less current portion

 

10,593

 

9,758

Total lease liabilities

$

16,102

$

14,295

 

 

Finance leases (included in equipment and leasehold improvements, net):

Equipment and leasehold improvements, net

$

6,969

$

6,139

Accumulated depreciation

 

(4,458)

 

(3,837)

Total equipment and leasehold improvements, net

$

2,511

$

2,302

 

Finance lease obligations

$

1,175

$

1,186

Finance lease obligations, less current portion

1,453

1,184

Total finance lease obligations

$

2,628

$

2,370

Weighted average remaining lease term (in years):

Operating Leases

3.05

3.43

Finance Leases

2.49

2.31

Weighted average discount rate:

Operating Leases

6.91

%

6.09

%

Finance Leases

6.68

%

5.19

%

 

Summary of Other Information and Supplemental Cash Flow Information Related to Finance and Operating Leases

Nine Months Ended

September 27,

September 29,

2024

    

2023

(in thousands)

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

Operating cash flow from operating leases

$

4,707

$

4,318

Operating cash flow from finance leases

112

74

Financing cash flow from finance leases

1,064

951

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

Operating leases

$

5,757

$

4,316

 

Summary of the Maturities of Operating Lease Liabilities

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2024

$

1,588

$

438

2025

 

6,278

 

1,158

2026

 

5,100

824

2027

2,667

313

2028

1,673

 

94

2029 and thereafter

 

750

 

27

Total lease payments

18,056

2,854

Less: Imputed interest

 

(1,954)

(226)

Total lease obligations

 

16,102

2,628

Less: Current obligations

 

5,509

1,175

Noncurrent lease obligations

$

10,593

$

1,453

 

Summary of the Maturities of Finance Lease Liabilities

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2024

$

1,588

$

438

2025

 

6,278

 

1,158

2026

 

5,100

824

2027

2,667

313

2028

1,673

 

94

2029 and thereafter

 

750

 

27

Total lease payments

18,056

2,854

Less: Imputed interest

 

(1,954)

(226)

Total lease obligations

 

16,102

2,628

Less: Current obligations

 

5,509

1,175

Noncurrent lease obligations

$

10,593

$

1,453

 

XML 38 R28.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION (Tables)
9 Months Ended
Sep. 27, 2024
SEGMENT AND GEOGRAPHICAL INFORMATION  
Schedule of financial information with respect to the reportable segments

Engineering

Unallocated

Consolidated

    

Energy

    

& Consulting

    

Corporate

    

Intersegment

    

Total

(in thousands)

Fiscal Three Months Ended September 27, 2024

Contract revenue

$

134,036

$

24,216

$

-

$

-

$

158,252

Depreciation and amortization

3,337

379

-

-

3,716

Interest expense, net

-

-

1,934

-

1,934

Segment profit (loss) before income tax expense

6,176

4,280

(2,953)

-

7,503

Income tax expense (benefit)

(25)

85

97

-

157

Net income (loss)

6,202

4,194

(3,050)

-

7,346

Segment assets (1)

348,617

29,523

92,243

(23,130)

447,253

Fiscal Three Months Ended September 29, 2023

Contract revenue

$

111,030

$

21,708

$

-

$

-

$

132,738

Depreciation and amortization

3,854

336

-

-

4,190

Interest expense, net

2

-

2,435

-

2,437

Segment profit (loss) before income tax expense

2,814

2,853

(3,388)

-

2,279

Income tax expense (benefit)

852

728

(867)

-

713

Net income (loss)

1,961

2,127

(2,522)

-

1,566

Segment assets (1)

340,422

26,901

57,427

(23,130)

401,620

Fiscal Nine Months Ended September 27, 2024

Contract revenue

$

352,634

$

69,103

$

-

$

-

$

421,737

Depreciation and amortization

9,800

1,137

-

-

10,937

Interest expense, net

-

-

6,031

-

6,031

Segment profit (loss) before income tax expense

15,886

9,608

(8,749)

-

16,745

Income tax expense (benefit)

1,767

1,069

(973)

-

1,863

Net income (loss)

14,119

8,539

(7,776)

-

14,882

Segment assets (1)

348,617

29,523

92,243

(23,130)

447,253

Fiscal Nine Months Ended September 29, 2023

Contract revenue

$

292,330

$

62,088

$

-

$

-

$

354,418

Depreciation and amortization

11,655

863

-

-

12,518

Interest expense, net

5

-

7,105

-

7,110

Segment profit (loss) before income tax expense

6,188

8,658

(10,239)

-

4,607

Income tax expense (benefit)

2,300

3,218

(3,806)

-

1,712

Net income (loss)

3,888

5,440

(6,433)

-

2,895

Segment assets (1)

340,422

26,901

57,427

(23,130)

401,620

(1)Segment assets are presented net of intercompany receivables.

 

Schedule of disaggregation of revenue

    

Three months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,953

$

17,767

$

25,720

Unit-based

52,487

4,993

57,480

Fixed price

73,596

1,456

75,052

Total (1)

$

134,036

$

24,216

$

158,252

Client Type

Commercial

$

7,964

$

1,968

$

9,932

Government

61,115

22,155

83,270

Utilities (2)

64,957

93

65,050

Total (1)

$

134,036

$

24,216

$

158,252

Geography (3)

Domestic

$

134,036

$

24,216

$

158,252

    

Nine months ended September 27, 2024

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

25,190

$

51,193

$

76,383

Unit-based

147,022

14,375

161,397

Fixed price

180,422

3,535

183,957

Total (1)

$

352,634

$

69,103

$

421,737

Client Type

Commercial

$

23,858

$

5,281

$

29,139

Government

148,403

63,614

212,017

Utilities (2)

180,373

208

180,581

Total (1)

$

352,634

$

69,103

$

421,737

Geography (3)

Domestic

$

352,634

$

69,103

$

421,737

    

Three months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

9,382

$

16,629

$

26,011

Unit-based

42,119

4,182

46,301

Fixed price

59,529

897

60,426

Total (1)

$

111,030

$

21,708

$

132,738

Client Type

Commercial

$

7,448

$

1,588

$

9,036

Government

52,410

20,054

72,464

Utilities (2)

51,172

66

51,238

Total (1)

$

111,030

$

21,708

$

132,738

Geography (3)

Domestic

$

111,030

$

21,708

$

132,738

    

Nine months ended September 29, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

26,038

$

47,626

$

73,664

Unit-based

126,946

11,616

138,562

Fixed price

139,346

2,846

142,192

Total (1)

$

292,330

$

62,088

$

354,418

Client Type

Commercial

$

21,607

$

4,128

$

25,735

Government

119,028

57,759

176,787

Utilities (2)

151,695

201

151,896

Total (1)

$

292,330

$

62,088

$

354,418

Geography (3)

Domestic

$

292,330

$

62,088

$

354,418

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from the Company’s foreign operations were not material for the three and nine months ended September 27, 2024 and September 29, 2023.

 

XML 39 R29.htm IDEA: XBRL DOCUMENT v3.24.3
EARNINGS PER SHARE ("EPS") (Tables)
9 Months Ended
Sep. 27, 2024
EARNINGS PER SHARE (EPS)  
Schedule of number of weighted-average common shares outstanding used to compute basic and diluted EPS

Three months ended

Nine months ended

September 27,

September 29,

September 27,

September 29,

    

2024

    

2023

    

2024

    

2023

(in thousands, except per share amounts)

Net income (loss)

$

7,346

$

1,566

$

14,882

$

2,895

Weighted-average common shares outstanding

 

13,930

 

13,462

 

13,753

 

13,357

Effect of dilutive stock options and restricted stock awards

 

428

 

247

 

377

 

206

Weighted-average common shares outstanding-diluted

 

14,358

 

13,709

 

14,130

 

13,563

Earnings (Loss) per share:

Basic

$

0.53

$

0.12

$

1.08

$

0.22

Diluted

$

0.51

$

0.11

$

1.05

$

0.21

 

XML 40 R30.htm IDEA: XBRL DOCUMENT v3.24.3
ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) - segment
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Segment Information        
Number of reporting segments 2 2 2 2
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.24.3
ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details)
3 Months Ended 12 Months Ended
Dec. 27, 2024
Sep. 27, 2024
Jun. 28, 2024
Mar. 29, 2024
Dec. 29, 2023
Sep. 29, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 27, 2024
Dec. 29, 2023
Entity Information                    
Length of fiscal period 91 days 91 days 91 days 91 days 91 days 91 days 91 days 91 days 364 days 364 days
Minimum                    
Entity Information                    
Length of fiscal period       91 days       91 days 364 days 364 days
Maximum                    
Entity Information                    
Length of fiscal period       98 days       98 days 371 days 371 days
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.24.3
RECENT ACCOUNTING PRONOUNCEMENTS (Details)
Sep. 27, 2024
Accounting Standards Update 2023-09  
New Accounting Pronouncements  
Change in Accounting Principle, Accounting Standards Update, Adopted false
Accounting Standards Update 2023-07  
New Accounting Pronouncements  
Change in Accounting Principle, Accounting Standards Update, Adopted false
Accounting Standards Update 2023-06  
New Accounting Pronouncements  
Change in Accounting Principle, Accounting Standards Update, Adopted false
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUES - Segment Information (Details) - segment
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Segment Information        
Number of reporting segments 2 2 2 2
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.24.3
REVENUES - General Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Dec. 29, 2023
Revenue          
Payroll taxes, bonuses and employee benefit costs for all Company personnel $ 25,876 $ 23,805 $ 78,449 $ 68,606  
Revenue of the entity recorded in which it acts solely in the capacity of an agent     0    
Retained accounts receivable $ 18,900   $ 18,900   $ 14,300
Minimum          
Revenue          
Percent of revenue (as a percent) 2.00%   2.00%    
Maximum          
Revenue          
Percent of revenue (as a percent) 3.00%   3.00%    
Cost of Sales          
Revenue          
Payroll taxes, bonuses and employee benefit costs for all Company personnel     $ 0    
Allocation of facilities costs to contract revenue     $ 0    
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Sep. 29, 2023
Dec. 30, 2022
Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents        
Cash and cash equivalents $ 53,106 $ 23,397    
Restricted cash 0 0    
Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows $ 53,106 $ 23,397 $ 12,887 $ 19,485
Restricted Cash, Statement of Financial Position Restricted cash Restricted cash    
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Equipment and Leasehold Improvements    
Equipment under finance leases $ 6,969 $ 6,139
Equipment and leasehold improvements, gross 68,642 61,867
Accumulated depreciation and amortization (39,687) (34,770)
Equipment and leasehold improvements, net 28,955 27,097
Furniture and Fixtures    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements 4,501 4,379
Computer Hardware and Software    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements 50,070 44,594
Leasehold Improvements    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements 3,551 3,382
Automobiles Trucks and Field Equipment    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements $ 3,551 $ 3,373
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Dec. 29, 2023
Amortization Expense          
Amortization expense $ 392 $ 340 $ 1,114 $ 969 $ 1,300
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Accrued Liabilities    
Accrued subcontractor costs $ 32,122 $ 30,196
Accrued bonuses 13,331 14,423
Employee withholdings 4,079 3,123
Compensation and payroll taxes 4,705 3,125
Rebate and other   139
Accrued accounting costs and taxes 4,284 3,123
Total accrued liabilities $ 58,521 $ 54,129
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details)
$ in Thousands
Sep. 27, 2024
USD ($)
Changes in carrying value of goodwill  
Goodwill at beginning of period $ 131,144
Goodwill at end of period 131,144
Energy  
Changes in carrying value of goodwill  
Goodwill at beginning of period 129,375
Goodwill at end of period 129,375
Engineering and Consulting  
Changes in carrying value of goodwill  
Goodwill at beginning of period 1,769
Goodwill at end of period $ 1,769
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Finite-Lived Intangible Assets    
Gross Amount $ 99,814 $ 99,814
Accumulated Amortization 73,273 67,858
Backlog    
Finite-Lived Intangible Assets    
Gross Amount 8,306 8,306
Accumulated Amortization 8,306 8,095
Tradename    
Finite-Lived Intangible Assets    
Gross Amount 15,936 15,936
Accumulated Amortization 13,074 12,695
Non-compete agreements    
Finite-Lived Intangible Assets    
Gross Amount 1,613 1,613
Accumulated Amortization 1,476 1,440
Developed technology    
Finite-Lived Intangible Assets    
Gross Amount 15,810 15,810
Accumulated Amortization 15,121 14,521
Customer relationships    
Finite-Lived Intangible Assets    
Gross Amount 58,149 58,149
Accumulated Amortization $ 35,296 $ 31,107
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.24.3
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details)
Sep. 27, 2024
Backlog  
Finite-Lived Intangible Assets  
Amortization Period 1 year
Tradename | Minimum  
Finite-Lived Intangible Assets  
Amortization Period 2 years 6 months
Tradename | Maximum  
Finite-Lived Intangible Assets  
Amortization Period 6 years
Non-compete agreements | Minimum  
Finite-Lived Intangible Assets  
Amortization Period 4 years
Non-compete agreements | Maximum  
Finite-Lived Intangible Assets  
Amortization Period 5 years
Developed technology  
Finite-Lived Intangible Assets  
Amortization Period 8 years
Customer relationships | Minimum  
Finite-Lived Intangible Assets  
Amortization Period 5 years
Customer relationships | Maximum  
Finite-Lived Intangible Assets  
Amortization Period 8 years
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.24.3
DERIVATIVE FINANCIAL INSTRUMENTS - General Information (Details) - Interest Rate Swap - Cash Flow Hedging
$ in Millions
Nov. 30, 2023
USD ($)
Derivative Financial Instruments  
Derivative, inception date Nov. 30, 2023
Notional amount $ 50.0
Fixed rate (as a percent) 4.77%
Derivative, contract end date Sep. 29, 2026
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.24.3
DERIVATIVE FINANCIAL INSTRUMENTS - Cash Flow Hedge Effectiveness (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 27, 2024
Derivative Financial Instruments    
Other comprehensive income (loss), cash flow hedge, gain (loss), before reclassification and tax   $ (0.8)
Other comprehensive income (loss), cash flow hedge, gain (loss), reclassification, before tax   0.0
Other comprehensive income (loss), cash flow hedge, gain (loss), after reclassification, before tax, total $ (0.7) (0.1)
Derivative instruments, gain (loss) reclassification from accumulated OCI to income, estimated net amount to be transferred   $ 0.4
Derivative instruments, gain (loss) reclassification from accumulated OCI to income, estimate of time to transfer   12 months
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.24.3
DERIVATIVE FINANCIAL INSTRUMENTS - Fair Value (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Derivative Assets    
Derivative asset, current   $ 46
Derivative Asset, Current, Statement of Financial Position Prepaid expenses and other current assets Prepaid expenses and other current assets
Derivative Liabilities    
Derivative Liability, current $ (339)  
Derivative Liability, Current, Statement of Financial Position Accrued liabilities Accrued liabilities
Derivative liability, noncurrent $ (683) $ (887)
Derivative Liability, Noncurrent, Statement of Financial Position Other noncurrent liabilities Other noncurrent liabilities
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.24.3
DERIVATIVE FINANCIAL INSTRUMENTS - Accumulated Other Comprehensive Income (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended
Sep. 27, 2024
Jun. 28, 2024
Mar. 29, 2024
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]      
Balance $ 213,005 $ 205,515 $ 199,845
Net current-period other comprehensive income (loss) (678) 101 434
Balance 223,961 213,005 205,515
Gain (Loss) on Derivative Instruments      
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]      
Balance (129) (230) (664)
Other comprehensive income (loss) before reclassifications (858) 127 549
Amounts reclassified from accumulated other comprehensive income (loss): Income tax benefit (expense) related to derivative instruments 180 (26) (115)
Net current-period other comprehensive income (loss) (678) 101 434
Balance (807) (129) (230)
Accumulated Other Comprehensive Loss      
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]      
Balance (129) (230) (664)
Other comprehensive income (loss) before reclassifications (858) 127 549
Amounts reclassified from accumulated other comprehensive income (loss): Income tax benefit (expense) related to derivative instruments 180 (26) (115)
Net current-period other comprehensive income (loss) (678) 101 434
Balance $ (807) $ (129) $ (230)
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.24.3
DEBT OBLIGATIONS - Composition (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Debt Obligations    
Total debt $ 92,637 $ 98,452
Issuance costs and debt discounts (743) (1,021)
Subtotal 91,894 97,431
Notes Payable to Banks | Term Loan    
Debt Obligations    
Total debt 92,500 98,125
Notes Payable, Other Payables | Other Debt Agreements    
Debt Obligations    
Total debt $ 137 $ 327
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.24.3
DEBT OBLIGATIONS - Classification (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Debt Obligations    
Subtotal $ 91,894 $ 97,431
Less current portion of long-term debt 10,137 8,452
Long-term debt portion $ 81,757 $ 88,979
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.24.3
DEBT OBLIGATIONS - New Credit Facilities (Details)
Sep. 27, 2024
Notes Payable to Banks | New Credit Facilities  
Debt Obligations  
Composite interest rate (as a percent) 7.20%
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - General Information (Details)
$ in Thousands
9 Months Ended
Sep. 27, 2024
USD ($)
Leases  
Operating lease, option to extend true
Operating lease, option to terminate true
Residual value guarantee $ 0
Minimum  
Leases  
Operating lease, remaining lease term 1 year
Maximum  
Leases  
Operating lease, remaining lease term 8 years
Operating lease, extension term 5 years
Operating lease, terminate term 1 year
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Dec. 29, 2023
Lease cost          
Operating lease cost $ 1,522 $ 1,464 $ 4,579 $ 4,621  
Sublease Income (14) (30) (42) (30)  
Amortization of assets 392 340 1,114 969 $ 1,300
Interest on lease liabilities 46 28 112 74  
Total net lease cost $ 1,946 $ 1,802 $ 5,763 $ 5,634  
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Consolidated Balance Sheet (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Operating leases:    
Right-of-use assets $ 14,366 $ 12,465
Operating leases, lease liabilities    
Lease liability 5,509 4,537
Lease liability, less current portion 10,593 9,758
Total lease liabilities 16,102 14,295
Finance leases (included in equipment and leasehold improvements, net):    
Equipment and leasehold improvements, net 6,969 6,139
Accumulated depreciation (4,458) (3,837)
Total equipment and leasehold improvements, net $ 2,511 $ 2,302
Finance Lease, Right-of-Use Asset, Statement of Financial Position Equipment and leasehold improvements, net Equipment and leasehold improvements, net
Finance lease obligations    
Finance lease obligations $ 1,175 $ 1,186
Finance lease obligations, less current portion 1,453 1,184
Total finance lease obligations $ 2,628 $ 2,370
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Additional Information (Details)
Sep. 27, 2024
Dec. 29, 2023
Leases    
Operating leases, weighted average remaining lease term 3 years 18 days 3 years 5 months 4 days
Finance leases, weighted average remaining lease term 2 years 5 months 26 days 2 years 3 months 21 days
Operating leases, weighted average discount rate 6.91% 6.09%
Finance leases, weighted average discount rate 6.68% 5.19%
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Rent Expense (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
LEASES        
Rent expenses $ 1.7 $ 1.7 $ 5.2 $ 5.1
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Cash paid for amounts included in the measurement of lease liabilities:    
Operating cash flow from operating leases $ 4,707 $ 4,318
Operating cash flow from finance leases 112 74
Financing cash flow from finance leases 1,064 951
Right-of-use assets obtained in exchange for lease liabilities for operating leases $ 5,757 $ 4,316
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Operating Leases - Maturities of Lease Liabilities (Details)
$ in Thousands
Sep. 27, 2024
USD ($)
Operating  
Remainder of 2024 $ 1,588
2025 6,278
2026 5,100
2027 2,667
2028 1,673
2029 and thereafter 750
Total lease payments $ 18,056
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Operating Leases - Gross Difference (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Operating    
Total lease payments $ 18,056  
Less: Imputed interest (1,954)  
Total operating lease obligations 16,102 $ 14,295
Less: Current obligations 5,509 4,537
Noncurrent lease obligations $ 10,593 $ 9,758
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Finance Leases - Maturities of Lease Liabilities (Details)
$ in Thousands
Sep. 27, 2024
USD ($)
Finance  
Remainder of 2024 $ 438
2025 1,158
2026 824
2027 313
2028 94
2029 and thereafter 27
Total lease payments $ 2,854
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.24.3
LEASES - Finance Leases - Gross Difference (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Finance    
Total lease payments $ 2,854  
Less: Imputed interest (226)  
Total finance lease obligations 2,628 $ 2,370
Less: Current obligations 1,175 1,186
Noncurrent lease obligations $ 1,453 $ 1,184
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.24.3
COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details)
9 Months Ended
Sep. 27, 2024
USD ($)
Y
Sep. 29, 2023
USD ($)
Qualified Cash or Deferred Arrangement    
Employee Benefit Plans    
Defined Contribution Plan, Tax Status us-gaap:QualifiedPlanMember  
Maximum employee contribution as a percentage of compensation under 401(k) Plan (as a percent) 50.00%  
Defined Contribution Plan    
Employee Benefit Plans    
Service period 3 months  
Attained age | Y 21  
Defined contribution plan, employer matching contribution, percent of match (as a percent) 50.00%  
Defined contribution plan, employer matching contribution, percent of employees' gross pay (as a percent) 6.00%  
Maximum employer contribution per employee $ 3,000  
Employer matching contributions $ 2,100,000 $ 1,900,000
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.24.3
COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details)
9 Months Ended
Sep. 27, 2024
entity
COMMITMENTS AND VARIABLE INTEREST ENTITIES  
Percentage of costs reimbursed to WES by Genesys 10.00%
Number of VIEs 1
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) - segment
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Segment Information        
Number of reporting segments 2 2 2 2
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Jun. 28, 2024
Mar. 29, 2024
Sep. 29, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 27, 2024
Sep. 29, 2023
Segment reconciliation                
Contract revenue $ 158,252     $ 132,738     $ 421,737 $ 354,418
Depreciation and amortization 3,716     4,190     10,937 12,518
Interest expense, net 1,934     2,437     6,031 7,110
Segment profit (loss) before income tax expense 7,503     2,279     16,745 4,607
Income tax expense (benefit) 157     713     1,863 1,712
Net Income (Loss) 7,346 $ 4,594 $ 2,942 1,566 $ 397 $ 932 14,882 2,895
Energy                
Segment reconciliation                
Contract revenue 134,036     111,030     352,634 292,330
Engineering and Consulting                
Segment reconciliation                
Contract revenue 24,216     21,708     69,103 62,088
Operating Segments | Energy                
Segment reconciliation                
Contract revenue 134,036     111,030     352,634 292,330
Depreciation and amortization 3,337     3,854     9,800 11,655
Interest expense, net       2       5
Segment profit (loss) before income tax expense 6,176     2,814     15,886 6,188
Income tax expense (benefit) (25)     852     1,767 2,300
Net Income (Loss) 6,202     1,961     14,119 3,888
Operating Segments | Engineering and Consulting                
Segment reconciliation                
Contract revenue 24,216     21,708     69,103 62,088
Depreciation and amortization 379     336     1,137 863
Segment profit (loss) before income tax expense 4,280     2,853     9,608 8,658
Income tax expense (benefit) 85     728     1,069 3,218
Net Income (Loss) 4,194     2,127     8,539 5,440
Corporate, Non-Segment                
Segment reconciliation                
Interest expense, net 1,934     2,435     6,031 7,105
Segment profit (loss) before income tax expense (2,953)     (3,388)     (8,749) (10,239)
Income tax expense (benefit) 97     (867)     (973) (3,806)
Net Income (Loss) $ (3,050)     $ (2,522)     $ (7,776) $ (6,433)
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Dec. 29, 2023
Sep. 29, 2023
Segment Reporting      
Segment assets $ 447,253 $ 415,588 $ 401,620
Operating Segments | Energy      
Segment Reporting      
Segment assets 348,617   340,422
Operating Segments | Engineering and Consulting      
Segment Reporting      
Segment assets 29,523   26,901
Corporate, Non-Segment      
Segment Reporting      
Segment assets 92,243   57,427
Intersegment Eliminations      
Segment Reporting      
Segment assets $ (23,130)   $ (23,130)
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Revenue        
Revenue $ 158,252 $ 132,738 $ 421,737 $ 354,418
Domestic        
Revenue        
Revenue 158,252 132,738 421,737 354,418
Energy        
Revenue        
Revenue 134,036 111,030 352,634 292,330
Energy | Domestic        
Revenue        
Revenue 134,036 111,030 352,634 292,330
Engineering and Consulting        
Revenue        
Revenue 24,216 21,708 69,103 62,088
Engineering and Consulting | Domestic        
Revenue        
Revenue 24,216 21,708 69,103 62,088
Commercial        
Revenue        
Revenue 9,932 9,036 29,139 25,735
Commercial | Energy        
Revenue        
Revenue 7,964 7,448 23,858 21,607
Commercial | Engineering and Consulting        
Revenue        
Revenue 1,968 1,588 5,281 4,128
Government        
Revenue        
Revenue 83,270 72,464 212,017 176,787
Government | Energy        
Revenue        
Revenue 61,115 52,410 148,403 119,028
Government | Engineering and Consulting        
Revenue        
Revenue 22,155 20,054 63,614 57,759
Utilities        
Revenue        
Revenue 65,050 51,238 180,581 151,896
Utilities | Energy        
Revenue        
Revenue 64,957 51,172 180,373 151,695
Utilities | Engineering and Consulting        
Revenue        
Revenue 93 66 208 201
Time-and-Materials Contract        
Revenue        
Revenue 25,720 26,011 76,383 73,664
Time-and-Materials Contract | Energy        
Revenue        
Revenue 7,953 9,382 25,190 26,038
Time-and-Materials Contract | Engineering and Consulting        
Revenue        
Revenue 17,767 16,629 51,193 47,626
Unit-based Contract        
Revenue        
Revenue 57,480 46,301 161,397 138,562
Unit-based Contract | Energy        
Revenue        
Revenue 52,487 42,119 147,022 126,946
Unit-based Contract | Engineering and Consulting        
Revenue        
Revenue 4,993 4,182 14,375 11,616
Fixed-Price Contract        
Revenue        
Revenue 75,052 60,426 183,957 142,192
Fixed-Price Contract | Energy        
Revenue        
Revenue 73,596 59,529 180,422 139,346
Fixed-Price Contract | Engineering and Consulting        
Revenue        
Revenue $ 1,456 $ 897 $ 3,535 $ 2,846
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details)
Sep. 27, 2024
state
SEGMENT AND GEOGRAPHICAL INFORMATION  
Number of states in which entity operates 22
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.24.3
SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) - Revenue from Contract with Customer Benchmark
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Customer Concentration Risk | Top Ten Customers        
Concentration Risk        
Concentration risk (as a percent) 49.10% 52.90% 49.50% 50.60%
Customer Concentration Risk | Southern California Edison and Clark County School District | Energy        
Concentration Risk        
Concentration risk (as a percent) 22.10%      
Customer Concentration Risk | Pueblo County School District and Dormitory Authority State of New York | Energy        
Concentration Risk        
Concentration risk (as a percent)   21.70%    
Customer Concentration Risk | Los Angeles Department of Water and Power, and The Dormitory Authority State of New York | Energy        
Concentration Risk        
Concentration risk (as a percent)       22.70%
Geographic Concentration Risk | California        
Concentration Risk        
Concentration risk (as a percent) 42.20% 42.80% 43.30% 42.20%
Geographic Concentration Risk | New York        
Concentration Risk        
Concentration risk (as a percent) 21.00% 23.60% 23.70% 24.70%
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.24.3
INCOME TAXES - Valuation Allowance (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 27, 2024
Dec. 29, 2023
INCOME TAXES      
Valuation allowance     $ 1,200
Increase (decrease) in valuation allowance $ 0 $ 0  
XML 78 R68.htm IDEA: XBRL DOCUMENT v3.24.3
INCOME TAXES - Uncertain Tax Positions (Details) - USD ($)
$ in Thousands
Sep. 27, 2024
Sep. 29, 2023
Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued    
Liability for uncertain tax positions $ 0 $ 0
XML 79 R69.htm IDEA: XBRL DOCUMENT v3.24.3
INCOME TAXES - Income Tax Expense (Benefit) (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
INCOME TAXES        
Income tax expense (benefit) $ 157 $ 713 $ 1,863 $ 1,712
XML 80 R70.htm IDEA: XBRL DOCUMENT v3.24.3
EARNINGS PER SHARE ("EPS") - Computation (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 27, 2024
Jun. 28, 2024
Mar. 29, 2024
Sep. 29, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 27, 2024
Sep. 29, 2023
Net income (loss)                
Net Income (Loss) $ 7,346 $ 4,594 $ 2,942 $ 1,566 $ 397 $ 932 $ 14,882 $ 2,895
Net income (loss) - basic 7,346     1,566     14,882 2,895
Net income (loss) - diluted $ 7,346     $ 1,566     $ 14,882 $ 2,895
Weighted-average shares outstanding:                
Weighted-average common shares outstanding (in shares) 13,930     13,462     13,753 13,357
Effect of dilutive stock options and restricted stock awards (in shares) 428     247     377 206
Weighted-average common shares outstanding-diluted (in shares) 14,358     13,709     14,130 13,563
Earnings (Loss) per share:                
Basic (in dollars per share) $ 0.53     $ 0.12     $ 1.08 $ 0.22
Diluted (in dollars per share) $ 0.51     $ 0.11     $ 1.05 $ 0.21
XML 81 R71.htm IDEA: XBRL DOCUMENT v3.24.3
EARNINGS PER SHARE ("EPS") - Antidilutive Securities (Details) - shares
3 Months Ended 9 Months Ended
Sep. 29, 2023
Sep. 27, 2024
Sep. 29, 2023
Share-Based Payment Arrangement      
Antidilutive securities      
Antidilutive securities excluded from computation of earnings per share (in shares) 363,000 269,000 389,000
XML 82 R72.htm IDEA: XBRL DOCUMENT v3.24.3
SUBSEQUENT EVENTS (Details) - Subsequent Event - Enica Engineering, PLLC
$ in Millions
Oct. 23, 2024
USD ($)
SUBSEQUENT EVENTS  
Asset acquisition, effective date of acquisition Oct. 23, 2024
Asset acquisition, date of acquisition agreement Oct. 23, 2024
Purchase price $ 18.0
Cash paid for initial purchase price 12.0
Contingent consideration payable on asset acquisition $ 6.0
Earn-out measurement period 2 years
EXCEL 83 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -N57UD'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 " #;E5]9'Q!BT^X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*'%"#R;-I6.G#08K;.QF9+4UBQUC:R1]^R59FS*V!]C1TN]/ MGT -!H5]I.?8!XIL*=V-KO-)8=B*$W-0 E/Y'3*IX2?FH<^.LW3,QXA:/S0 M1P)9%!MPQ-IHUC #L[ 21=L85!A)(,K/GS&;H$9!.K(D><$95Z":.>) MX3QV#=P ,XPINO1=(+,2E^J?V*4#XI('MZ?%G6S:Q/ MK#W2]"M9Q>= 6W&=_%KM[O[#_ MV/@JV#;PZR[:+U!+ P04 " #;E5]9F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M -N57UEY@[D3^P4 -&PO=V]R:W-H965T&UL MM9EO;^HV%,:_BL6F:9-*$SM0VHXBT;2]0[>WI:5WU=VT%R8Q$-TDSAP'VF\_ M.X&DK9Q#%EW>0!)R'OSS\9_']G##Q?=TQ9A$+U$8IQ>=E93)N66EWHI%-#WF M"8O5+PLN(BK5K5A::2(8]?.@*+2(;9]8$0WBSFB8/YN*T9!G,@QB-A4HS:*( MBM=+%O+-10=W=@\>@^5*Z@?6:)C0)9LQ^369"G5GE2I^$+$X#7B,!%M<=,;X MW'4<'9"_\6? -NF;:Z11YIQ_US<3_Z)CZQ*QD'E22U#UM68N"T.MI,KQ[U:T M4_ZG#GQ[O5._R>$5S)RFS.7A<^#+U47GM(-\MJ!9*!_YY@^V!>IK/8^':?Z) M-L6[O5X'>5DJ>;0-5B6(@KCXIB_;BG@;8-<$D&T ^1" Z_[!V0;D-6<5)I4O69_S[>4J4LBTIV M1;TDH.",)<>(#(X0L4G/4!X7#K_WY#%R;%/XN^(X9>IPGUV$5'=<&4B37KC'[Y"9_8OYOP?I#8.]A>"=N# MU*MF\O2:,!,I'([M[H,)"8QJB=0OD?K-D!XR*B03X2MZ9 D7TH0'2TF1F2K% M!:-:XIV4>"?-\*9,!%SW;1^I$<*8/%BI['>U'0^,;\DY*#D'#5NFH&IRR0>M M^CS"6@L:IL9$@F$M 4]+P%.P4-M!^28(&;K+HCD3)C!8P[9QUW'LP8D)#@QM M"7=6PITU@7MDRT /HRJ-=S0RME%8YWER>WLUOD.?'N^_3H^*XDWNW&,3+ZC4 MDA?;U7QK-R&>Q!X7JI7FL^P1FDG5-1$7R.59+,6K^O:-U;!'_>K:1 P'M45^ M8S%P$^0G^H(FONJJP2+P"G=1WY[W2.)>%Y_U,<;$R L&M^4E%2]IPCOV?:6> M'NTNT*UZ#]W'YKS"DJ1G8W1-4XD^JX82AA2-URPVSSJP5%OZRA9AT(C ]$\; M;J2')6=9(%E11,>VCX<*5>\*PZ?D(.N6II"'Z*TCJ MAV98\8RF17O<,]XRF%PYMRU<9)PP[GJ= *D/(%PB37^>_H1GS,J$R:82$ ME5P>16HNGDGN?3]""15H3<.,H9_M8S7I)&J1FV\!&.O@$%Z*5%Z*P&Y'67X_ MB)=H]AK->6A"WR/P?'MU9]Q).(1A(I5A(K"[V2437;]X*QHO6:TKWB-T-YY= MC8TK;SBP+6%ED4@CB^1F0NBU6[%@RU.I)I3,N-NT1_&;<8_*A:/:QY3 M$DK +\2,K(?P0*3R0*21!YI%- S199:JGU-SBX5U:G<;X+BV?)7U(8VLSW7$ MQ%)WR4]*0:Z4.X@2&IN3"@O6@Q["^9#*^1#8N.P2N5(+*A"OY:X1'-<6KW) MI-'&T?OI?9;OYJ/[3"H_&^O9TTC\@[S-MAX*M7ZNIL^5UFK]CDGO]*0_M-8F MQLH%D4;[1ZX:2X6R>Y/89R_H,S.G$9:R;1L[ [O7-[I9.+AE+IW*Z3A[]G5V MNYPW09K[VF)3]T8]-@X]>^0>'.,!PR%0(34VRST"M1T1 MCFL+5ID=![8F.Y>SS=TWIBPVM!V_1Z[;Q:1+!D;00[@=Y\V)&.Q-/K;2G+2^ MC<)B=8<-<-C_9;3>')WJ"2\_44Z1I[=ABU/4\FEY:CW.SVJMZO7BR/L+U?-E MBD*V4*'V\4 ->*(X12YN)$_R@]@YEY)'^>6*49\)_8+Z?<&YW-WH/RC/\D?_ M 5!+ P04 " #;E5]9HWR:/14' "F'@ & 'AL+W=O="<22+,=N(3,4Z+4S/O=9. KQ MU+922PYPO_[6CK$32Q9PQQ>PG=7Z[6JU[TD^OI?%#[420J.'+,W5R6BE]?K] M9*+BEC5R2@ M7US.+\X17,V_??UR?GH#-Q]/OYY>GEV@^>>+BYLY.D3?Y^?H]X-WZ E.;I9 MR5+Q?*&.)QHP5)XF K=D.>Q0-!7T4*6MWI9IM"B MFB%@Z81QD%D1Q>VZ$(GNJM"K'FR0.(!6%D) M5<^_K"''>XW)ACHT #%*^JA-(\AI:$<=M:@C)^H;J7GZ H"1F5828MJ':)KA MB'@XL(/$7D=LGA/F!32X=59#A*RF KA^)=,%2K)U(3>B^D75*]A*8IX)/HP8 MZV&WF4V]H0:(=T@9.['_(>7B/DE3*S1L)HQB[/M];,_:[8/K*!,[66I62[U# MN3PLE7!,?^-E[_T^#?K+WF9&H%4.H.S(#KO9;KORDUSS_"Z!E=\@'9YQ:DYE MP'S]<+ 6L M=E@[>2PS@31_$(Y,FD2#_2 P,FDQ8]&.V3[8CI"PFY&V[9Y1Y!8S6(-T8%XZ6L-N7@.(10E%OC,O5I0F8;&0$:.\+68^)@-K MD72T1MRTU@JN9V 2DYHP SG9@VDSHS@<2";I&(RX&>Q2:N&<;&*A)P_3_F1; MS$*?D0%X.]L^-X=]2O):K]>R ,G;-+GCU;&"/946BL+3OA:P6H4#Q$ Z'B-N M'OM:(WR:;*O\)R8G,6;(?XN5S^B 5"$=<1$W<>VKP>>*TN0G3$+&^HO'9@<< M$@[LX4C'9,3-9'ME.8;I5ZK%OI9%50)6W"97A5 !1K%:S,)H.K3F.THC;DH; MK-971 A?D&Y]FL<#B@&$G'>,2]"^O5\"M06W9='HL,V*99-&4#1$TZSB)N MSMIJLESF+ZUNDYA@"]O':AI!:0\UM(Z\R$LV9<\!M&W)8--HD(+%#K.I/\ * MM",O^AQY95FBZZW7]B0*R"S)[T0>#R!V^[.K%F23/V_@:#_FC@DI=LJ]N9;Q MCVKG*0KU6WWLIA^M>H\Z&?6U>N^MO.U'W1$L=1/L5?&T9U!5_&-TX!UY&#IO M@38\+:'W8F_L>1Y2*UY4)Q^E7LDB^4SSYS/PN*0^6"^_(%\?4#8'X,>J;.$Z3@(B3M];WOV M2$U9@8U=L\UH2'K03GI0M_0X72R2BCF@\57':(=)CF*^3J 16H%:-$7$<-!O MT#:[D$VC@1,)VFD/^NP)H'$OG&6:K%#,3(T%$T M[70&=>N,+0DJ2\.U@K6<^Q(:&0<5%CL<1; +&8#;Z0OJUA<&9]=K\,7P0^/C MB_48['Q$K+[@_LF+NR17H-66,- [FD("BNU'T>V-ENOZN^*MU%IF M]>5*<(!=&<#O2PEBN[FI/E6VGZ9G_P)02P,$% @ VY5?69NX&;Q] P M&PT !@ !X;"]W;W)KW_]LX%2Z A)J_1#8\,]YYYS MS<5FO&?\240 $OV.:2(F1B1E>F.:(H@@QN*:I9"H.QO&8RS5E&]-D7+ 80Z* MJ>E8EF?&F"3&=)Q?6_+IF&62D@26'(DLCC'_]Q8HVT\,VWB^\$"VD=07S.DX MQ5M8@?R9+KF:F15+2&)(!&$)XK"9&#/[QK=[&I!'_$U@+VICI*VL&7O2DV_A MQ+"T(J 02$V!U<\.?*!4,RD=OTI2H\JI@?7Q,_M?N7EE9HT%^(S^0T(938RA M@4+8X(S*![;_"J6AON8+&!7Y?[0O8@(Z6K'I05Z;'*W[ MX7,(%'R4PWM-N*DJ497#JE5E>EWL+Y7A]AW*_UNY\HNU>L!U#*%2/54\-0FS3WG6IV)K.&U7WGM M=Z[5*Z]7*,4<[3#- %VH=@T9I9@+E*JG6D2JLR_;JE&D&-36P+JV[%<+=22H MH=ZKU'MO4Y]K% AG,F*<_*=N:!?%U5;I!7^__HQ9Q=\K^2<$-BP,*@N#=UD@ M0F3'Y0_^4/5:=U=$0_"P$CQ\EV"U\0NIWNPDV1Y3/3RJNBNBH7I4J1YU]K3/ MXE@=!0XV].B<#7TFLH91VWK9IJW.!:I;?5\_EPF.-/2QJ*;\VBG#?H/\-S=T MR5Y_=-SVCCXELNGAY6A@=^ZO[1Y.Z^B2N?&B<6U[T**_);+G#9W#^E\V<+M[ M!V_5_X8&+^E/,=$2V6["K)U<]6?#=\RW)!&(PD9!K>N!XN#%2;R82);FA]DU MD^IHG \C]?4"7 >H^QO&Y/-$GX^K[Z'I_U!+ P04 " #;E5]9,3XR'P4( M "Z* & 'AL+W=ODDLZ>,A MSXWG.Q*OGT7QM=QR+M&W79:7-Y.ME/NKZ;1<;ODN*2_%GN?JR5H4NT2JRV(S M+?<%3U;UH%TV)8[C37=)FD]FU_6]3\7L6AQDEN;\4X'*PVZ7%-]O>2:>;R9X M)QN^X/++_E.AKJ8G*:MTQ_,R%3DJ^/IF\@9?Q916 VK$ M'RE_+L]^HTJ51R&^5A=WJYN)4ZV(9WPI*Q&)^O?$YSS+*DEJ'7^U0B>G.:N! MY[^/TM_6RBME'I.2ST7V9[J2VYM),$$KODX.F?PLGG_GK4*LDK<465G_1<\M MUIF@Y:&48M<.5BO8I7GS/_G6&N)L@)(##R#M *(/< <&T'8 _=$9W': ^Z,S ML'9 K?JTT;TV7)3(9'9=B&=45&@EK?I16[\>K>R5YE6@+&2AGJ9JG)S-/]Y' M\?TBCI#ZM?CX_BYZ\Z N%@_JWX?X_F&!/KY5CSY\^AS_KG!W?\3H[EY=Q^@" M?5E$Z.6+5ZC<)@4O49JCAZTXE$F^*E^C%[WKZZE4BZVFG"[;A=TV"R,#"Z/H M@\CEMD1QON(K8'QD'Q]:QD^5D4Z6(D=+W1*KP 7?7R+BOT;$(2ZPGOF/# _K MX112Y__-'O_GV7O&H*>PH;4\.G;80('03.7"4U4[Y56Y3Y;\9J*VPI(73WPR M^_47[#F_05X84U@TIK!X)&$]?[DG?[DVZ;.YRH5";+6$ MJKX\S3 +""/7TZ=S P,P2GP:]&&1"7,)]JG?A\4FC#+7Q9VTGKKLI"ZSAF>4 M%JH0H:4H98G$6OWHJX]>IODR.Y2J1E6/5S4\^ZX>9XGD*U5IE ^6:=+4LGR% MDITH9/IW?>/5%60]-F80CRDL&E-8/)*PGE>]DU<]:Q ODBPI4E5I*H\\*QH# MEI5&!CN+*.(Z@1:>@P#*,J\@1#V3\KZ=F4/C\>H%8K8 M*5.FRU9U(;>\:(.VB7'(#KZQ*I7,'M7L8*(\WV6N9@<311S7\W1#F##L,>8, M6"(X62*P6N)!R"3KJ0NE-&2"P%R/XWD,:S8P84%(L:/9P$2I72_$FJEB $9" MQ_=@&X0G&X16&[PK1%FB?2'6J80T#8U9F4HZ75$3Y5*7Z#NWB<*N'Q M:$<7F^[*T5YTU(YNFHG$/^F^J.2E^ &W(H=:0<> M55HTJK1X+&E]!YUU#/@GM^'7:)]\+T26(9E\:Q_PW3X3WSE'C\J?*FKA%@"; MV<("7]N&YQ",!@[3 A> ^8'KAEK@ C O\)R!#,6DLPNQVN5MLDRS5!XMLVXN M3Z0"U)] BNEI"Z(ML(<7RZT75L:_4SKRK MTK3F2J#2%*@FQ-&5-E&8N'IA E",,J8K;:)A=KM):]4WO%0]YA=:%V"&QYT4=ZK#^ /]4 MU%)7WT310 _B"$ I_AGHC 2 88<2-J![QS]Q8&4D=:RCM+5 ZW2X"\16*OO3 M)&1,:=&HTN*QI/5]TO%A;"?$=[GD2JX\YN!KE'.0&6.3IUY@8$,"8,0U(Q& M>8Y990&8C_% F24=-R96:M=$XJ"J[>!>;3<:/@ 4^/K&"X!4%Z/G&X#"-!QH M $C'+XF=7S;;;M/D_IMWB3=25/TLFT:7AT# -0<8(A,KZ\ R,1]UR> M:DM6>1[4U:1QJOKKS!% 8>;I+[4@E!L$1%?7A)$@'"BFI"..Q/YJMBFF58]0 M\&WUP?&)]]4'ZRH9]?7JJ-*B4:7%8TGKNZ?CO,3.>;_D!4^R]&_5QVV2-&]] M@E2#L^)%^M3PWN.[M[+>EZNW<2II0;>9=/3"\_5WL?8E_;0[@#FQ:R3S2'/V MS=S1:6*GT_/A^ ?MZ!N?23Q/[X/F I*?P#E^E1_2P+ +.G?<6EBY])Q4N1I MOBF/54[U$,WW8SCM1Z73HTJ+1I46CR6M[Y:.3A,[G;Y-RG19?15#*Y%E25%V MCH$#LA'GGT6'<\D,U@&A,-$#TD3A2\<@79 L,E!]:<>HJ9U11VEVJ+[X_;CJ MK4!-=9UQ@BBLM_4 2JFN\RU0%L$#JG<\FV)K*OY9'Z+AJXOD237R&WX\QR$. MLI1)OE)I"B8EM=+WG_Y>/Z:T:%1I\5C2^@[J^@%J[P>ZI&P\ X3;:= :8N$OU=FX.P:COZ%T/* WK M%HQ!:>#MJ]J8^7:?=O\=4< _I/*1E?!(94EH)>2Q\^L#&EFM[KY<:,T9)U]LR8;3ESXT M<)^^C:[OJ\W'[:PL:^?S%>?/V'=_.[6=W^P]7-];JX*V_+^K?UVTWS[>JH,ITOR]5V7JV< M3?GAQ<5/[H\BW>^PW^*?\_)^>_+9:0_E]ZKZV'YY-7UQ,6HC*A?EI&XEBN:O M3^6X7"Q:I2:./PZB%\O;B(KEPIN6' M8K>HWU7W/Y>' PI;O4FUV.[_=.X/VXXNG,EN6U?+P\Y-!,OYZN'OXO.A(TYV M=@B''D-TV"':]_U# M9^U[.BOJXN9Z4]T[FW;K1JW]L+=KOW?3P?-5>V;=UIOF?^?-?O7-^,WK+']] MFV=.\^GVS2^OLI_>-U]NWS=__9J_?G_KO!'-MS?CO__\YI30Z! MO7P(S.L*K%HNFS/OMJXF'XF]Q_S>/TVG\_;,+1;.VV(^O6QB&1?K>5TL"*VL M1VLRV2UWBZ(NI\Z;>E9NG":V9AC/VO'UJ71>K2;5LG2^_Z7:;I\1\CDO_ZZL MFPM HYT7F]5\=4?UE> EWE?&@5TUY\'Q9/".)X.WUPDZ=%X6BV(U*9VB=K)R M\MSQ1S\XWLCS*/<>E**]4GOY^G3C^O[UU:=3CXAMXCAV$W6SC VJO;3^N%T7 MD_+%1=/IVW+SJ;RX^?.?W&CT5ZJSS3;]*'35%@416.*&(^^XF=)]_K'[_$'= M]WUSMCV,B6>#NO)!-52ZTDLCK3/9MBU[*4.*Y4@Q 1)3# R.!@9[=;_#P&8D M-W?G;>-@X]G^T[/V*K:_!LVJQ;3<;)O+WQ^[>?V%\C$ ]L,8*98AQ7*DF ") M*7:'1[M#=KS>/MRWJ@_.Y.%FLVV-=N;;[:ZY'#?&3ZK5ZO $=#^O9TZY7"^J M+V5YV'"]VTQF[>FR;L8]=4*$YF5&&]0A,?13;:.,/0I;]Y!B@@R_XRH:'5V) MOITKI]=BRJ'(.("3\!\L8J.U'8A(L1PI)D!BBN7QT?)XB.6[;6-P73GKXHM3 M%Y_;D^"K^W>;8E633Y&LLNU%-S9.ATO7"[3AB&PQ1XJ)GO 5;Y*C-PG$F[Z1 MEIBQQ=I(8P.Q'6E(L1PI)D!BBIOIT;6GO'2TESD%M +$AVEJ#%!,@,<4:=R13\1',G+[A=FA* MN36/M,1KS,=C.^*@:CE43:#45&=/((O+7T1;"R]; C9MGVK6Y6I;[!]@RL_M MYY)TD)6TO;,=U)3S(=03]@S:9@Y5$WU'H%HCD8?+,X_79=U+<%[R&M9>(-4R MJ%I^4%.>B'WMD5CT;*0Z(>F).PR?%+7S:[%Y[OCN'IGXI"$^@9]"_?)&@)5D M%+JQ?M9#:0C1:A FOMZ%5&RA=W(,:B]*A.&R*7,7A.KOT8#(Y8(DU?L4RB6@ M:CE43:#45!\EFW!Y.&'#8ET"-!@PUB62=8K&\G%9>V*V2O!8*C8&R+J2);@\ M3#@7R;HF&*"8+-^Z]6B T@&HFD"IJ3Y*0.#&3TEF72@E@*IE4+4/R1@<'G"<'+?NBW7SQTO99XY M")S@&]=8DRBX26!2MWA[U MB+3?CP*=M/&MVY[E4+425G"L+H$VYS&,_-4*J?A6[<>#=AR!J2:0*FI/LH,W_.?\BG. M0^;I8ZA:!E7+H6H"I::Z+HF$QQ,)ZPG=>3/65VW!X=<9W8[I=;Y=Z_/!!"#& M116**Z!J@@U?=4XR" ]<($$YUS=3X9FYOSX%SX=I/52A@ .J)E!JJN$2EWB# M:B_.FHCGI:U'HPE@+B-])A[:9 Y5$ST'H!HD.8B'J93H'71$J4"@CSHHYH"J MY5 U@5)33968P^,Q!W+>US.S>CTW&//A6!L+91Q0-8%24XV5+,3C6<@YT[Z\ MI/5EE 47F(\UT#1"51-]!V!6JDM 8O/ Y9!:)'7L/4"JI9!U7+?Y$9^JITF MHF25+B#R(E3\LN?1.CZ)-+?)C6@Q5*4:!J J6F&BXIBH]9J$+Z M"*TA\8FU+L8$+;3)'*HF>@Y -4C2$+^'AH#8I=^_Q&3,AV(]ZJ!\!*HF4&KJ M@FG)48)OMV8E,/E"H">B?#C6ZZ*A$ 6J)E!JJK$2RP3X)2N\I/4*>(*5>/H) MD4';S*%JHN\(5&LDZPD 2U9X#6LOH/P'JI8'!,(*([U4KV\KU0O):X+!BU9Z MB_,":M&*7NX84 M#B')'/B[K/C1;)A[X&)%O09D#$?K_6PA*(%J)I J:DOYY)H(>31PI/1 M=[Y=V\MT:%(++S%>X04%#5 UT7, JGN2'X0]_.!;\/>02+!U ,_':3M>H6HY M5$V@U%3')98(>2SQ& ?FF_D-)AN:&;PEW&L+U_G@[0V"%I;0A]!VC'4)(,( M>0:! NNAF=Y?ZN_^&/.Q6 \G*,6 J@F4FNJJ9"(AST0>^ZJNL+_D(S3QB?&R M+CY*:X>@M .EICIT\OI0GG8@YSY"$TU$QM"#UGU U7*HFD"IJ<9*3A/VU'V< M,??!2UH_5%* (QWI8Q.*:*!JHN\(5&LDH0GYLHY!2&X2]K^>8[?:E,5B_I]FI-P5S26N&233:,P=#N(?"090W36>S9ZNRJBWK.1 M&"NM^-9M3TJH6@Y5$R@UU4=)&Z+!BTAZ9U,B:A&)X1SY+@MSXHG8CIAXHM2( MB2736ZI#^KJ)6AY@33WSKUJ#E$-DBE\]*3+/B+H ML@^H6@95RZ%J J6FNBY3_(A/\0<]S/(:UMY"2R&@:CE4340$_PB2SJ$JL_YH M<(W#0WU*S#PF$)4$@4YA(J(J(0W=2'^B(K:[3$:Q?JLA7J>1!J'^1$5$YGE^ M&G5P_^CDUSO.JG'H[RHB7PQ<\XD*^W,+ M?/RVWD'5!'D '172L4S-X_^#0H#83+"-PAT^3MM!"%7+H6H"I:8Z+FE#_'2% M +RT[74W)B;<]17MT!9SJ)K@XU?MD:PAYLL%D-.6,?7;I?JX@^($J%H.51,H M-=58B1-B'B><,VW)2UJ/-[.@P$T#XQX(I090-=%W!*HU$AK$/#081'IX#6LO MH-4"4+4\-B%%$*8:-1=]6ZE>2$(1\X3BD=.6O+JU2U">$1/,0"\BSZ%-BIXF M58].?A!T,*38O\+*2[HS[YB"%'H5:$Q@A724Z%,9&;'=I>NE>A<2$^J>J]_Y M!+69ZX]&79<3"2GBLR!%?U=1D")UC2=E**2 JN50-8%24WV4D")^4D@10R$% M5"V#JN50-8%24W]05T**! PI;-<;)?VP(B$*& +]58H9?R"V)D+5!'T$'=E1 M(G%% L85CUEOE)C80B]H'_/QV@Y+J%H.51,H-=5YB2V20=@"SPX3AA"*0943:#4 M5,0UK+Z!P!ZJ6 M)R:?BGWC-51]6ZE>2!B3\$LE'LF%>75KEZ P)B$68T1ZIIE#VQ1];2HNI1*> MI,-6; RI*4P)#F*47U(;4>67Q'9$^26Q%55^26W&E%^F$E^DPQ9"V)9?IM0* M!;/\DF_=]K2$JN50-=';(0\&76UG95EG15W<7*^+N_+78G,W7VV=1?FAV6_T MO)W#VLSO9L3 M==O6I[.92->L3,0G7K,*?EGQIDQ:^-@\S$3=L"13B\IB1CPOG)5)7DTNSM1W M]\W%&=^T15ZQ^P:)35DFSQ<(^G*DO.?\L.7['SB28M8 MP=)6JDC@WR.[9D4A-8$=?_=*)]M[RH6[UZ_:/ROGP9EE(M@U+_[*LW9]/HDF M*&.K9%.TW_G3;ZQW*)#Z4EX(]1<]];+>!*4;T?*R7PP6E'G5_4^>^XW860!Z MS M(OX",%_B6!;1?0)6CG67*K9ND32[.&OZ$&BD-VN2%VANU&KS)*QG&1=O MKSFL:R^N[[[=W'Y;W-X@N%K<_?[EYO('?%C\@']?;[_]6*"[S^CZ45^C'FF]$4F7B;-:"-5+G+.WO?-7=F5CN'*.OO&K7 M MU6&Y;%:3AWFT.W.4J6/ MVG8V$6NT@C(1:-7P$D'E-4F;5P]=ZN9MSL2I:=LZM;Y9K2SK4U$G*3N?0-T* MUCRRR<6__X5#[S\FGP^D;&\'_.T.^"[M%]^@"^55RDN&C@HNQ+')VTY%J%3( MGO-X@?TH(F>SQUTW="D2Q<%6:,^\8&M>X S09?9?J"]H2:U +8>>E/(JS0N& MJK'=\F?Y92I#6C?\,8>,11-DB1 $?F4,^WMLZ=MMZU:]:@ MBE=3%<*\9:6Q8\VUF_M!/#)0EPDP-IL7;_9K(5)$*\15B?V_R M6M:3R>I8,VB*ZE5[J4B#8&RG M+N5[HFEMF;\F!>N:AM.WOV\ *L!-R+R[[O)-XP_+'9%DPH\]4 MC^T\',.B00HJAEJ $0_ C=W(?0W,K $@ZP-J-- W%+1' SPV49?S ^I9+!RP M&SNQK>_HPQZ:;0P,-N)XW"L-8I1ZEF:)!WS$;H"\;UB=Y!EBS[**65<67-F= M;J#=5\[MU7%PBGU?VUT#7.*Y+?X#7.+WX*7#.AT$L1]H'5*7FOIQ;.OH UIB M-UQN2ZA.7JSUHP.@'V%_;*$N16-"+ 8..(G=0 D&-ANVUP.--NIX1V.L9:'K,BDU1$++R(#'!(W'"HCA6F?#4%HNW( M1Z)CW#0>!]L@A#T26TP<@) X 4--.8I5#L/ [HA@&@R,+A ]&:(0CPO>($9\ MC"TI2P98(A^;5O/JD8GWS#/DH./JH;3M[\* >\2->_>;)ET#]]ICLR=(\%7[ ME#3LI&,V#"36O(!8ES+23(V0QKTQ8&3HS;7$-(C-@\C2)\F D<2-D$9G#> :>OZ8_9O$8HPM#($,&$RB#_6+ M55XE5?J>?N'$]@\'Z4#:]G=A 'KB!OK[Y*4[/X+I,@4\!?\EK8-+ ?%LK).; M6^V'-\' $'S/EJET8 CTC=7-"!65 WL]@U-6/+%N5";*#* M&"28,"..6^.'@Z"3#9B?L.7L@.ZP!HH%H$V%=0):EE3HH(G%5HE MJ>2B+_T90J4@*X6&GQOQRGVC#_NKC]/8"^R5-/ *ZN85WV$2[&/Y3QTV<(4@ M)..V;Q*#R-E=&4@%?8M4Y-#GZZ1 ]4YZ=NV?==S(G)FF67SW'*HWW" 6!Y8Y M@@[T@KXUB^]1(7G(!LQ<'5VS9]:DN3#7O\X!B*]OMBY%+82(#C2!NFF"3MZ$ MR@Q>EO+L57G0Y1(KZX*_,-9_6;]RV+I(C.!#=4I HAV#>Z<,4G-K^QUX W7/ M[HHW*.+3_@#IOAO2^T=RC2Q3=)2Q[NI8GN)*[TXZ'^6(\ @9 M5_5GN>] ?]\P_\=S;SP[&,2F81!;JL4?4-UWH_KUNXU'28N6["&O*ADMJ"B8 MSW-NG"=\'=<)I?$X6 8Q'/N1+58#_/MN^/^83TP>+CJ]T<$\H%A[K&$0PR2* MYA9O!LSWWW' H :\H^[4EF7'*-LT,@KMFO6&R^G/.#;X!P7Z0VG;WXN=Y^)N M.O"E OR'$!H=U9$[H-ZXRQFD(H_84FX =]\-[E]VGC\:C=/1&1-O_!C/(#6E M.+#01G\ <3]TIM!B4]>%.FT!]I'E(BVXV#0=+E:\ZA[M#N,S%,2[IU+_H$<' MA]*VOT\#=?#=U.'V]81G>UK2,X6W65JO>>]U#$JTMS%TJ3 8'T'.=EY**EGS MH-[5$D@=W7@AI]?X5/K[NWN@8UW4MF7Y,&&KD ?U:@TOLT MAY1KNO>VN@\MK]6K3TO>MKQ4EVN6P%9( ?A]Q6$"[#_(&VS?GKOX/U!+ P04 M " #;E5]9;@5*40$& "*#@ & 'AL+W=O1J MMGA3.%^IB%N_&H?:L\J3467&L\GDP;A2V@[.3M*S:W]VXIIHM.5K3Z&I*N6W MS]BXS>E@.M@]N-&K,LJ#\=E)K59\R_%=?>UQ-^Z]Y+IB&[2SY+DX'2RF3YX= MR?JTX!?-FW!P3<)DZ=P'N;G(3P<3 <2&LR@>%/[6?,[&B"/ ^-CY'/0AQ?#P M>N?]9>(.+DL5^-R97W4>R]/!HP'E7*C&Q!NW>?NCP<&#R:?,-@UAG,$NXV4$+Y7$5U=N+=AKRLAC>Y2%23 M-+RXK?%VXNK2UIKZQZ6KE[2V]6(VSSO>SUO?L&[X?TQMG8QGHA?(W_U_(M[Z/ONY;FNE)J%7&IP-T2V"_YL'9O1^F M#R9/[T!^U",_NLO[OT1^M^_IB/ZR>WI/OVICP5>3Q<8S6>8\4(/B M]BLGB "G<4V@K%1VQ<-$MF-))9L: ?Q*6?V[DHD4DD^LT1[&5=78A)QX[55AX%AD3.SPS"&!6U+Y6@>W2VMP1=PHWZ+.,8@^,SG,0\Y! MKSHX.1O0\U#.0R+.AY('=$LI0W^-!&IK'41,UTD]9('M 2E(KJOTE+@H-"2U M&2!!-=1!>YW@P3TV*+64ZMC"[2X]7ZHJF>C12FU.'SX-M/1.(;SSL0!])WGO MLXT-TJ/0 G2))5S'C:,"P5!@$,6S6+5UNI)TA"=T?_HC9F(/X/Y,;ONTIV?G M?7VW@+2-[ LE\1*AK9A+M2PY;A@Y08X#]S%(M$!F$%I!;&R"[6.IEZ_0 WLP M !SDLQ7H4)]_+H\4HD;8=B.#TBT9E66NL2DIJ9ITJEF##P3.I=@/ZT6(!'R< MP%4L1;EKY2-=7*[HT9 N';I\.J2K@]Y*<*Z2, G(Y[SII0[2,.]9H?@. M]-YK*?:M="$Q4-8VL#C45?0)Z9,@)T0\GLE\.Y[_!#D^$/QHA^G -C6M2P+1 M2Z]SM:7,N, A2K:?<\;5$CF>3T=_#B0J@XK@3^M M)%99^06 ^0& -J-[!(^'NQ4J_$?1%T8T+-AC9+4;V3:5IFX3:5ULGXH3- P& M+ +NY<=PBUV#HU+D:P,]7^P9H>W>A;19O ""*I65U!J6UJIM$7GY?>_ @T5R M%) QFDB^&]V.Z-5B<8W0'QN-X >C7S!7Z@.&VU % 53(C4NMB/ M':1-F>"^!]?C8\(V[5[(GW!\0OE3WJ39OK=)TR^U#?3'UG/0QIB.1J@AC*?" MNPIFZ*%]%D=TPYD!18T]KQMQ,LPG\Z]^7(X/S@>8PJMT"DIA;&R/"OW3_J"U M:,\7^^7M*0T=C(TJX(.I@.ED]/!X0+X]^;0WT=7IM+%T$2,_798X++*7!7A? M.!1S=R,!^N/GV1]02P,$% @ VY5?6?'"Z)%C!@ BA !@ !X;"]W M;W)KRT.YTD'M?'8]&+LFIE&YH*M*8R8PMI<>K78U<94FFP:@L1I/Q^'!42J4' M9R=A[-J>G9C:%TK3M16N+DMI'\ZI,.O3P?Z@';A1J]SSP.CLI)(K6I"_JZXM MWD8=2JI*TDX9+2QEIX/9_O'Y :\/"WY3M':]9\&1+(WYS"^7Z>E@S(2HH,0S M@L3//8PH6_8AW73J<#D=3.F[(Q!H-2Z?@KOS9YZ!F\'G_#8-(83 +O MZ"BP?">]/#NQ9BTLKP8:/X10@S7(*YQM MY&O"F_V'($?%@-R(+Y]A5,J'3 93A MR-[3X.S93_N'X[=/\#WH^!X\A?ZO^#Z-.!F*[X&*69*86GNE5^+:&HWGA"!& M[\0-)?@M'L2E*E3:5,GS@U^ MQ/-G/[V>3,9OW\\6Y^%Q_^T+H2+L3K.[*I6>.KO9XJXSNS+#X/[E^,V>:.8O M=6)*$K?R*SGQ_-94*A%'!^,7Q^*RK*RY;R+R1FQ6BG?*)85Q-7:R >_[:WVT M?H>B-R@D $&3$V#K D[1>%2$]H!.-]#LU-*76ED2(*&\BF/-$A*NHD1E()P@ MXI6Q/*]TA.8<6$H,$EPHR>TM)KUQ9:P A!.9-:7 *B2QYCRBE=NPVHDEH:%3 MGQM]1:-WP7A)FC+EQ7-'E61G*8;\FDB+%,N=!ROLB& (M=(OPLO34$]0Z7MY M$!FEF"GVA/,8VMOR,^1:DVFJ8L3]Q#>I=+MSB=PHVV=8R8=NZY7V9'4@PWYW M$2A,@D+^L[;*I2H<)PX3I>% @&U%DDN](C<4M]B%4 01/I$:*1"RJ@J%^/@8 M$B@\WEL^C?A 44[(PN>F7N6(PO:_N9%<@UE66.&;(5B MD%K78&VI,C;(" #*I+SW*Z4UC\@,H6_4N_\J-MD]'$(^%R0M5"Y34P4*C_S/ M35E)_<#,DMK:V!+H7A:U#-Y"/6))XO&(1764[EH5A<@E>')4(#]',DVATE MFZZQX.R'\,*N7[%8'W48-(VN6: 4-@W@J&L "UHQ!GI6FX2F"TQ>[^H"<9E< M%B1:RQ_J!D>[NL$1ZT!R.W -UD;^;;TVGG,;MI\TRBA!./T^8:D(J0$]!Q%P M2Y# :C$;K3&(]*$2+*WJ(FP=!Z?2:,L92W)%62L]Y")%APE?5Z7\C-2V<QK23+&!239KF1O M^T=O'3/F;M$VL-K%IL#DF958Y]R#0#ME_CD.4H0F"]9G:(G.U#9A'6(ZIZ"?UM.DH0!3C#=4$[XOU!76:@A40\0%[?U^)T MKVFNF%1E)V&F@L/@'T$=_!^Z_91X\Z.R/>QDNQ'=ED2/X30- @BU.-MD&KFX M(5<9/G6:8E](SJ,*66]OV=HLX?D_%RKJ <^F$-C[2X2SGC[I'2 Y:+4>S MK:C44+1=$D[[>XJG\%:1]C.U491$ V9](_I&>5C*B$TN&@==JAK=]C=O&*0S MGNZ\<(QZ]\.24!U\"P8,?U_'JV(WVEVT9_%^N5D>;^D?45P*E5M0!M/Q\.C5 M0-AX\XTOWE3AMKDT'G?7\)B31,/E!9C/C/'M"SOH_OUP]A=02P,$% @ MVY5?6=/'$0K&% [$ !@ !X;"]W;W)K0@,R8D!#((!)/'^^OMU M]VP "W6Q'X;NNZLK5^YUH]S: M=KK%-UO;-VK QWYWY;I>JXH7-?75S?7U5U>-,NW%ZY?\[)?^]4L[#K5I]2]] MX<:F4?WAK:[M_:N+9Q?AP0>SVP_TX.KURT[M]$<]?.I^Z?'I*NY2F4:WSMBV MZ/7VU<6;9]^]?4[O\PN_&7WOLK\+NLG&VL_TX\B$?2POSOL/L/?'?<9:.WGWV>U%48YNL(U?# H:T\J_ZL'S(5OPS?7"@AN_X(;I MEH.8RN_5H%Z_[.U]T=/;V(W^X*OR:A!G6A+*QZ''MP;KAM28;PG>M4J5]=0-.=[N_TQ>M__NW9 M5]&3)$ MM\*.93U6]'1K'G3%[^A5,WVGVU$3W;#8TO:5:DLM9+_Y^ FZ\>SYY?6WJ^*#O%AL>]M@H\G] MWK'=Z'Z%BU5F:W"T'XI]_^^;FYOH%K<8Z_O3LQ=-U\<;!DY7[%>\2;F(J[$ GND)%K@M1RILS MD96]1JL[W;-[I9O:36UVBCP6\X"^#ONLX&[ 6G@!OPY/6Z?$O7DIJ+JV)2ZT M\$(!9="JW"\<.3^1N71*.O=[W19/; ^^/ITPP&$?Y^]_^@P1_18LMO>D1(/: MU"2&+;'Z&PO[SJ]$T$%&49U37K.:LTW;:PC!6\:V]93 MJP!QX4;%3K>Z!WT@B .%&7"'-0O_^O9%\5&.C(I6_(HCHPY^$ XQ!W_2P]Y6 M<>&O1U9QZM%['+X[%)^2J61_1AKL=KA7O2YJ"+)U^M0[/R2++'[1/=X;$%HO M[?82'.AJS23^6=IV4#A\(-: X6"!0\BCC^?I_5.T!%9:4< [!:$UZG?;F^% MDCVE%DG:QB4MK0I[IWMV1\5&EVH$I_P&M,"T(WLXLHPMW@M:@\@+E>"WO)FN M5Y>#O:P@ M$S9@A\NQTQKLH.KI O;FXH "0 0#3(C6U.!%3>01R@JF M37YS(,^F>XX?G85AL1,A[IM6O"OM['FKMU@VB'7>F[K&.7CGCQ$WX&,]+9J\ M1V]_Q[76Q8^(!%7%UK7Z(O*-.%^R^/ (= =+[S-C]>YNKEBFK: #_6%=_$1\ M6U"_!95H[VQ]1Q?8 Q#"8^]ZS0KHQDUX"\ORQ9XI,*X59#224L"1]SXV211R M>WH%]%8C*XJPHM>;0P$_*M;)6F3<9W:%K1V(A> 5>3W1F/"29V#D]D33C^/X M/(POZ;\2[6(%P3=)1T[$_ 3=B5 A M?.R\K>$9V%SL[=@G$R/6LI/SL89Q#W:R5>$A4B_KP%!%4O4;"O5XD_?C:^!P MZW&20)F@?%B,OTVSP<$GY0)^D?V1%:&_,$T8Y/" M_)VJ1Y' RDL*)Y,6D-64:=G="3'EZG.B!RB M_Q+C)DB'C- -I+^L22?-<%T@9SNILU.\EBG3!/?(=F U;<$*J4B'H*NPJ6H, MB(K_)+T/+&)^\36.7P/[*EW#G">"#N*->)9 56/'B,WWZHX"&?;=P&%BZ68< MV+JUZEM=R;:(9-A5 #>ATO@H%UX?GD%X*JD'\(3"UHQX@D.?F<(7HV (@4MTW,8:CN9BA&[!X\VFI'J0',DA(;?"G? M4&$!PN:3MIHPV8^G,@,&YU/9>O]#V^"Z.,DQA(,L&1?&ZX,;'H\?SJ'Q#'WS M:X0RR)R/,39[HPEN#ZA\&92?/7B"PGW6,M>WA12"+=]C\FH&!P8(/6@^TDE3 MD4]4'61!_$%DN=^;DK+%B#CD73> (%7;EJ!X74M^2/?8'$3'=)LN)1#E^,XU MY"&[P6]XGV8W)'K!^ MGL"U:"GW%SMH*'_ND+Z"\,4X"SG$ F6M>;AK(($PY M=TH,;::0AOD=\*)),-);%1_*B?4J,(^MT[0I/)[8,"TK2B@K(582^0:><@ON ML]TP!A/"%ZXS\2\;#75(V6TRJ5Y+&EX112V[C^W8LF14S=9DX5_"^P D'5D[ M_B"EUN6^)3Y!:!W%)W);3S&LF8);/4)>&)GOD& UTG( MZ0$I^8B%F*0I>+*Q03E8TRG_Q?L-230%4T#"L29)$X[;B(H1]H!O1/30<@:4 MCEE)\7R6U\?=]]D.\8VT^\D-EW+[?Y,[AC/I/-0XF[>MR+>0 $@K.=@UE%EV M]2/7Y.Q=A4LMEQD(L @SI83,>09V-! &<*>"O?T^5I+9AUI"!4SJ?,;B#\11 MN]Z.W;3"P(ZG4X3^$BV1?4QBO,V2=R[Y:N5>M3M1'(G\>;H2HB,X16K45QY/ M%SM8>IO0X01C,4:JM%=^1A"/L*LPVZ"YY$)9="%%IN=(BXZ5G.T#"](7D: M%[7)G+QLIYP-&;;OR5Z'PN$D:R8%(@7LR=#@5DC_ M"'4]\%X0V,WZ^A_T]);^72Y^)2A^?.Z[J5:6'-B2/SK2R7!,IO_!JBCFE8<2 MRYY45 2R7<, AR@8>I_DS*%Z%NB?\H4W)[W2HQZ2[A-!TD'@B^H'R2 MOEFOX[$3IBK_'Y;/1Q=*+!NH1E2/P-Q%;!/TK$)B"P(!1'J*A3=/5(<0H[[BA>^[1JY1F1 &^X!N%U M7'&A!3+9FZU5LKI#K"*LA 2EC@V#7XQ O\!*.!K M\U3PP]%N;[H"&0F,ADL)%!M]*=U[(;)>'Q]CCN94+=Y">9DS2X4 6T]B(!Y5 M=B+IM+]OL67V$FK&4NV >@ISM@(*3"H>2"WODFMYH209LF=*$'PQV(N_KV:E MCJA^P;WYJE=L2DU9LGG<'EG;'>XE*C_U4/#*Q]Z&#+,@1$F92JU5: ^$HT"MIS"5:KDJ2:P)*;NO@K@2&4^4J20_@7W?QPYZ-!41DD[-:I*%:.% MO MPTB'TX"&&_+!OCR,$N4AGQ9@J0! GC&@56/+CNM.QV2)I<\()NIW62M#LOQM M\79SW[-8B=,/7%^6[!0';W@_\6&3S(/P5@\7QGYE1,@4]#A+_*FRP-TN885[ZA4N-LF4&C M0Y\@MQ]L3PX$0)3*/!YYA"BJJZ<^'R-&*6=;\ $!9VA*R?\EPPB3_L91DSZN6*BG-.NI@T=D!"$ M[7R]^$RU@Z=7IIKL[8I,O=6QVB37MQ13/LO=S1G M)QU&J32>77X9"IJ)GE[O8';4Y1SVO1UW>Y_W8_GE/8$$ )L20)8K1R&]D7/I M8TEUZ%B!!"/53L)G(,U?$6'5"9WZ09=CE-J7"SV6F*(KGLKVB9\T>O_FW63* M*.0[PUZ<$5&\.D5I;B!Q2&L5^T6U:8RDJF13D-0X,*0A+_M9'U*HQ18T)+-* MUQ[L/0&?G-KY_!2_JX 4RKVN1H_I\A=$P9C7$Q\5,_R@\H[;[N%RS-<-1]O0LFS2 M[:@',VGXV][##J[QY;OP0P@&M&/)=A1QQ(I_&AF#!Z9WV$5'2U_LC*OJ=ZQL M?($K<^2^E&C;+-U+S=Q@T6M]MDN%+7#L%S6)FW)U.2YS M*ES*HEA/()BZ-!.KG6P_\7U4)"W]+$-!D!]^A[E>6^="B2EU!<\THKYU@5HD364 MCT ># TF%#%/_GVA#>MTB2A-G&OAECUP!W6Y^\R(%8S&">ON%.2?KH0_(0M^ M)#+-J";.$7^.J]TQE26G&K-F-ME(4S*N*N&*/-S&.K68B?3CLBH/$.B\SQ2S MY*-\2YUJ M8J-)/=+1CVY=:BFGNS^SK"KGPZRZ*HHKI/"8RI+QG:P!3/U.'*^2O(^X"JE5 M'&JGH5H4%)L8[\U35LB?^EL'HR*=8B*QB". M[#8U]YP?[8LYB3CW0$S,-G&"]#R('F[JR_VGN_C(*EV$+'7U]-&4A0RYY@1D MV%'JBDXL1;H$MI?>9SZ8MB[>FJ 79-]AE&!'*]H3=XZ#?%(N][ [&\.;[D]C M9WL#LPLC.HT!Z8-MI4O1]?K2C]P%?.DB22Y4!5M-T!C8J*:HU(N/D$SZ1$*> MXO]C\Z2GAT>1,N9SMSDJ"&_[435?6":R6! P<%]&X\^QF4?B;\GWQRD+A<3& M>&A\KW8ZCH0YF0B+(PX2O5O_4Z?)E04,^RX?2<%] >7Y &,^RT;JTG)-@[4+?-H^>?C]66G=.!#Z) MGE0%@U0>)82#77+[/V92G]>F1$T71II)F8Z;7'L/.&A,G5%Z/OJUA4;>JS"L M[6_/ED6QT'!/*$Q'L /^.<$[!F)N"("0@^+6/YQ-F"4T0H,,MN9Y%8^\%9)9 M']X)2>Y"69'HAO+)=/V\3.NBW<(& \3),09-Y*B^-W*K",KIIP*,D06+U5)@ M2HEF; U4=MP,2 D3@,H"J0K%+*(9LLC+.B'@\VM_C,@,^.< 'KUF59;LAV5D M%O>$O=W"V:',%GM"(?5,QA3.G7;\-USM]K^MBWC'$EXQ-'M(,R.(P%NJ/$GS M%"[[,AX3"6.ZQ.^&@Y*VL2&E33E?CO$R&R#TE9Z MN(42%Y,[NA72&0Z$%T[ MZX3&3"95HBF'A0?F,[7+!K?).AL_7>DA$W&=B^&#^!PZCBOG13<"1Y8RG4M? M20$/V4 W#MZS2#\EBU?B!G.5$[XLZR,QF\H"8'?H8.F&!_$S :WYEVW4S)=2 MG3JQ64?:9T<'MWJSD3$X/[P'06Y&3?_VO"RGKA ^#[?CW[!L[#+;A/_<:KK*G%_#]UL+Z_0\P%&OAB;7@L>6:)T.?=<=#]=<9H.K"PN[ MUU<7JBQ2F8E[S4RY7G.]O1:IVEP.O$$#^"A724& X=5%SE?B012?\GN-T[#E M$LNUR(Q4&=-B>3F8>Z^O0\*W"'])L3&==T:6+)3Z3(>[^'+@DD(B%5%!'#@> M3^)&I"DQ@AI?:IZ#5B01=M\;[F^M[;!EP8VX4>G?,BZ2R\%TP&*QY&5:?%2; M/T5MSXCX12HU]B_;5+@!D*/2%&I=$T.#MOAT?__N]OWMA\?Y._;V M[L/\P\T=WAX>YX\6RM[,'^<7PP*BB& 8U6RO*[;^";8S]EYE16+8;1:+>)]^ M"!5;/?U&SVO_688/(C]C_L1AONN'S_ +6KL#RR_XV797;,-^ME1"KTW.(W$Y M0(T8H9_$X.KWW[RQ>_Z,TF&K=/@<]W^N]/-LPS/V79S91V$*+:-"Q.R&FX0] M)H(M58K"EMF*%7R1"I9K]21C81A'S48JBV0JN2U M6014?$LKE[$EU(^\51D MA7$L5._X6P0MJ[P?E/>R+7(6DAM$WX M!OI&1#5PM@-2-="?X(C)?ZP-JC2PTKRLXM7G^9;@!1L%CN>..P _<(+9I!MV M2]T5Y?GG1^?'7^'U?:=_A]8-X!/R1;-(Z (CBI4%\K'8DI!"8R1 (9)YH]8Y MS[8L%UJJ6$8\3;>4OP(CPU1R8R2CD55N+01+1!I;C36:-*I 6SXYWS;*BDSH MU18H$0!@ W8+V-+0&T*+)604$%7G:ZV==>3DW(!'_*H: C !);00"4^7Q+V# M?6;KL+& ;&+PGP!7;GJY8MA"-D3&DL*P* M!> ;%7")9&F7VA"-J"%T4*1VC MUM/MOMNBE!LCEU*8FE'CWM(ZLF(+;0[B?L:N1<1+LR^>ZS[OYI -*W*57+* M78VVQB99PN'T3#$)':."W-=1N:6AI8&Z5\1S26D+4=AX-%J6!38)YS2&57T) MB9$7E:JVSV=DTO,=ZE0FPRU+F:%YM0)E5HLD)7WW_&,ECN@.'&@1O'/'-D@K MW)0+@W(C,74NFEUTXAYA6-3VI=WO4O@P7+4X=HMZSBT2^?F=P%:4* 3L;DW= MOVZ2_X:N^+;4F2Q*1)$,69U3,/4[_BYM,ZM"*%A*K':D8V0G>7R-42[_5P':< 0S9SR=O.P 0FI%C:ZS.' M9:+H-OZI,QN-NH")XW8FP5T6I65<%2K_;EVE82^\,P_+=YHV" $+0"%LD<@ MON94_JB>BCV:U<[-MK'U1K$9(1FV,[:NMF=!V_-!YMODMA%4Q,-@5K&MX-HF MO$,UFPM[U4DQ&1 278+%.\D7U"NE^'<49J,WVEDS2F!MI,S>PA+XCN?[78#K M>+-Q2[U066EZ+/:0UH%W# Z=$*K=KO-4;86P3962#KURQR-$3<\Z]>&!@OH! M0KY+(+1>C;T8*_%7T26=N*,]TA%V*UH*+)%"]'6OEP^7K,J&66LGS>4RJR:6 M=1&Q.Y3M3\,#M:L]C==,TIX4P78U=49^MP..0M#N'/"'4O$&A?#3L^I'G[WY M-H]C24'IM*X&9-CP&QEL\_2^U%&"^D2,L8C,X_]BQ:@:MLWE;Z3Q1WN!H;A\ MPISY^3>%P^=MM7/NHH50H8-W>^)A/O5!&JK;;(5FA)48!E!*WXX7ACYIQ0-4\N^LR%G+$DM;Z59/)O+ MF29/5N^O MM'\J[%!TP:5U4FK*@?W%.\(S%;3@2UN!1&O9D[LP(W;\3;/ IR0EYMOFO)0: M -O["41\EJK4.-5]_DO)->T=@D=)U?1IBX=0O::IL4F$[2'T1]#@XE"[H.L' M:+MZWZ%-U770[-*'>W'' >:8*ZL,"XUO"%PE2OM3::1)YYL1=CKI=08K-AU M,=E,M8(KC%JM:1 F<.V:TYV(KEC4]GKUZWIKW\>-Z+A:M(DMT.EG!K66$<;E MD]0J:]>&3!6-6%@0*V@$$&Y1J83*!(./,+H1"?F9+DQ S2R*I6DCMD'(*O6J M%1KZ'<]D\BK,7MDDF1LC?L$._*N?/9M&;W_M'>$_^OQ#HZ1V?;FSD'T_QKQO MJP00TW#_?WVP>WO9_U8/[X*IY.C:(-'-Q:]OYS_ZO.;1YU3MFO,+-G6"O=]& MOGUV9[MIX9VY[%%SW&;Y6AQ)\T;.+!@?@P-L2,=-]Q2V[XPAT3_;27W5OHTA M_X/*7E%K%=0N5EJ[<<>(:6J/5+NNA_?[WXOV&P& [OC>Q(X_B1X#F,\<::C MZ3\MA;X?VX>=KR1PXJ]UQC,S+8$Y8@ M=<\FHP'3U?>?ZE"HW'YS6:@"\;*OB4 A:4+ _Y<*HZD^D(#V(]S5_P%02P,$ M% @ VY5?6>KZ,B#G!0 "Q0 !D !X;"]W;W)K&ULW5AM<]HX$/XK&MKIP$P.;$,(>6.&O/2.FS;I)&GNL[ 7K*EM^20Y MI/?K;UBHW)3WH]'<:0 M6:4TZ06>-^RE7&2M\9F5?5'C,UF81&3P13%= MI"E7WR\@D[$(C8DZ(W/S!?\R\*1[T*)1(I9%K(C"F8G[.00)A(80.#Z>X!*2A(#0C;]+S%9E MDA3K[ROTCS9VC&7&-5S*Y"\1F?B\-6JQ".:\2,R=7/X!93R'A!?*1-M?MG1K M^_T6"PMM9%HJHP>IR-R3/Y=YJ"F,O!<4@E(AL'X[0];+*V[X^$S))5.T&M'H MQ89JM=$YD5%1[HW"68%Z9GQU?3=]G#Q,'Z_9Q^G-Y.9R.OG$IC?W#W=?/U_? M/-R?]0Q:H;6]L$2\<(C!"XC'[+/,3*S9=19!M*G?0^\J%X.5BQ?!7L![R+LL M.#I@@1<,]N#UJY#[%J__AB$[Q$$S(C7.B7O8!_Z?_)W/^)AE[T&RAYB8)(I$YIETJ""%HL,52.&[,30>$2K\%7G$!:)15D('2:8Q M!1$2%CJ$;UHF(K+>S7C"LQ"8;5-$-FS.A<+PDP)VW5(1)COFV0*-"&=DO9RU M11>Z!VR!I7 N2?1.=YBQW7%&Z14FIQ5MKL4/@*8N)IFT$ \2QJ!-8&'R[/Z/@>"+)99'C< M)%BKR(:]BIHJT+3]NFR2))A)YV05)_JN<*=!+A7)R\SBZ8:;CVIGSP=76ET> M&65.]WE>H7?9;<9NY!.D,TQ*W[-TU3^P *OJ@FT'LHT=PK=;22]YSOA"@85W MU:MK[ZT?]=QD,9!1]+;3M3L/U*287?6MK (P']88'C.8#[_0* M.Y3=SA*QX 2BK=@_7>72Q.@[=J9B&1(.2]TQ '0,,"1QXU*S8G(+ZO5/_[?G M1VJ:1]LT&.W5>J=L+YQN=CTNWEYQ4?;!O?U.^B1#&W\UO2>X*PC+F6.W(UYU MNVVS*0N-O8/[?[IOCZQT+@NE:%PRU4K\WK[YP6E-,AC^&.0D#%6!A:M3WHZK M_?YQIS$0LOE#9FXMAV0R"\L0]MH;COJ[]MJCT=%:2FPJ<%.'9K7'83Z'T!T% M;O/;$K_ ^IC\S6'OVUX7_4Y%DMC/ M4T0ED;\6V4.MZBM:\"-]Y0Z4.D^7+.X\=P1H3U/,@(SJO+N-P(9UJ&XW!?Z>"+*OUF#QV\Q]T]''1VQK>O9G,&6#=H MJ,VV7X>#XT;9))4%Q;A&H"\J)=.?*VMS\>KLL\L05MWP9PPB@[DPK(T?B?0% MU:EONQ=Z=2?OOG_84 TKO4'>+BGFMW+CO[Y/MZ$&_=U3BV3U"G_F*HQ7Y1W4 MRQGTO<[.^ W+ZP='C;)?IKS!L*&Z)'R3XOJ>WRBK%_?/ ODW&.W6U@^..SOC M-ZQM>W0X:CKY2/JKU-8VR-ZEN>WC4E$ KK5=XSZ<')?/IG_\ MO=H%30IJ8:^AZ"\1%L[=U532ZJ9KXBYXULO=-1GRRX+^^B4P1U7\A#AL,>6N MGMS R-Q>]\RD,3*UKS%PK $MP/FYQ(_Z&ULI59M M3^,X$/XKH^S="J1/QS./GF?'+C-=2?=<9HH'G(A=ZXF7&E*?=KDXR+)CNR!(%S2RD*IBA MH5IV=:F0I2ZHR+M1$)QT"\:%-QT[V[V:CF5E(G/M?F%=^X:Q!TFEC2PVP<2@X*+^ M9\^;/+0"AL$[ =$F('*\ZX4X&YV<_WU_.GZ[O9QW#6$:N>ZR09A5B-$[R",X)L4)M/P1:28;L=W MB4U#*7JE-(L. CYBV8$H]B$*HOX!O%XCL>?P>K\@L4;H[T>P!^-4ERS!B4<[ M7Z-:H3?]_"D\"@L ES@W(>R&: ]Z.QY'7(#)9*692/4QW%5&&_JTHN=246'H M2P/=!D^H"KB13#2AO\$H\@=!T#8,_3 :'$!YP)7,5]9^H3#E!JY8PG-N7O:J M#:/]6;#V.Y.1Z-06C2T5(MU[1N]XA[UXQ]:+8GB2AN5U]-MI$G6R)XJD]0<1 M7&M=N<(G4M-Z)+)&2;E.9+6/PE'<[QWO6D,_B,)C>*SFQG'962_TAZ/^KCGV M^[V0MI;6=-LI1:JAE,I=V'(!N13+/XPMU9:V,/#;F:BEW&S[OJ+\K.8P].-! MW#8,_5$\:@Q/&:6A+F-3 EC*%2IA*TP%@@M9E$R\N*+%9[JUBVSFWM\-"G]4 M7&$; XRDI!=E_D(WOLD@067H#=V<1$XIW#J\7+P>7F:O?UY4!=S2FWV#Q(]> M3WBPGHX&L^^$<[CBSYC"1<;4TJZ[Y7G$M'V]Z"9)P1V:_Q7_0;''G?V99+FV MBH55J3=/&[4!E!MM%'>/,TVOD.13FP'GVFZ [0KPFXBEQHH3ZP#X"W]39XDO-Z3[D@K88,0;%#&[N5&VI$YJ-Q,6" M^@T'7I4+17)A@4@%I'M6L;5P(Y= WCYZP J[7_]E-3LK*^Y$OT/G[8G9]]YT M6\]_@51KV^18TG2 ZTZ@L39]U'G=/OQTKYNP;[15;'ER7%!HT(D''JBZL:D' M1I:NF9A+0_5SGQGU@JBL \TO)+T:FX%=H.DNI_\!4$L#!!0 ( -N57UF5 MWUCO4@L /TG 9 >&PO=V]R:W-H965TT*8\NPP6B]5ESF4QNWI%SS[JJU>JM)DLQ$?-3)GG7#^\$9FZ M>SWS9_6#3W)_L/C@\NK5D>_%C;#_/G[4,+ILJ"0R%X61JF!:I*]GU_Z+-TM< M3PO^(\6=Z?S/\"0[I?["P8?D]6R! HE,Q!8I$L.V[$6Y7]*1-[>#W;S%@B4EYF]I.Z^U54YXF07JPR0W_9G5OK MAS,6E\:JO-H,$N2R<+_\OM)#9\-F<6)#4&T(2&['B*3\A5M^]4JK.Z9Q-5## M?^BHM!N$DP4:Y<9JF)6PSU[]]N[ZYMW-JTL+M/#)95SM>^/V!2?V;=GOJK ' MP]X5B4CZ^R]!AD:0H!;D37"6X(TXSEFP]EBP")9GZ(7-P4*B%W[UP=R^Y?0^ M#((7YLAC\7H&7FZ$OA6SJY]^\%>+EV>D6C92+<]1/R/5^7WK.7-;V>>#8&]5 M?N3% \L$^*-AL= 6PH^I-)6Q8"F/92:MA)D2C*-9IHK]A14Z]UBABHN8%S%$ M =]E@D%P:VYEL:]IV0.W3-P?I18,_KOE6JK2L(1;FM2JW!_01-LY^P QE202 M@\N#J58L:9C:97(/>Y)*A%06R+7F LFDD3HM=2%MB?R*I#Z#^+N41XA]^S4" MO=>NR 2ZP*6?1G :@>!2WG!CJ6.#]P@97B8S[L^\M,/F\!?OS2-?1^.,@9A']B!WR)G M3-RT$_S# -EBCZ,45:D*TB0E-O8@."C/:_1S=Y#Q 3(1F+N(LS)!7T)7,+3E MW@H0%P_246UYQ+D4LG!##0_U1111// A*[I$[Z0]H-\7CB";L[>E1F5F#QY: M!*G:T[H \S@/E/?@J& ;YW"HB)X.2:9$Q#(A?3B_86BH1BA>67(GX*!.1D'> M3'[D8@\XN2/&N'(0,*U=,DDNB6>FDQH#G&JW:.WE^%5"UY&.2Y!9?7!:-&?7 M59@B_;.*(;>\L.J"_FE\6PO6"1;PXZ[PE61.4 ]CE+R?P@_-B[L+96NC)JB' M*=X:W>Q"I1?H^MP8 "1 VAT3=4*1"&X@'"_,-^0!+5-,L<7%7E$VJ2)M0( =-6926,FMU0[] MS-D?JH"43V .#'JAP::8I2L< R%Q*R!36^.Q6"MC+NJ)HU:W$I$8S)AR]U]! M]-AXFL0!M"2T!%WSY!9R+K@/Y*D]_&2\[$2>T=D+OE$8[C R'2P& M-H;R!6YLF:)AB<1!96"X'&WN# 512;H$RH=*V#@:)K=./R@48P\76;//0>?@3Q(49!5&>XX89*:^1Z.=+]'P@(!Z[R MK4S[AF68?2%@S '6"NU-KTH<60]]DC,#QB=#(=[$VXUT\=LU2E>+",3@0E8) M+!%0"6.1I,(5L(&T?$Y?TO2H-S0:RI\F/.=?0Y@Z])P)=W/59\(P@Y)"RZ9- M.%@Y-MN4K(V3-AME)3!ZV;X@,^[(%%5>H'M&8:O"5%DK+0D30WJ3>9D/RWWK M!O2:V<\Z)\WV>3#:N M6E0>8EB33%L-YCP1E:^#A8!O C>,&%5H*.V0.R3(?H(U8?'[BKB;AQTP S71 MG,'?50DXCYI[P+(].\$!2:5?PP- S5HVK&J:EH= M<)253W@9L6I\]F3&F'#&.<.#+\*7S2]E.(6W)$)*6(.J1M!9UZS%?#$B^+U_ M/Q\ A_2Z',W4'WCVR9D^+IUXNIU\^NA:1+CX)^S\5\_]3.:'2S%XI7E^ZO$@ MA9*?LV?,]Z(@:/;@>+E:=L9++UIO>^-5X+.;H?"AB!+$-3W_Y?*3(G\/% MQ,-E<&+E^VZK@,3\?K:_=G65UPF_2N'U=+@-1EO"Y6+TS/=\?SEZNEUM03]5 M>0/ZXZ)0KURN1IN#S9B+/Y9FO03(BED3X<_ L-L.61QO%EU#1]YZ%?;&J[ ] MP_EHK3.>ZPF[NP:5A+:F#8,96R$JDPF!A![&^W[6[0?8+R(>Q]5([1A=G4%X M?;@I;=,RY],)5S[X!1&[T9&Z_#4!1US&B13\#1.'ZU#Z/^@ C MU-6X\,*+MJU.M]XZ:OW<.?+I*($SKCR_Y\2@A6#[]$._[W1=;QEM.E4B]#;A^OG "%]^Y6H%";S( M]WOC<#%.6-]DHMY%HIO:_'74'V]6CU-XQ%?;Y+Z,QFD >2P'6DN_0-8 ZN>F MKZ7UN* \]?=/ZM4B; 5(QO?C?B%=%#!U40/V&URWS7-5WV)4)^>+<6"&\V4X M,LP) L%\N9UX&/K?3UN)-+'K!T ?4?=K.9;G_W8&4*"_?$Q?:SFJTUG4S3W MMYWA)W3A&M+?P3WUF3]? Z[/,GKW"5'\+)H'S8.ZGVP)Y-(-&#%M[C"M($P[ MU6/%UHEK_67N.AQCG=>N'S?%TG\JRRVQ#/LLVVO%>8"BJ!O8!2CTHJ$\'K/Z MFDFO9%)\:=-=5O=#Z3V%,P>]E?K'JOJIW]-7BOKW:ZX+3;B,+@M-WN_#E[>H MC2.756^3NF)FU)O+X?"ENZB/VR/R*6II0Z6UAWOW-.SX= '(>K'NC4-_<&ZG0(\$O46MG:) #2/(<:F?]%9CQ8 M4EF-GX9^V-TV<4OU5NL.PN\QV=;OJK3@*4"1-N"B5L".*-T;0=.4&C'<>(MH MX@+M;:*6^6^ ]%ZP#_FQM!0UU:V\,3;JSR+A_WWIV LQ2,W^HFU3I,XA6B^K*;RBRFUV( M!U11%8A!KJ0F)/4E=[UF.#>CUP",/@RA#CA$JE35]Q:=-PLM(Q1T4"[.B2K< M6T$0KX9[=5=Z2*1Q.?=I\ MVW;M/NEJE[L/XW[G>B\+[(>FL'4Q7T#R:![<"-7I:<'HY.CFJ_$7/B/ M];7%:I10"ED)[:31S(KE\>!T\OKL@.2#P"/K3IP+I0@(9GQM,0=))6WL_^[0WP7?X6A]Z&E^-'-DS; M#=-@=U04K'S+/3\YLF;-+$D#C7X$5\-N&"O66?3J]N3@]^WW&+JYN9S>S^2W#JXO;B]G\:.2ACW:-\A;[+&)/'\%^ MQ2Z-]J5C,UV(8G?_"'8F8Z>=L6?3)P'GHL[8],603SJE9F(P0[$UHLI6?7BFO';DO!SDU5<[UA)7>,LZ\-5W(I1<%J:TC0E=Q* MO6(U-K"ZL:[AVC-OL*\0;-Z6[<%XLL=_85P7/80>^L\_O)Q.7KQQ5(IPI& Y M"0\X7UHX M5\5$-DM&D92Y" 8E<>X]#\JG$[81W 9)]+1LAX?0BAQY6/$OP.0^+XF OL6P MAMPDH>?CGPB&C*^Y]3*70/&N=?C>+LB3(+DW9$U-Z\.T7>I"WLF"<'M(B3ER M%FV6$](P..::Q9^PE5 X=1M9-16!_;@_'(_'K!8VD9:QCZANV]/N>RY7?!.= M+:3+K2 -:/W?V]ZAH4OGIH&7&7O;A.P@- UNNQ (ZB7(CMJ+:@&]73L(=O<> MOPJ/]^^;4SS*.[DWS29HLDJ%>0&\'R?9J^[!$#/(U2),$;7)V"=D+U\HP2ZT M%WCET>:\]!)I]$&S2V[SDAV0$9/#72,(V#^0P,@FI3;/S)H2"1%PLI @:\@^ MPX ">3S3PJXV;&Y4-'D(U7G&]MK4_CR;=YF-*.9?&VE;((]H2PYPAH\N*;AS MP@>WWZ-RW8;:] I$"Z)]R*ZS\RUT*Y$*AUS _J:B>A.6DI\1-[$Z%7B1*E+1 M@]_#K%(=?Y&2KB@;D(71FO#[W0".GY*IK),*VB]!!<)\ND)UXHS@AZS@5*X\ MJ'PG%K:A1)L>Q@CL]("T:4O7(H:%(\E6B>_WUC1U)!E!F,W#Q_O9%=OCVW:S MH',-$#HO">8&6:X*]CECEY QB<:PVB'QQB!9/?LM8V>6-SI)AE4K28*@RZP$ M?+ X'_@RXNYPV.F?HZL*9!)J,L4KVV;D\RXC^Q03#'*XP46$4:H?G'06PZKJ761T* MZ=CM@H6!N=IX!EPB37I8BN-N_J77,[+OSA$B--L"K,76P+M,W:9-KP+Z[:>? M\.M2YM\+KU'W1!_(*^5"4GHOK:DP\C$ J"=ZBZ/-4M@0:$-QSQN:-MVC"W$%4'QS)V93S)41LO.E7WA2W=/BC=5]PF MH<[>'@UI0Z#ZD9"T1R!,1]Q'Z(P4#R']G"K0[,/%#-,]L/&]AGY5M*>F?Q/0 M K<":T M(FIV.VZ[ID8I^9X_R1".#]+-TQ%Q*<2P-8IB"6WQ7+B=P;FA9^@ C;6QN @! MKG2VAT']"",02\I5@S5Z%+S(B2,ZJ#9!+Q0,J?>MD<3T3;Q'YZ)R7W*/M%%4 M]E%QS]O6$?):T30G9J#"&:V%B@ 9IC-\1F+C'IS.%O\4Q'LGHH4S=A'[,W6\ MG$I/&4S]G0,$CN*F695,^C!^48='3H, M+/JG@(H0I]%XG4Y/TY\1I_$.OA6/_V1@TB+S'5-BB:WC[,7S0:S/;N%-'6[D M"^-QOP\_,2#0-4@ [Y?&^&Y!"M)?-"=_ U!+ P04 " #;E5]9L9ZU\U,, M !D/ &0 'AL+W=OQ'6F9L8F7)5Y+CYO[Z>X:2'-E4'"7-MLF7 MQ**HX3S/#$?4RU5>_%/.I*S8]WF:E:_V9E6U>'YX6"8S.1?E*%_(#'?.\V(N M*EP6T\-R44@QT0_-TT-NV\'A7*AL[_5+/?:Y>/TR7U:IRN3G@I7+^5P4EV]D MFJ]>[3E[[< 7-9U5-'#X^N5"3.69K+XM/A>X.EQ3F:BYS$J59ZR0YZ_VCISG M;SR:KR?\1\E5V?G-2))QGO]#%Q\FK_9L8DBF,JF(@L"_"WDLTY0(@8W_-C3W MUDO2@]W?+?5W6G;(,A:E/,[3O]2DFKW:B_;81)Z+95I]R5=_R$8>G^@E>5KJ MOVQ5SW7#/98LRRJ?-P^#@[G*ZO_B>Z.'S@.1?*YZ??;V_<>WIU_9T>D)>__VT_LO1Y__ M^'!\]"?[/1U\_?#I]>5AA)9I_F#14W]14^3548_8QSZI9R=YF$SG9 M?/X0'*[9Y"V;;_A.@F=R,6(\M!BWN;>#GKL6V]7TW'L6NZ;J]5.E 'I>+D0B M7^TA0DI97,B]UT]_O37/WB[J=^9Y)]5^GED\8D.68V=RB@BMV(>L MQ@<*M*\SR8[S^4)DET]_B[@3OBA9MK'H+)3,ES!FPJ!$U$("9* \5<_",+BZUF*IFQ!%ZHLJ4$ M SD;2Z:J]DGY729+ @26GY^KA!XI9"(Q4.HU"WE! ,#.52:R1(F4J8Z(*@-3 M"G?UR(A$ADPK^I/EN%O)HI&6E2(%R25+-"2KU&!JG9O X428$"=2XJ M.1_+8NWK>F)G.-;#[JA7R[N5PN2%2)>B(FW@8!*RHQI)X6"Z2[LR51]KY"+ MO*!1&!I$:O/A=TE4%2:_5/BWRY(&.4:JY24;0K M0Z7O>OUPI:H9R)8+Y#A:@42M5]%K7D6<]FBPGJA4U8\VL\4\7]*,M?ZT:YNN MA9B<(!7+.CKS5$T$S;YBZZS"0+T:Q!-DRQ09OWS.B(;MOGCP_[LPU(Y]RP2D M2+2L-SV_H9@KHH1S[*F8+UYT@ T_"R@<4^%Z';3XFE?0Y3;E?6V4?%G"CN4S M*+U,,.NK!I)NHNW#CU^ES>/M.&EO_,X6W&713Y.7!FGU#YF0G#+5L&E.;S/7SCS MO!"QX0Z#AZ:.>)#PX#B ![LSPATKM*,A\.!R*W2C6\-#Y)L.X+IFF P)9W(G M>R \F,YHTN.6YYI1T3\O_&%XX%;DF+K J-_CB<#5*!H2(O!D@.VMX"'R3>6$ M/#*9B()P4)0Z[@"$ ,8&3@_[#C?#%NCH-P7G@17;)E]^ MB-E]C%V'$+9C!=QN$>*4ZME'6#^X/K>"3LK\G06QY=AN9^ Z@/ (2A FMP.( MV(IL,SLZ4/*0W-3C#S92>7B/)40 P#3=X[IY/XH1CF]%D0F.L178??%IA5X\ M*$H"S/1OAQ*P9F#: /DC,&N[_3@<5,LX5A0,P@H@O6,N$UF^V[-X:(5A,&AY M#]KE#Z^>V(D6#[BE#5[/OBM +3<(JU"8Q?X#JBQHZ2UNJ-M[U;0C MI\W/ZQ9I4O>8FL8K=:S*T9HB]3?K%I)NG.J[Y(07U)'K]L#$.%]6;*)*,9T6 M*,+'JWIK=U/EM M9S]]@S.72"VF='?]?X*$4U8J>1@RMO]/A[S7>KSH!O"B#L_5@ ]W MC[MX%P:6&[F[X,U!;6WWI&,4_VYHAHB#B'+C<"?".5%_A@?P]?2/'$0=!51? MF S87[?[Z$>+<9R:?EU0\RT>.=T)$!G[N!THYV#[Y=D] .1B5];30T,A;V.W MMAOGR(IN:!+E/5MKFNN#Z0=FPY\&=;]01@,P=E9TV[OCQX=Y,0"-=ZZ= .5^ MW!G /L)VG%V0Y_'>=HF'_6'/.QD@*+8EN_#.IRY'3_NEYWU10,@8])<$-[]L M:%\J/%JL0W7L;0@$U-BLYZA@V(%T5(P[YC:5VZBT3* +,1OUXVZ6 .GA7/>< "'O>,/JA%?IFHG%0Y8?1C?4_;"/4TWFAO% M_7GJ%]KPIT'=+60DY1PU1]?FXE*?P!.327NJK2(-TJG+^MP=YM%9PY&VT(?Z MH%YS")+Z^'E&+,E("%-1[#+=[YJW5X$I ]1" CG!J^>G8;4?.YHCAM]'9 MQC'69HJV#$PVG3%![6(ZU4_+U^=T2U9_?,!$4M!Y5&QX-9V2CA^6EB9\HLH* MD*H;S<=YNIR/E;!:]J&[E11I-:.[GY>R@)V_J"2OCQH?BTQ,Q*@U7WF]_:X> M%=G5HTK\*Q:U0*2X[;-KLQ\WGDG)-9&47[6QW]V1E3YM5/F"H4)L8Z"$>1** M3O( +./%(^=)K6'\])]8[:%5^$AZ:0WRKNV#MZ/;"M#HXTX"^'P4/V&U!+X] M"NCW+Q!A=X!O2,9F"!)]&'VB+M1D"=^[$JZ:B6I+PCF]S\-X!C4\T:]HJANX M9R/V":[?/32NRDT>ZE/%Y1U6;HEN+UINZ^PV[KI&)<[AC^U23<7:KEALAOXJ MO^+>8F?Y$O2*#-&>*C"?*<'>3E39O!<^3@7 ZIB$NV1GR2S/TS4:C5C#]]" M9T@[TU2NE]]2FU96H[UKG.\:R>[J=O?%U+4[@YL8O4UD7]G:&85WLC40?ISF MUUA3LWZ"Q*FJO+AD1W"+O% TCQ(1+7MSRTDM"?%V=T3]Z7ZA@6?CW:V)/FO*",HIG9RH MW_W6;Z3K;9S:"&1:M;7:W6.D_6:C?5FM*\EVZ:T%-Y,D'_$G=8YT1^Z]Y,@Z M8=W$T=I3-_E!X-@U/R@BPE^D'KT;N5'K=4 MU_<)X6'GRT]$W51_WTH/8_GZ(]#UZ/H3VJ/ZR]&KZ?7WMQ\1)0HU:RK/\:@] M"OT]5M3?M-87*)'T=Z3CO$*(ZY\S5.*RH FX?Y[G57M!"ZP_+'[]?U!+ P04 M " #;E5]9CD'TV+4' !1%@ &0 'AL+W=OYFU$D67;J)+4]8SNYN7Q(FZE[=_T*D2L1"0@P M &A9_?7W+ !25$R[/GK*VK9<"CV\Q]XTB64:C6\^5B\?V\ELI,+L[BVD=W<6;;H)6A MCT[XMJZEVUV1MMOSR=&D6_A9;:K "_.+LT9NZ(;"OYN/#D_S7DNI:C)>62,< MK<\GET=OKDYX?]SP'T5;/_@MV)*5M9_YX7UY/EDP(-)4!-8@\>^6KDEK5@08 M7[+.27\D"PY_=]K_&6V'+2OIZ=KJ_ZHR5.>35Q-1TEJV.OQLM_^B;,]+UE=8 M[>-?L4U[CXXGHFA]L'46!H):F?1?WF4_# 1>+1X06&:!9<2=#HHHW\H@+\Z< MW0K'NZ&-?T13HS3 *<-!N0D.;Q7DPL7['Z]_^O!._'+YZ[N;LWF 1EZ?%UGZ M*DDO'Y!^+3Y8$RHOWIF2RD/Y.9#T<)8=G*OEHPIOJ)F)Y>E4+!?+DT?T'??F M'4=]Q\\T+TF?C$MS0KSQC2SH? +&>W*W-+GX[INC[Q<_/(+MI,=V\ICVW\7V MN/318B:&&L1[4]B:1)!WY(5T!,(7MC6!2H'<%2TBY$2HL.X]DEV:4F@E5TJK ML!,UA=%J=8X(+U84=@2F22LC#2%DAJ:L34HL^%D4^ETUIF>6!FV7]NZ MD6;WW3>OED>G/_@'D$Y1:E:?D/XB6"'%I[;>'3B,;=$NN\P=6 MR_NN>+I_:I*^Y7VM9U/(H/ID*2<#-M%=0VD)T)I&[_@'7LN5)J%2*%7RS8ZD M\_RPK5118L"E?/10\ZHW#,^($_ &38CS+]!+D(-O4!I'3+UG%3PB15%) MLTG >DL0E0$;\.H0?4-.66BN9. WNBTAPR^B3V((2NB9B4MQ*W4K4ZW6:!8@ M!'7:''Y[!S4,;MJN8N;HVND9M S<:, M?ZT*"30=3?@8CHSJ3DZDX7"R;D.9^R.HD_<.K=UO [A*H; [G*<[;_U=6^__ M(63Y"35_D%4I2-']QIH7\$7K'&-08$#.#FQ3R(XR,5ZA>3B MD\'?2]@,+%0 MKFAK'Y+C-0:3E.[['7U$Y0IC2;2S#>#U;[U58T2!8#8V)N!TZ!^,&A%&C%:N M'UIRW$;9,)(*_/R0#;9 D'&@U' 2YH%0L3D6 'UC31FC;PJ.)'%20XV#&AB= MHH$HAYQA90R9\DPTMH+;ZO%T--+!S%VA%W5M_M"S*WR)/#&UD M?*!;D),Q[C?"#24%B41!PNV3M*GR[& M7*F?Q:%4=SM+D0\Q\3(CY*/N&0M,5R.^#N48DFA4TSC;. 4C&!G/!ZY,(6:. M7=YC=TBK&=5[('QD"5K>M*9*@5$F72#BFQ9L5;F>"Q(Z[XH'M:!Q,X[ M%1N"[(>?:&'"$EOG-(\$G1-X".CJ-@N.@HR5BU>F?0_I_)KZ;6I;=KUFQ\&& MC;7E%@7@D,/=7DY6RTP9AN*I$?AZU'A""+AFHA$.+%+]^!LG(##X/M(XHR3# MXDA)AM:8)V+I>O"D]>^.')V^O1 [BB<,#R>G2,-BNI-U[L3<(#LIV2)\+E/\ MH$X%*BH3AX0:-H:> -TYR<"A)0RSFSP/5&EN$3[T&R/N*A:Z#1I)B%<#V/1R M\;=DHZH0;SYP1W%^CTD5KE$@S<34,R-.9:/&O^X5. M\__K7QY1$DIN'06C7UI&(=/Q: M$P_-&K.K#"U&_5UZS5T4#;B63J&*R!"<6K6AFUMX<[[ 3WG:!Z06^ODMW6'P MCT>Q3^&ZR(RIR%NXY@PR"I>+XK.P360/1%VA/.OD;QC285)/'(-O;!.[0KRT M(U!(NGV.( O=9O<"5JI"P?@=>K+2DX9VM8*2XRD+B:.)?> M^577^%N'/SEN5.,=3"9+(>[,X$LT<5Q#"!,,M4%@]+C':TP2 T0T?E283KVD M"6R^;]$_VMPIER53>"V2[SS2\<09.A#ABA6)OA6;SUCETS-XH4B4_85-Z>L/ M' @+I45:!1.#E&?EDSU4^] (&+HO!/A5@&]YEPM9EA^89M.Q%!N0QIO0S(M- MU483.9Z90UEH259.<7HZN[R]^7+S:0'SV2TL/E_>SN#$F'7" M"NNJQ/)?P!K!5Y'I6,$LBS#:C^\0KYJ!G_0 M_UNT?P@CK9 MP.(%;TB6HS-]_\[KNQ='>'9KGMUCZ&_B M>1S)\]IP".W]NZ'ONQ<$:M^\BU.X8HJ'0#/ %80BS0N-$2P?(>+W/.+9&C+2 M")Z1"8'=,YZP98*@A7%.J<&H5L.[6"012F7B=(RPL5V!T1F[1TE-#EF1+E&" M6-51,:,-!-(+I5EFUFG#!Y[8Q5])YE^L!?0@3%J.M %RH3'3G"5/ DC[[ HY M2BZB-LQ?\",^21'A83;U*KA:D20IPZO)Q&X?B-R(E;*\"%)+'IK,2R/;,!DI M*)3Q-XMHTF%5R,?*GJ*.#;]O9%J)A 37.MIS4JAM(CJVD;N]>4;TY^1L+,3]!X>[KV"<_H<$2A:$M5"_ A)"A3=>5A $M%D6EU"C>[ MXC])A**9+<1O,&@%W7YC[+5Z_;UQMS4<^HT)OS4<]>#[Z\M@&^H%K5'@-H?= MOM\<#GI!\FXHZ;5V\^\UP]@QF1&6 I.?K=G4A_JF?-^)^RYA6:%G7:Y(4EAE]CR 3VM2^ ME5(S5QV7*I9_F=HA 6I6(_XHN'[E>2_]$ M9]MF:C_9>]--1U,0?(HH@8!!@ EZ]]W#Z!( MJI+=3EXLD[@[[.WM'<#+K77WOB(*XJ'6QE]-JA":-_.YSRNJI9_9A@Q62NMJ M&?#HUG/?.))%=*KU?+E8O)S74IG)ZC*^^^)6E[8-6AGZXH1OZUJZW35IN[V: MG$WV+[ZJ=17XQ7QUV<@UW5'XL_GB\#3OHQ2J)N.5-<)1>35Y=_;F^H+MH\%? MBK9^]+_@3#)K[_GAMKB:+!@0:<5AV#LN(.VT44?XJ@UQ=.KL5CJT1C?^)J49O@%.& MBW(7'%85_,+JYH_/WVX___[^\\WM^[O+>4!(7ICGG?MU[Q7"^?#'A'S4PL7TW%"+>>9_?>8QW_K/Y)?>+T^[< M$F]\(W.ZFD#SGMR&)JOGS\Y>+MX^ >ZB!W?Q5/3_!O>T^]ER)@Y"B!LM5>V% M-(7X*+>^5<&+;Q6)&ULWTNR$\NB^[&]TA A6Y(.UWEN7SM8BH.W8@'^G0IE< MMX4R:Q$JZTE(K6G-CXVS)7EN3ZD%.6>=%]8)6ZOXTL->!B&=@I,R>"(L(Q": M7^2V=7AM2Y&U'GEYX%ACAO@@2N7JSA>SQ\G0>Y/!OD2.-V?4.39!]QUB\;.# ME'/IG")_"%8KF2FM AA!!"=-CCS'S) + (/V+EJ,C4Q3HJFQ6N4[N-?@:BHP M$^&55SV3#)MV7BMSS6+KB[-F8K6E,H'X-A]X$Q1IJ$)2,8VVC -!R(^]$M(B&B# WB5NB41&T1KLSS7L M@,#V(6?!P?(X'O1>IJ)VN[;("N -L0]+-Q'04_;\V>OEV:NW*"&4#2H@+Q ? M""<7^LG8*"BDAZ[0.#5!V*% "TO)+ 'HF>XX3L9 M(@<;J[FEI$!O,8LPQI:-I@=T*%3D4VFR'=K3X.;!CT)F0";*-G"]D29;Q!DC M^?(!@!7)C<*O';26+!"SK9N01L]MIZG1/@I]E+,R8^6.&S"]1Z/I(NH$IHY5 M!)I9'];07JG_2W',*Q=X7_]I% "_/5&L6&Y>.[0>-#(21MBK8J_\K SW2CKXAA,=IM@?0=,TX5"Q2L-00U^S MM..)'T^LP+S%8Y/#GKH?=9*CAP84)=>?H_%4[\X$+R_.3]XMYZ-+?DUN'3]E M8BE-2/?]_FW_M?0N?20,YNE3ZY-TN$AY,%K"=3%[]6(B7/I\20_!-O&3(;,! M'R#Q7XP_W$/8 .NEQ7CO'GB#_AMR]0]02P,$% @ VY5?66.;4VI=!0 MU0P !D !X;"]W;W)K&ULI5=M;]LX#/XK1#8, M'1#DQ7V]I@W0]K*[ =LMMW3;9\6F;:VVY$IRT^S7'RG93M*U08'[XE@R]? A M^8A2+E;:W-DAD6 JI>M,+/S^->._%59KGCB>'T MHA(9+M!]J^:&1L,.)9$E*BNU H/I9>]J?'Y]Q/;>X+O$E=UZ!XYDJ?4=#SXF ME[T1$\("8\<(@GX>\ :+@H&(QGV#V>M<\L+M]Q;]@X^=8ED*BS>Z^"$3EU_V MSGJ08"KJPGW5J[^QB>>8\6)=6/^$5; =DW%<6Z?+9C$Q**4*O^*QR0='GN6?PHGIA=$K,&Q-:/SB0_6KB9Q47)2%,_15TCHW77R[7LS^ M_3;[YQ9FW^FYN!@Z@N6/P[B!N X0T0L0?\!GK5QN8:823';7#XE.QREJ.5U' M>P$76 T@.NU#-(J.]N ==C$>>KS#_Q-C@#AZ'H*WQKFM1(R7/=*^1?. O>F[ M-^.3T60/P:..X-$^]-<1W \Q/AS ;S#P[LU9-#J6?ZQ-(E2,I#"7P]7B M!FYU)6,X.S[NPZ)>6KRO43F8/=#3]L'E"#>ZK(1: SZ(HA8.+>W>SA"](=05 MU,K)PB](R*A926I0%A-^L[J0_"6!#U(1!RD*6#B:*#V", C2VAJ304?YBX(O ML=-+-! =!BG 0.S032:S)2,!=P4VDJ5 6D?_8?QY/T.X"^M_V*Y/.:HQ+$M@VHG6BA MO>EG8>Y@;G"%SG66S;@Q9#NJ@LZ0O)L@OA8KE&HGA,]84I"V];(1Q'Q?!I^$ M'W"K-J&5D23[F'0H;2C?@7P/;\?18$0]M2CX>"#4)5D*F8!4$ N; \]VV-M* M@P-2R$\Z5W@522I9BOC.ACPG/ZEI>UF'#!U( M+<1H'!VFD'8[Q0F3L>R2FH46@E]I6*,PY#2E1+S S]B0@I4PAC M;7"P7U%/M+3+G3TW_(-O.O@@JP7'C11W [BC:&H^,LXW5EVAVV["0A^?3HC! MLI!9D]":PC?/23R4J.W/-3?:5K2Y3Z6&M&Y2*I7TU=^M^J"!E)Q)H&A,1HT^ MI4Q+5/&:RAVP72Y<&Z4WY?JNF3:?@P3$#5RSKP:#;'ES4/%*=$US9$J\ >FR MQ'+H5O(&PJ+RW3F4CE.5&+JJ_4Z)^B'&PBRUDK]\?@)N8T>=N_:5'CS)YV8G M216NL2RD%4F=M[Q4<5%S_;@S2;5=[0YA%CQ8S/Q&6"*U?<5Q-/:IK@VUM7NJ M+>]&2DTJ;4P.>8^&9MW*NSM1'RO.D:\3\2OD+WRN:='AHQOE&RS\:>#%147; MTC9W>5Z,O"."?BU2NI,]E(XWK?6%W^=N-L.MJR:5*O,7:BH=U=^%6V+OQT=F3<30I,:>EH<'K< Q,NT6'@=.4OKDOM2!?^-:?_'6C8@+ZG MFOI:,V 'W3^9Z7]02P,$% @ VY5?6=U@[W/L @ 0@L !D !X;"]W M;W)K&ULK99M;YLP$,>_BL6JJ9.V$IZ2D"5(3=,\ M3.L4->OVFL(EH(+-;).TWWZV(2P/)$)=WH!M[O>_.W/@ZV\(?6$1 $>O:8+9 M0(LXSWJZSH((4I_=D RP>+(D-/6YF-*5SC(*?JB@--'-5JNMIWZ,-:^OUN;4 MZY.<)S&&.44L3U.?O@TA(9N!9FC;A<=X%7&YH'O]S%_! OA3-J=BIE,9";/A+S(R2P<:"T9$"00<*G@B]L:[B!) MI) (XT^IJ54N);@[WJJ/5>XBEV>?P1U)?L MW11P2L!I"K1+H-T4Z)1 I^DN=4N@V]2#6P*N*H?B_:F7/_*Y[_4IV2 JK86: M'*@*4K1XYS&6M;[@5#R-!<>]N?^&U@S-@:KO!@> 1C$+$L)R"N@+>EJ,T/75 M)W2%8HQ^1B1G/@Y97^?"MU30@]+/L/!CGO!CH0>"><30/0XAK.&GYWGW#*^+ MG*O$S6WB0_.LX *R&V1V/B.S9=HU\=R=Q[_E6.#=D_CH//[@4X&[)_'[)L$7 MN%6#CQL$;[5.XI,&P5O&27SZ?SL_>W?N>X5@55^ I?2L]WP!=85>R-GUU M]XU&QT:F:YO[1O?'1H;3/G W/C:RW,Z^S>38QK4.G$UKG-G=[H'5K";NKNM4 M1L76ZSL':@ITI;HQA@*28U[\6:K5JN&[57W.P?K0Z$V,FO6I:!"+?NZ??-%= MBI_K*L8,); 4KEHW'=$XT*)C*R:<9.HX?R9<- =J&(DF%Z@T$,^7A/#M1#JH MVF;O+U!+ P04 " #;E5]9*G!25B0" !-!0 &0 'AL+W=O #.G9'%^-U[XF%+)[PBX4'R7XR:,L&?,:*0DX:;O6Q_0%^/!\PDU_X7M5WN;(E1UF@CJUYL M"2HFNB]Y[<_A0F!]K@NB7A!Y[FXC3_F5&)+&2K9(N6SKY@:^5*^V<$RX/^5@ ME%UE5F?2K3U>"@H]*4*9*-!:*2(*L,=N=!P8NX/+"[+>;=.Y13?<9NA1"E-J M]$U0H._U@24;\*(SWB8:-3Q /4'1_1V*PF@^XC<;RIUYO]D-OVMEWJ'C&]H* MRDZ,-H1?J[HSG5\W=7VSTC7)(,&V,32H$^#TXX?I,OPR@CP?D.=C[NF^X8"F MX7'Q:7J)C=94UN;?0^YPQPUSPC6,@"T&L,5_@3V!LA>5W& ;][S)%EQ<\0I4 MX1M9HTPVPG2W?9@=WHIUUR)_T[N'YI&H@@F-..16&D[N+9+JFK<+C*Q]PQRE ML>WGAZ5][T"Y!+N>2VG.@=M@>$'3/U!+ P04 " #;E5]9UET%F8@: K M50 &0 'AL+W=OVU6R;"?*E)>R[)O)O#6!)MDV"."B 2WY]7.VWD"0LG-G:EYLD02Z M3Y_U.POPXJ;IOKNU,;VZW52U>WFP[OOVEZ,C5ZS-1KMYTYH:?EDVW4;W\+%; M';FV,[JDFS;5T>GQ\9.CC;;UP:L7]-VG[M6+9N@K6YM/G7+#9J.[N]>F:FY> M'IP<^"\^V]6ZQR^.7KUH]G)_\\OHY M7D\7_&;-C4O^5GB21=-\QP^7Y1"V MQ!O3O_WJ[^CL<):%=N:BJ?YARW[]\N#9@2K-4@]5_[FY^9N1\SS&]8JFB: M&]7AU; :_D%'I;N!.%NC4*[Z#GZU<%__ZN/GOYY_N/SO\R^7'S^H\P]OU,=/ M;S_3IROU\9WZ\K>WZN+C^T_G'_ZI'GQJ*EM8XQZ^..IA:US@J)!M7O,VISNV M>:[>-W6_=NIM79HRO_\(2 YTGWJZ7Y_N7?#*M'-U^G2F3H]/'^U9[RSPX8S6 M._O#?)@Z/*_]:'IMM*M?7*L+\_( #,>9[MH'/^ZA_)'@?)'^U9_ M]5H[ZU2S5)]P[;K7J.U31.Y?YLO:@(D4S5#WMEZI5F2MEDT%AFM*M;A3/5QS MT6Q:7=\IW1GEP&F 7^C7RM;JD^YZ=7DY4Y>]V:AG,_6AZ8TZF:F/W4K7]E^: MK; NUXYUUA:[4/XWNW!03?OQN]24Y;4,D SN0 M_LZT<&BG;(^?ZP'N6-I:UX6%OT (X! -R31S^UQWO=%6M8!9:%@[4M MZ)Y>5&:N1"!W(!"R])FZ65NX%!9TN%R@P+L"N,!6E5H850##.DOG7J(0D!Z' M/X.Z:KA$^.7@0@@QCK0>K@3ZZ4IE=+'>(N L(8 Y&BEX/O-7:/>_M/MYA3)< MFL[4!8@<.'5'JFF9D773\[>X"!AL"8I1)N)WX P,1%#0 - 4=@_P:?0?^>/^Q@5%P$6(7 MV]\Q][_.K^;JK^?GGX GOP\6-H1X6@, P3N0F1O]W2@3]D7%U@Y 2\LNJU_K M7NGE$F %"8%M$ C0&W2>Y-/@>M/SK975"UO9WLI2); ?%'_HC)P 18\[[[J' M=\$S>F]Y[['G"=MTY9K[R.W,M:D'0WN;6\![8)>J'#I4RG@/A06R9U#,HA\2 M_P)AH\*CP3:=6G;-!FX#XXYY>>MHP?WD]=INZ) M7!.YWZ QR4I7/0A?=^!57S?PGWKPES\].ST]_O7=^=5K^O/DUX?*\K*3MWUM M247]?>=77\-M'YHY;7]X#"Y2?K^LP4,:]47?@JH]^-*TME!/'QT__$5=@N-L MKN5$8([Q2O4FV(Z3Q=/]_!Y^7]#2^"6H.\4,4N>A,A0]+"_=P]+1+&E3<0W@ MYGLV0_A.+@'8TYH"-4B!#IE5T^'OXI$Q-,/-8*$%&#"I&#-=MH+0"$LXMA$V M_H%DA9-2JA,O!W JR8ES"KNJ' M]&'_4GM(270F\L5U*8:OO@NAM M#2&R)F)PWRD"J@:#V3?P5:ZTE.A!E 77A@>!M3M5K#7X5\<@BI2 ER]TC2B! MP 9'<@WAI4'98IZ(D,FB]P1'-JS6<(H^^5$@"L4AN HX!O$%V+2U"Z)D0\X7 M;P-ND3((:!R[593]RM8U?J.7/([R!& :Q&ZQP2S+6N!MU[EV[A$HH(<-' IDO ::V!3CP5$'^1QIGH-:Z2. -2_X#&.O(P MX#2"LP!5B [@:7 5V9% ?=S8()X@=-G4UZ +T-0J/R=/^0-GDYY@Z=H!QK= M@9.UDJ@L^BH[KSL2OZE!C0I39GZB,Q6Q!LAS8 045& MOV:(I(P8:.G54)'H M\'"VY'LII*^M67K3 UZ4X&&H[H%@I OGNOCXYKT_$*@Y7.:*SK8>#['&^_TM M2,FAX7:1=_(;VPZE<6*S(->-T7PN!##^2MSMY.FO#BE&;^$=V."2E!"H EB, M/@C()J2_AA *1P.DVQ3L$ETS= 7:(6+:7>P> %5WF:"0;01AY#IR.:H=%F!_ MT:,PK 8IU*O*3)SW!^TRA<;WVN+93)PK_&@WP821% @&/[74H_\/N_U8],V/ MFNV38+;1Z#(3_04V+0.J4N>1T\"+S\:U#48=4?:KMQ=!K9+U!$$@4Z_@F%5< M[K(&,6L4U6Y#?S)EZ$]\V(^@GX+[$HN"PC^&W"[;D9,J TH$Y"?*BE>V29DE MUU[*U#HV:N*EV >A8%H?VTX"F=*FG(J6I16F+YT:#YB>;8FOYD7K@*KQ&Y3 MX>U-?9Z''./Y/7D+9VB \)M5;7>5^/8N,IU-G,W5Y[>_O?WP]>U5QC)34WE" MM*SN.SB\.%KT,07PD0,D,!Q_1TNYUN #!_CRKN4PTG:V('R#X*$7]@>L^NA6!K.0RO!M"#W5G\*0- M!,:5^##)2?PZ,PC//2+%6NZ#;VNGN3LB4O !>\<%Z-FP,K5CR_&.4J/@T7/56D*BA3GQ:6[2:/L;YH)3.""#(.Z1CTGM::3 M;AJ'"KZ!E*+*K0)1@Z^D537V!+-6'4ZKV! MA*,,-W[9LHJIK]["YJL[]36:2O)GH*%9]C>(>P Y40XX<E5)BO-0AMH[]!;M[O M]M5!VM9%+854\!JC(IP$@Y0>7%IWPR29/!Q:!A:[O-8T58#R8J;SE*C$U>W> MM_;6/'W6#:L&#5B*EWE-Y W]UOF;G9PT=_LI1#V6)@>@2YL(WBB EX0@L FK3=M])L]>C9!6FUC M&;80]VW-WA57%MX"6@ K9NOT=?Z0&%"@(EH,Y_+?X%BCPL2/D&_9^:+%^Z^2 M&FF7&*NXN[%BV;H$'>CNYNK]'JBP0R7JZZ8BX+&VD'>69M494D W+/Q55/6- M-PM3P+AF(*,!E6(FZ6:E)0JY-5Z"8';H8E6J,P"9L+L7*[W6?2=7B& )6-A2 M0TDTQE\D# SL7:0@7%01'9F(Y7AA*,/%?AB&-Y>:*^YS M/UB@_&^;[D@H$SZT8FN:J]]K2&FCB?F"N=ZJZRB!2!W?AY4;E*HLR-3#E;0> M)^:8\#).8B@3"O34#[*;!6Q,L2RW\MTDS-6%V-@.;=Q[?.KU#HMOU$/ !LFM MW0R;&.8Q164)S$12F(C?S3C.>^(Q_[C%"AK;JKDMC*#XZ05)19T9T1$=7Z(Z M7#?X >.>^7X;ZB]ITJ09SM4[4(DIG[AY8#5N(045+"@6*!-E8-' M5/0GZKUG$?&+CK%]&;"OA.P%@E,J:"_>@&<15$EGA]PDI3$++! OP&%B"CGT M9-U&=[4I>5G.+AEP(RH-7Z7"2]-;'=4CZU99;R %# !$"J>-S"&H[D8HQDE.WBR-'X6*=F/'ZW#XTGZ)LN0Y2!YKR-L7TU*N+V M4$;;"@TJ5TNSVAV*(LGWF"N3!JX'?$)_6+%#TC/%W M[.%BF7358+FNZ:*^ .4;:MF/TA@^]UCS4M. #,(68Z=$T":'-,1OCQ=MA)%= M4@FFQ-J/&;!UVCJ&QXD%XVW4U4#$BB+/&CR$P9CP'5/B)Y#74@)&:VI&?IP_E52M]JI7'0\,< R#L1H1'$MD"S5;]2/45Q'P9 61N#,5\CYIU('+S_! M8R1KDL#23,"39N0;&'A-0DX!I.@C=L0D*1ASELT5/LA_X?H-2C0&4X"$V+3G M29D%JQAB#V[N2J%=8Y_4^,)ZEM>'U=?)"N&*N/KD@KMR^W^@.P9GT@K4V)NW MS="WH !0*RG8;3"S;*M[CDG9>^@6["XS(&"1ZGLL];JLU_-M*#FS][6$T+CA M; 0WA*U673.T>86!' ]W5R,M@7U$8CC-+N_,8Q?8(L>UW+==F/3NJ M6 RY')TF;=@1(<@V! LK7\B1!.>6 MYAS1:C4F1\A1_ '4F$O'F3)QUHG'*W3+N.@NCYL;+66D<6V5--B[O* ;[5KC M@6%!4X7NC6 0^BWYB3AI5@TV2\AK!X9F X#1#X>V7,RBX7A' D#0TV*R@E-+ M9B/M?O[%BVYA0GFW1 Y[8AL[O%2HY1B'((+.)4O!!2=I2R$M!%2TH2)T\HCOZLZAAL>6*)FK7"7.2FL)R@8;R"\S0J:J,YB6QSSOJ, MFQ.8@!6]>/S:H9PQJL0$\Q>RY[YPF&7-J$!^O!#B*\%Q1%VWM!8(['1^_!_X M[1G^O[OX%:'X]KX7N586%-BB/]K22;]-HO_>JC#F%7<%W/:@Q")0TW('&BGH M.TERQE ]"?0/Z<"+2:]TKX?$\P20Q$/++E;2("FP'WUL*H,M0/NN">DR=:VEJ>E-.*@O&[MW M13N8S-GW3S)./8B9O&"O$$A!V6+SE[VN["'^P7#!.UTZ;/]0W8".4$3QM0Q* M^@HV:JQZ93(+O4'Q8N(8=G"2YH020="8D-05.XO/M7B(1A,22;EU+S0E;^"+ M(UC446TU.&H_=BN,UY)6S801$?#Z8R!>AR/N:(%D:Y.U2=L=SM.1RN<> M"IOHJ%6N-XE2=VI1Z?H[P!PZS294QV+7,5,\\C9HF H1)68JE=&^/>"W FJ% MPEBJI:ID\N"'KX*X C*>(%,A*[JKMZ/]LI1[*\'0D44ALJ5P,%D(C!,PIG5K MH=W@K'AAN*>(#W2Q$+?**3*ER 7GN?HJ&#Y:2S: ML8UU$M,U9ED23?=7G1/\OHMV]#J$="@-V"3S+L[#*%8>]&D>EC( I!D#O&NH MR7'AT(@D2R1]0C!!OXM*6Y3E;SM/-_8].RMQYK;G 3SJ8W3-@M9C'Y9E'HBW M.L>C-<6P&00]CA)_K"Q0MPO=1%,40Q?K/CC\32P&7PJ":PJ&_J%)LEM6B/VK MZW%5+^K8;D%S0L :&Y[%".6 T+E(X*VO2.]D''IO1M(5SDAQ6S-678F:RJRP M".,ME.#W;%*M$L8_ M9Q!IVD\P(NOGLHE23CO+&SI @A>V?[)L3[6#IE=R31:[0E.O3:@V\;'2!T$D M0TL>2,G3J?L=1=Y_N<;'=+G#*--\^VX_] 7-2$^L#'%$*3VXT(/):;@BG/9^I'( MM^<7V921SW=H9%0HGDU1FAI(&-*:A7Y193>64]493\ -/4$:]++?S5T,M; $ M#LG,XK'[YH:>$4FH'<]/T;4:D$*Q-N4@F"Z]0.;XD=>9CPH9OE=Y1VUW?[C- M0),@WTWV#%<>34$%-+4LP?DLFBXTWZY1(L*-%8LO.1>?MK7;^U M#-Z63+IM]6"RAG_3">R@&E^Z"GT)@N&G!Y<#BR-4_./(6/I(1+#TG9UQ77Z# M.\-L9'3D?@J\3M*]V'Q-0EB!DQ\ BB4;\A")E-"W8JDPR%.5PL2XK^+.9U:W MQ.=&4._SFKL-'2QLM8]6P:CMA^62+FE2%<449B"'[7/AI$R;R23?-N;JO%WB M5*B4A;$>03!V:3*KS9;/?!\620N995 (^<'O$-=IXKX93_/M:40O!X1RH1@< MY4(^$V(9H\E3MQ.0/[\3_ E:\#V1:40U M<@[YLUWM#JDL.M60-9/)!IJB<9415Z3A-M2IV4RX'Y=4>0"!COM,(4O>RI>X M/'O'=9,8+C",6TCQD\(DBXYGMKF&-GG\ )VVCYBQ/MS<[,2%XO3&7$^Z=2'* M+&--:ZJ8 5P,#6D.*A,#2&AXT7O0LP+L,1Z(GO$U,:,20] MY&+1E%.DJE%>;QQK/7(PUK%'O15IU.[3KA]AN^=N>IQ0445:5\&%5767&9%!I3V65\DS6 T4,V?KR*\S[D*DBMI%"; MAUZN *#T9650&6-YSH!L*I$^M1R"0G&QC?Q6GK8$_N+>-!@5ZA#A&8\M*?DD MBD?[0D["SMT3$[)-V(%['D@/-?7]0U#I*A)9N8N0I*Y"'TY9\)!K2D""';FN M*(_,@Z;CWF0ZFS=5KZ_4"[=N/$JSPCGKBS&&0C\OE KN3,;Q\?1P[6^.# M'7Y$9V.!]+ZIN4O1=N901NX\OG2!).>K@K5!: S8J,*HU+&/X$QZ(B&/\?^^ M>=+IX5%(&=.YVQ05^*ME5$T*RT@6"0(,7,IH]#DT\U#\-?K^,&6A(;'Q[QVX MT2L31L(<3X2%$0>.WK6\*2D[,H-AZ?*A%-P/4)X.,*:S;/Z1R)&)Y2-;#%*W MGY[\/Z/6W,J8R1]B;?(T*$CKNV%P0;.Y5-XJ?.Z^IK[;77I80HG4 V_YZ2&D M&.2=/%;@B66TO8T4YNJ*/:(3XT[]JK1:V%V56&C$,AW%),]GR!6#E\;1S5;? M=0W.I^$3^I %-O7@I^T,:'AS9TR8,.)-"4W 'X2@AIR?+PEAH MJ2?DIR/( 7^(\(Z F.L](*2@N)0O1Q-F$8W@($-3T;R*(&\-R:R$=T22*U]6 MY$<79;I^7*9UP6[G_M4:+L,8.)&CN\[RJ0(HQT<%"",S%JNXP!03S= :*)MA MT4-*& %4$DBU+V8AS2"+M*P37A&#E\7W2PEZ3:HLR8-E:!8WFEY7-+VW+[.% MGI!//:,Q^7WSCO^"JMWR;%W .PWB%7P^\P9G1B "+['RQ,U3<-F'89M &-'% M?M=O%+6-#"DN2OERB)?) *%4>CS:"E,@:3&YQ:>0T'1 =/6H$QHRF5B)QAP6 M/##M:5PRN(W6N9'I2H%,R'4JAO?QS4)4.?>/QM-T+O[$!3S(!MJA%\_"_90D M7K$;3%6.^;);'Y'96!8 =OL.EMG0('XBH#D]V8;-?'FIP,1B+6I?,SA0JW3- M#)W*4P1X#Q=QL-\!JC?+@DK$R_0BI9D*K[QR0<[(P;6I2DZ*%AX [AHTE&=< M6W!-@^9\,#Z#NC6#)D,L=_*@,8C?EJ.E%;XVIXJJ+Q-EG2\H]MRY[I-)FE"R M[WDX"P_-6FIK-%2:LD7]I5$7R,%6."?'I2RJ_P+CXYO;_&O2\M>WQ5>7C9@8 M&=QYII,@LW&C/Y\\FS]'Q%WYPNZ?3Q[-S_PW,S_/24\B33\-?92\P')C0(WQ M-9W4*ZA[?I=E^%;Y-X&>\PLPX^7\&M'W-);@P!TNX=;C^=/'!US6\1_ZIJ77 M82Z:OF\V].?:@*OL\ +X?=F ]&ULE57;;MLP M#/T5P@.AJUTDO:Q,#39=A>^@0)&WWK-BT+526/$FNF[\?)3M>"J39]A*) M%,_AH2PRTU;I)U,B6GBIA#2SH+2VO@I#DY98,7.B:I1TDBM=,4NF+D)3:V29 M!U4BC*/H/*P8ET$R];ZE3J:JL8)+7&HP354QO9VC4.TL. UVCA4O2NL<83*M M68%KM _U4I,5#BP9KU :KB1HS&?!S>G5?.+B?< CQ];L[<%5LE'JR1G?LUD0 M.4$H,+6.@='RC+ ,0] M(/:ZNT1>Y1=F63+5J@7MHHG-;7RI'DWBN'0?96TUG7+"V62U>%S\>%BLX<,] MVP@T'Z>A)5IW&*8]Q;RCB-^@^ QW2MK2P$)FF+W&AR1GT!3O-,WCHX1KK$\@ MOO@$<11/CO"-AQK'GF_\EQH/E=8A)X>1KB.N3,U2G 7TY WJ9PR2]^].SZ/K M([HF@Z[),?9D31V6-0)!Y9#2%6IZH@8V6WKLM=+6?0\P6% +D)O)#.RV?AU\ MJ**C.=^JZ#*.QM>P[I+!;<\/]R[A"I]1-FY-52&Y;Z8[M*7*8 >\ISX=D<(1 MM0EJSH0YY%I(U,46'HACY#HIV]\.&E1N6Z81!$^I]_%0S%?^0E:M*0*6J"G. MT@ 9J7R4JJH6Z"7^K[:";HH,6?BKIBLPU-C./*[WG[0<>BSA7M-6=#%^-!GZ MMHVT7?\.WF'ZW71-_R>\&YUW3)-Z P)S@D8G%V&PO=V]R:W-H965T)//&>O-\=Q=,Y M%X\RHU2AYR(OY=D@4ZHZ&0YEDM&"R&->T1*^3+DHB(*IF UE)2A)#5.1#QW+ M"H8%8>5@=&IHMV)TRFN5LY+>"B3KHB!B<4YS/C\;V(,5X8[-,J4)P]%I16;T MGJJOU:V V;"5DK*"EI+Q$@DZ/1N,[9/S2*\W"_Y@="X[8Z0]F7#^J">?TK.! MI0VB.4V4ED#@]40O:)YK06#&MZ7,0:M2,W;'*^G7QG?P94(DO>#YGRQ5V=D@ M&J"43DF=JSL^_YTN_?&UO(3GTCS1?+G6&J"DEHH72V:PH&!E\R;/RS@G0X5Z-2^ST! MZ/.[$>OUB]58.I$52>C9 , BJ7BB@]&OO]B!]7&/T5YKM+=/^N@>L)G6.45\ M"LA(>)FPG!&3YD!)B,P0*=-F0+_5[(GDM%02&RJ8HP1+%&T6]/FV5_LNWR+' MDF3)3%>$W4FZ(>[)>0]*Y'*>"W!;WF$+G8%IF5X MAWP7VU;0(3@N=N,0W6U&;4.5[7S2YRPE M^K-4\()*J-K=G4(Q/<3J/;GFM[GF'YQKVH?*&*(=R"F4PXSG*6)%)?B3,5'V MY=->#3]O/EW7HF2J%M2$8\J>];B[+1[V+7MC[H8QNN!%52M0FA&1SLF27?*I M,I/5%S'CI MO:PG4.*4@%,9%U#MY$81=AUL.TZ78&$[#EKN"2_K;NJNWC8DG&MODSWL@6E7 M197S!:5PQ%*93@=6SM8R/$!;W,E<&S@T4N$ ND[#BBP$SW.DR#/MLH:6O\'J M0[^80"8;)@X%7?1&^67C:'R(6S\A5WA=*K!S&2(M[J5N)_)>F-WTGIY$ZW:, M"/M.MS;Y'O#&^[(];+,]/#C;DXR4,U"\:FM$B(5V!SIA;1;,.$_G#$(Z64!' MK#3*X7,-=;4/%7L5_S>H>.N[%R_C-&4ZJ3I%<462:/@* @W.;FL!L944T*VV+_'01UEQ794S MV'HJM ,:$A<0-O@-T],M..&PT]5> ]].4/9* 8-<&]N>]U8WEEQ[L!:U6(L. MQMI,<"EUIZS+9:D@G9:ZT4%-'X(>*> #2R%MV)3I7SS J0+ ,CTD4E*0HXNE M/C(PJ&90=*=U#A7EJ;]I[;7U_PG/[VN*&UC;0'IO,WSK^S>SHVV%Z.SFX2O& M?2>GL4F2S6]]M%O &$^W['I13;KD!25"'XU-POSXPO+6]SE)'G.^+A/O4(3= MC3^GU^=6O*Y;]K&%'@0!")&";FFS?1R[P3;9A;/&=HW>M=K! 6ATCM=:/[2C M /3?\/)#HD\J^KPQ$_3%+\&ZA@7V=DK:V M[=.Y:ZW5^2(ZM'H-\H%[2)YKS M"I)0T20K.01\T>=M9%M]9-OI.<+M6.UMG&(B4'YA+LT A8+F)HEEQJKM:,#Y MQ_:V2[KK8R?>CL>NU5#'K7##]^V(:*.:$]EV<5VG51R#@]U&$KK8"=U]*X(0 M1W[T9@CT=9UAYP818CWMSC?B$"FK.$GZXI ML%K'(?S\B^9NM)DH7IG[R E7L%%FF%% D- +X/N4<[6:: 7M!?7H'U!+ P04 M " #;E5]9MJ[[8@L$ "R#@ &0 'AL+W=ONJ\(-I%1= MB"UPG(F%3*E&4:Y=M95 (VN4)F[@>5TWI8P[XZ'5/)%%9FE+Y M]Q02L1LYOK-7/++U1AN%.QYNZ1J6H+]L'R1*;NDE8BEPQ00G$N*1,_$OIQVS MWBYX9K!3E3$Q2%9"?#7"/!HYG@D($@BU\4#Q[P5FD"3&$8;Q5^'3*;&V H$F5_R:Y8ZSDDS)06 M:6&,$:2,Y__TM3B'4PR"PB"P<><;V2BOJ:;CH10[(LUJ]&8&%JJUQN 8-Z0L MM<19AG9Z?'WS.'^>/,V?;\CM?#%9S.:3.S)?+)\>O]S?+)Z6I/%$5PFHYM#5 MN)TQD#N!=<;16YX!-&W]BZ&6<8:[&.=!D<=+F%[08+>+R3P M@O81?ZT2>\OZ:_U'['60H^F@B[5EH8P-O'O(^76)%1E@ 1,=$;(#%EDKS0) -E5%AR2E,>,;[&O)3LA9J$5SA6;,VI MAHA01=#%VJQ@7&F987EI58?S:"3OX>P'7NN*_%__MP;NLX%KT%Z7" \6SM^@ M&<2X^/L54YI0'@)9VGOO3H347A'[:4PT#>D*9)EMY=0UA,7,P,ZT/@R[P3BR M)3*%U*@F!J)VWS&1-3$BYX6$ XNE^WWSK5\PAQA'&4@C$:K^KCN^U;ES M_3=\3DGCS@1#*HDYJ:#(3_HM+\MRJ*;_[!N0\P)D[O>#1"UJ!$M('\GZ3TAB MM]T\D#]_=,9D!?A) ?BPAPFF.8M97H2'6=)I#VIUDU1D!N.;!SR56(KTWY%] M^6["OU\(UES35P3!(6::-. 5/Y,4-#&:?%\M*I=P];8]/'??[]2P8;4+O)Z* M2OIUB^[$"8 .7+5;[5I=E>%[*L/-GMYVE]6MT/0V_0K6'7 M*,]"KN_YM;HJN7]D'$C0/^36#P;- _F,W#;ZG7[=!6^T/PJ_?M^KU9V%W4:W M5W> 5EME^,@7"]+:]WK-[^6Z]]6M]!$IR+7MEA0&C$3E+46I+1NR2=Z'O"W/ MNSF\3_ S4Y$$8C3U+GKX?LJ\0\H%+;:V*UD)C3V.'6ZPJ01I%N!\+(3>"V:# MLDT=_P-02P,$% @ VY5?67$^IFD= P G0< !D !X;"]W;W)K&ULI55M;]LX#/XKA#<<6L!7OZ9.NB1 TVZ[ MVU:++= M9]EF'&&RY4ERT_W[H^S$4:*F6ZF^ZPVB@9=25'KF;(RI MKSQ/9QLLF;Z0-58TLY:J9(9,57BZ5LCR-JD47NC[EU[)>.7,IZWO47U*#DOL=)<5J!P M/7.N@ZM%;./;@&\[RF>-;0B@P,Q:!T>\9;U ("T0T?NPP MG7Y)FS@<[]$_M=I)2\HTWDCQ#\_-9N:,'@;#2A MV4$KMT9G_\2ZX]#^2\*H9N:&BO%62LYH8)$$@'5!_3=7+E MMW2-0S_Z /_W3V4T6*9$T];R%K.=,7$/0FVAAT9T$''&*S ;V6A6Y?H<'AJC M#0WMMJ12T8;32 -=]Q6J$NXEJ_K4]S )W9'O#QUC-PA')U">\%F*9^N_49AS M Y]8Q@4W/X^J#<+CNV#]#V9#HMNRLD(A4F,S^B ZB)(#7Q0FL)*VO&WV[],D MZO)(%DF+1R'<:=VP*D/(I*;U2&2'DG.=R>88A;,DCLX/O8'KA\$Y+)O4M%P. MU@O<\20^="=N' 5PCUI3.U.*5$,M5=N1Z9@+615_&ENJ5]H"WQWN1"?E_G7L M'N57-<>!FXR2H6/L3I()'+N:WJ!EEJB*]F$@BG9/NN[9>_NWY[IKN;_"NX?K M"U,%IZLH<$VI_D4R&UL[1G;"9)TVEGTC93=[?/,L@V M4T!4$KGLU^^1L $93%)WFWWIB^%(.D?G?C&G=Y1]XVM"!+K/TIR?C=9"%">3 M"8_6),-\3 N2P\Z2L@P+ -EJP@M&<*R0LG1BFZ8_R7"2CV:G:NV&S4YI*=(D M)S<,\3++,'NX("F].QM9H^W"YV2U%G)A,CLM\(K,B?BKN&$ 36HJ<9*1G"X-@*[ZKBQ27;[# LU-& M[Q"3IX&:?%&B*FQ@+LFE4>:"P6X">&)V?74^OYJCHR]XD1)^?#H10%1N3:(- M@8N*@+V'P!1]H+E87HPAXD."?%&-F!@6S3=@?H.;6$ MCJ+G#$K8)UB%Y_;CR6@XX06.R-D(W)T3=DM&LS__L'SS]0!7;LV5.T1]-J^" M -$E$FN"K@EX%KJZAUCCI(_706K[> UMTWF-GNOY949*#TFG)<1[SXWW+GPK"L$CR%4J5<2+* M!7J!+,.S[1I'PJ[OMF#7\(*I!ONVA>;EHJ+R/H]H1IH[+?>XH\@CQ^Q9=.T] M)]\F.MN9VAT4QS4[:Y9A66YG=>I/ M03^"@ <+!/0K@=($+Y(T$0EI[G']#K(==F^QNMP$+OI"!4Y1#@5OQ[#3%ED) MAV;;T)X1^(X&^XZ+!E*!5Z<"[ZFIX'KC(U6QE3J^D>$,.HFE0F2FN*00/Y D M8OG&:9K$6.Y>X%0YP5Q6@KX$,LC#\R80/8[?D*@;OAWKRB!N <[>DWN">R>: M^>$AHOJ65W3YJ@13[?@_>(UK.+[F1C8D"._@VZZU&'C0_,\S]43C.<$^/ /$ MYAP:"L; FU AHQ@X(:/[^' 37SWUCI;(OB'3 M5QNVG 8^CZ(R*U,5JC&!$(L2K%G@R#5<+VP5(\<(G>!XQPA/%K[%B&UXEJ7! MCMG-BS]E(D07:;)2 FEN85B!I\.A_SB%1WRUJ2&NUTT#\@YW1VO+)_!J0YD. M=2T%W;IUZ/.K&@[ ]O@6TM"*P#@C!Z:FN8"BEZG4]4 PXS_ANDV>NZZ"IU.. MQV8W,)VQZW0,LX> /7:G/8N.]>NT%2<\HB7X HA&?J%N_/'40B];("38EX_I MPQ_[80O)&UL2:: O\.N^P']J7_ )*C_3^@(9__.R*%(5].#DEYBOT5N8L;5C MGTF5AF'_V+!]_LA(4/MJ9R"HDZ[>.RB5%CB)$2@4 MX4RZ($?M8B0;L@PT6#)E!FFJ3IW\<7]MK!-)#I;2J$M&,T1WFABM^@=FH,&. M%>ZGM-0K;">+]G?.E0L=0,XP_9YVWSL\9?0U870A(*=NNH3[:(US2!W28*YX7B; MB1X)OZ8>\0@2G*R,/]&UJX(;0TH Y6G3A!KIPW;M=YT&@J--N?0-.VBVH-7P MM(--;^-!/]SM'D)]A@DZ!Z )\;NKCN6TT7KF7,,/6LV[=LE4Y7M9/@A>0I?1 MA+/7,-ABI=WL%_A!=93="T/#]'I&<"/TFLNOH8D[0>^SHA0J)C=S?6ULF+>] MOC\_;-O?;7OW-VX[DT=+D2T]59Q<;OK)/C+Z+-4R<*M__4CS;4LZV/3JH]2+ MG3YU("^$=5X(#\\+6K/R6%88O.=W5OB=%7YGA?\O*TQ:'W4RPE;JTQ6,Q;(+ MK;[OU*OUU['SZJ-0<[SZM/8!LU4"_*1D":CF./!&B%6?JRI T$)](EI0(6BF M7M<$0US( ["_I%1L 7E!_&ULW5K_4]NX$O]7-'DW-W1& M$$NR++L%9BBE'#.OM /TW<\F5A+/V5:>I?#E_?5O92C_5M5_Z7G4AIT5Q:5/AC-C5F\'8_U9"[+5.^IA:S@/U-5EZF!SWHV MUHM:IEDSJ2S&- BB<9GFU>APOQG[4A_NJZ4I\DI^J9%>EF5:W[^7A;H]&)'1 M>N BG\V-'1@?[B_2F;R4YNOB2PU?XPV7+"]EI7-5H5I.#T9'Y.U[;ND;@O_D M\E9WWI'5Y%JIO^S'678P"JQ LI 38SFD\+B1Q[(H+",0X[\KGJ/-DG9B]WW- M_6.C.^ARG6IYK(H_\\S,#T;Q"&5RFBX+KA?JUM46VK@9E\: M59O9(%Q>V4VY-#7\-X=YYO#RY/33R?D5.CK_@$Y//I]>''WYX^SXZ-_H[/SC MYXM/1U=GG\_1SE5Z74C]9G]L8$D[<3Q9L7_?LJ=/L$_0)U69N48G52:SA_/' M(.I&7KJ6]SWM97@I%WN("HQH0,,>?FRC/VOXL1_0WZ=VRS7T<[61]%8OTHD\ M&$&H:%G?R-'A[_\B4?"N1^9P(W/8Q_WP$B(S6Q82J2F:YE5:3?*T0'G5AJCU M]=OI9]2+*8!>X>V_7E2S4 = M6>?5;#/VM4J+0DU2([-OSC]6E59%GCT@/JED/;M'OZ?EHJ4 .+ +'*L:[ VD MZ*PRLEZ9'%TI WOUF/-.7L$>J:5.JTR_01]S/0&JJWDMY8, 0N#^1I;7LM[$ MP(M9$W0U-8 J.-:-K)9R\X_?$&$A#EC4&:$AIJ0[L/O$.^$QIIRB#Q+\"_RZ MA>XJ0VD)WIO_KQUX+ O#C EW5"3.V.Z $88%R-ILF]0&R3LX ;7$J((S\GOX M$9PP=Y^>HKM<>@,T()%D$\!!X8Q8+%SX:'F+L. MP)@;)D/"V;I3,! >7&=T^5$<,C8_[ .,51Y\C\#44))@'K##P%$*&% M$@B3YP%$@N/ /1T)&'G(V>3QAP".9&'/F65Q@ M(:)!RX=@7;I]^40O6FQQ.D%!;_8@G8@H#N(AZ03C(0[)<],)2%\B[I[8UJF^ M"RS@F $9AH'%D$1! %8.I"/!SZ@W8A<5P'&Y!RL &"D;!!8A@(UX'E: &WA0 MG$'EZ9$$ZBG <8W#3 ^N &6Y3J=S6HY M:V,51E8(X6MN];)]F>966\65+>S*;R5IJVY3MY-EX:K3=WK88'K46-J@Z-7] MPHWD[U8A+^4N++!;IK#I>5KH#L0*VV'H?!/QX$0'^.98@&-]K7*S:_OK;A\. MLL$P=GTUQ$GB(JYU[-AFP'? :5'G$U=/P3!/W/2&X)"[HX+C "J5UJS=P!O4 MYEJWLW[Z<5CD33?Q9V[CL2I+B-F\XS[-]D7=1-S63]V3-8%$EZ)3=2/KJ@$% MYWB +)JXIQ&%DLMWA@):"W &DQ>YR25 G:?^BF#GN>L/'F>([.8%V[9YIU+- MZG0QOX=3R-7N>Y\?X&S2)I]LAX[K9Y-4_G/1#<#+-H/^'N#@[DD7[T2$6 &!1PGG8;Y/P!%';].&=WD0F7*?54 MX9:6@]!;MH>_#.I>4$<','HSNL>%].O#O 0 C7:^20250=(9@)(C(*0/\D+J M[:R$4$IZ?KX!!(4*I@_ON&V(>#HUGI^6(HN,D3\E^/;O$NO?'UXMUD%V'#Y0 M"%#C83YG$X8>I+/).'$K6AI IN4"G0!JR!_[<F<+=]\A-QH&2@O6W;/-^ M73[W^]&6M!C;*E?44UT&6 /'O-#IU5DV*9P7990GL] M[F$+$9Y%<]D+)NHR+0ITO=0 95K;;CD8HH27-,_0]7W# 0 1+;6LQ^W%35GO M-6:Z6'&;UJILZ([;OJA5A8AW&ME6>SZ#E1>R;MJ8&MW*6C::K%'*$K7Z-.FE MQ=%J2&UM"5V(]K=AQYU[I"#]K+DMJ]'$VK:]4KH9W5S(/6KOH?Y-WM[F_936 M /H:%7(*4X,]P4>H;F_(MA]&+9I;J=?*@*F:U[E,,UE; OC_5"FS_K +;*XI M'_X?4$L#!!0 ( -N57UE["]WG3@, /T( 9 >&PO=V]R:W-H965T MD2W*!DO46@N!2C*DLM/O"\>0; M>)#6VLCR%$P9E%PT(WLY[N5!=- MR7%AF[(UBJR]SVQ7H+Z;^886 MLNY^>@)=-J#1-T"G\$D*DVM8B0RSRWB?$FRSC,Y9+J.;@%NL!A"-^Q %47(# M+VZKCAU>_ -54]%72VV0DNM(]LS22&&70;;&EV13N]JOU77TM8^XD[LZ_7[G$!)I>UIK[H/N!+2E!0 M$9+K*+!2UL+H.WBD2YH+ZB5"KY":-&>(GV'V/PEO ;@/]2#Z<-P*1N MU[F;PD58XC#@;(>XME9L^F"J;]"J7H3J=[*47-T2A9/A;'$UG$Y^#&\GLRD: M3B,TF\<+(RW1[!+=7L=H/+N9#Z??T4>TA$P]$8DFM'Z@NM/O(I"8%.*]NA?U M?6!+%9GFMY,FBE$=A?M$%!ZZ853F L4TA;0#'QW'7QS!VZHB;5GDWQ_M;VKQ36) MWTVBYUU?5#B!@:4&F@"^!2M\^Z9WYGSNJN]KDD6O21:_$MF#3OAM)_QC[.%T M4ZZ ([96([IB7!*:[?]THJLE-=NI8=,;8QNZ@;T]K/.S%M&S%O$QBSI-^V! ME< SLQD$2MB&ROH=MMIV^0S-S'VD'_7ZXUZ'/E++JMXM?^CK37>#>4:H0 6L ME2OGY%S%R>OM40N2568\KIA4P]8<<[5P@6L#=;]F3.X%[:!=X>%O4$L#!!0 M ( -N57UG"U2$1%00 $TA 9 >&PO=V]R:W-H965T];6W+&9YI^80=".'J)HX1-E /GQUM599L#B3&[ MH4>2B#L[FL:8BV*Z5]DQ)7B;0W&D&IIFJ3$.$V4ZSNO6Z71,3SP*$[).$3O% M,4Y?[TA$SQ-%5RX5C^'^P+,*=3H^XCUY(OROXSH5);6R;,.8)"RD"4K);J+, M]-N%KF5 _L3?(3FS-]^#8U8 M_A>=BV_E!/Q!A">>L H >,]T&L S!(PVP*]$NBU M!?HET&\+6"5@M04&)3!H"PQ+8-@6&)7 Z#U@-;TX[?+FM+9MZ-7++H*NB)(\ MQ&S,\72%+[O(XS3G162%29923SP5=T/!\>GJT9T]^/_./OFK!S1[ ML-%J[3SFI2>TFJ-/GH/N5\OU[.$S^AW-0[;!$?I,<,K0+S;A.(S8KV.5BXYD M.G53-GI7-&HT-&JB)4WX@2$GV9)M#1_(>=V0"%0Q ]4T&)=IN#.D1IML;I Q M^ T9FM&KZ="]''\B1RENR_'@E A\V(@['E-F0,@=2-H>4N9 R#U+F0\H"2-D"2':52U:52Q; QLF"3"M(F0TI2@;,/6A;S*AF&5#4/YA@V_-&W8I.!'HQ]29D/*'$C9'%+F0LH\ M2)D/*0L@90L@V54NC:I<&@%LV$:0:04ILR%E#J1L#BES(64>I,R'E 60L@60 M["JM=.W[>8X&M663FSZ:7J V&]3F_&#.1L/&;1MH/UQ0FP=J\SO/4? #TAPT M[OH6G= B,]0WAYXQ2??YN3Q#&WI*>''B4M569_^S_,3[7?V=?NOK-?5!]JU M?LCZ75]\:+#$Z3Y,&(K(3C2EW0SZ"DJ+L_NBP.DQ/W)]IIS3.+\\$+PE:?: MN+^CE%\*60/5%Q33_P!02P,$% @ VY5?67F"TJ-W @ 10D !D !X M;"]W;W)K&ULQ99=;]HP%(;_BI5)TR9U30@0/@:1 M(.VZ7I0B:+=K-SD0JXZ=V:9T_W['!C(J02KU0[TA=NSSGN>8-SH>K*6ZUSF M(8\%%WKHY<:4?=_7:0X%U:>R!($K"ZD*:G"JEKXN%=#,!17<#X,@\@O*A![L6,+7-C7_CQH*1+F(.Y+:<*9WZE MDK$"A&92$ 6+H3=J],>-P :X';\8K/7>F-A2[J2\MY/+;.@%E@@XI,9*4'P\ M0 *<6R7D^+,5]:J<-G!_O%/_X8K'8NZHAD3RWRPS^=#K>B2#!5UQ,Y/KG[ M MJ&WU4LFU^R7KS=ZHYY%TI8TLML%(4#"Q>=+'[4'L!31:1P+";4#HN#>)'.49 M-30>*+DFRNY&-3MPI;IHA&/"_BMSHW"589R)9^?)^>2&C)+D^G9R ;S&>C_'2K/=YHAT>TYU">DK!S0L(@;#T-]Q&S M8@TKUM#IM8[HC=)4KH1A8DGFAHJ,JDR3VS*C!FR*YK>@=PBR5M2ZOJ]+FL+0 M0UMK4 _@Q9\_-:+@>PURLT)N.O7F$>0)VG(/>ZJDP'$*Z&NC#\$VWP&V5<&V M:L\WR:E8 F'B*3(3*2LYG)":\\?%3)8&LD,UU6==4*ZAAKY=T;=?Z8[.(;A: MT1<>>%0A1V_KCN@=8#L5;.=#W%&?]3EW="OZ[BO=$1V"JQ5]X8'W*N3>V[JC M]PZPC>!_(PD^Q!_/I#UJ$'^O*=H+QA552R8TX;! H>"T@U^^VO3LS<3(TO7) M.VFPZ[IACO<<4'8#KB^D-+N);;W5S2G^!U!+ P04 " #;E5]9RN7HGW " M "L!P &0 'AL+W=O0T2Y0M/4+\9WO>1[? MV=Q%.RX>90&@T%-5,CGV"J7J$<8R+: BLL=K8'IGS45%E#9%CF4M@&065)78 M[_]6"4A";>!CQ0V,F#-3*9K#A_-,9--O;ZYD!0 M0JH, ]&?+4RA+ V1/L;/AM-K)0WP<+UG_V9SU[FLB(0I+W_03!5C[XN',EB3 M3:D6?/<=FGR&AB_EI;2_:.=BAUHQW4C%JP:L[8HR]R5/31T. )JG&^ W /\E M(#P""!I <*Y"V #")$\)'?WR1)]1DO(]0-0Z(:YYV?N\<,,%*&E_*CWI=N/L-*Z!HW3 M1F/B-/PC&@&ZY4P5$B4L@ZP#/SN-OSJ!QSK?-FE_G_3$/TFXA+J'_,M/R._[ M8<=YIN? KRP\Z$KG_]23?U9_5HR@?0&!Y0N.\OUU[5U7[$C";A+3S4:R)BF, M/=VN)(@M>/'[=X.+_M>N^KXEV>PMR9(W(GMV$V%[$^$I]OAN4ZU (+[6#;CF M0E&6[_]TLNM*'-O0LIEYL(W]"&\/Z_QJQ.S5B.14A$L3'[2?"D1N^[Y$*=\P MY=YAZVU'R[7MJ"_\D\%H.NCPS_0HV^:WXDJW4KLL]#@%80+T_IISM3>,0#N@X]]02P,$% @ VY5?65C* MD'2[! (1X !D !X;"]W;W)K&ULM5E=<^(V M%/TK&KK3R%:6J"0@_/M*MF,P<5S(WKZ M+>N<(]\C7]E7HYV0/]0*0).7E'%UVUIIO;YQ'!6O(*7J6JR!FRL+(5.JS:E< M.FHM@FUX M2I8K;1N<\6A-ES %_;Q^E.;,*5GF20I<)8(3"8O;UIUW$WD]"\AZ?$]@IXZ. MB;V5F1 _[,FW^6W+M2,"!K&V%-3\;6$"C%DF,XY_"M)6J6F!Q\>O[%%V\^9F M9E3!1+"_D[E>W;8&+3*'!=TP_21V?T!Q0UW+%PNFLE^R*_JZ+1)OE!9I 38C M2!.>_].7(A!' ,-3#_ +@'\*Z+P#:!> ]KD*G0+0.5>A6P"ZYP)Z!2 ST\F# ME44ZH)J.1U+LB+2]#9L]R.S*T"; ";<3UAI_%8"F"5.?S?7G:4"N/GTFGTC"R5\KL5&4S]7(T688ELR)"\G[ M7-)_1[)-'@37*T5"/H=Y#3YHQ@\;\(ZY_3(&_FL,[OU&PBFLKXG?_T)\U^_4 MC&=R#GR8P=MUM_-SZN'/J4?-\ #B]^"56+;+^=3.^-KOS2?8 M] W:S(@9UZ MH,V@-VI-8[AMF12I0&ZA-?[U%Z_G_EYG"299@$D68I)%2&05*SNEE9TF]O$C MW4O!&-'T!=07,A-\HT 1\] 32-=,[ '(S.2,1:))+)16Q.0-0@UB(M(UY7NR M!JD$Y\#JID,NWLO$[?JW'?O=0;\W] M>H.>>Z(8-0;E@R'OEB'O-H:\>'J(6!"] @)<)WIO%O!82)/J;-[=K9)X14S$ MS9*LB!(,V-ZVV^XQ-0.S .G9M%>&GQ=Y!O'<.F#B$D6Y&3=(X?<$P\QY2(D MLHK5O=+JWG]8;196;DRE<2PVW)AI;(9D2V>L-GOVWDQ>;S!T3\(S:=2\U(VS M)$-,R:A&LM,^DJR$NE^&NM\8ZH>$)^DFK8MJ(_#21P&3+, D"S')(B2RBI6# MTLK!1U\O!IA68I(%F&0A)EF$1%:Q2]9-B,O M?<10V0)4MA"5+<)BJSIZ](7O?31G%D@L1S'9 E2V$)4MPF*K.NH?'/7Q4V?! M>9+)VB>YLUGY8@_/T0Q1-2,LMJHWA_J'U_A-/IZ8+V%KS)0RJ"^.H=9!4-D" M5+80E2W"8JOZ>BB&>)T/9U&DDD'A*"9;@,H6HK)%6&Q51P^U%J^YV/(_U[>: MU2^>%:AUEH+M^#O[]+,>53#"8JM:?:BU>,W%ECO&1)SO:)C4O*!QPA*=&+-S M7[4P!UQ+&NO7!;7645D[>.(I:J<%BRQUUCG:P4I#+;*_1VK/A M.M]\*%O+_NYEX->V!=Q/FNY4'^GSS]('*9<(58; P4NYUWTQ5 MF>]'YB=:K+/]LYG06J39X0KH'*3M8*XOA-"O)U:@W!4>_PM02P,$% @ MVY5?6:/VGMT8 P 90L !D !X;"]W;W)K&UL MK59=;YLP%/TK%JNF3LH* 4+3+D%*0ZI5:JNH2;=G%VZ"5<#4=I+NW\\V%)&$ ML%3+"_CCG./KTR3C0R,6(K\V31[&D&)^07/(Y,Z"LA0+ M.65+D^<,<*1):6+:EN69*2:9X0_TVI3Y [H2"OC#_5;?7=YEQ?, M84R3WR02\=#H&RB"!5XEXHEN?D)YGY[2"VG"]1=M2JQEH'#%!4U+LHP@)5GQ MQ^^E#S5"USM L$N"?2S!*0G.+L$]0'!+@GLLH5<2]-7-XN[:N +[ \8W2"F MT%)-#;3[FBW](IFJDYE@1A\C@?W:/;N\?1X_A.CF;ST5RO MHF T'Z'OZ FX8"04$*$QYC$Z#T!@DO!OKV7G1JC*0W% MR6[SR>IENN8Y#F%HR*>' UN#X7_]TO6L'TU).:58<$JQR8G$MM+G5.ESVM1U M^G1J0C6 ]GP44IZ64@_[VN\Y7_1,1M ;Q6;].)+;E5Z_RJ]?JUYP*G&BK.GM% M5[P2;-M1Q&.ZR=2;+6) ([ 8'HHL N9$/16+N]HVIW']54 MN_NHKMWO[Z F#:@KM]^K4%ON>95[WK'55CRKL[H%MR3#64BDOU/*B>IPFJPX M^H0#]3S^7X&@5>"SQ7PBL2(=9JU%40WH V9+DG&4P$+*6Q>7,JNL:.J*B:"Y M[EI>J) ]D![&L@\&I@!R?T&I^)BH1JCJK/V_4$L#!!0 ( -N57UE\L/^< M]P, &$2 9 >&PO=V]R:W-H965T] MAW./KYT;#W:$/K,-0AR\I$G&AMJ&\_Q&UUFT02EDUR1'F9A9$9I"+KITK;.< M(AB73FFB6X;AZ2G$F38:E&,S.AJ0@B,DK9P%@Q1G^R=\ MJ81H.)C.&0>KZF!7#G89Z)Y9&=84SA]L?MXV+\ .[N'\>/DWO1FB_&BW(43,>+,;@"M[\*G(OE MXP!F,7A 0KD-26)PG^:4;)&<85_!H\B[*[" RR*!%$PQBQ+""HK YRGB$"?L MBYA^FD_!YT]?P"> ,[#8D(()2#;0N0A'DM*CBOJW/77K''647P/+_PHLPW(4 M[I-N]RF*A'M8NMMM=UV(6"MIU4I:)9Y]!N\M"JF"W*,Z:E2YBV]8#B,TU,0V M98AND3;Z\P_3,_Y2A=P36$L NQ; [D)O"%!D,:)@A3.810@D4@IEZ'L\K\23 MY\UVY(5>.-"WS9 41J9],&I1=6JJSANIRK5*ZK7"K6Q>4\*4O/?@;I-2X#G6 M$7&%E1EXOIJY6S-W.YF/HZA(Q>[B*!:GE5C%",/]>2@"@2FA'/];#JAXNR>, MKNS0"_PCXBHSQ_<--7.O9N[UH'F&N(JY=T+)"D+7/2*NL/*-\(SB?LW;[^1] M5] ,J M2H#P) $=US"/LE1A9/MG#C33.+S'C4[*$Y+F!1?'[G=(XQVLTG5.5EQVE&_7 M3L!+EZLOM';XC3+&_)"4K6#[$J$GM+8(APK$['R_OSMM*]AF2KJ&T3CPJ^A. MS1S'#9TSJ7NH&\SNPN&"U>H$NGBU>D)KAWVH04SG8U*VL[:Y6(2>T-HB',H9 ML[N>>7?*GA8IMNL>'[4J*SNPSB3LH9(QNTN9<2$^R\@2)XB!!2VB9U;5!D@P MKR-2TNX$OGCM>D)KRW HC$S_8Q*XUT*I+[2V"(=2R>PL1-Z?P,')=XTJ@156 MMF\?);#>^/Z7ER\_(%WCC DV*^%F7/MB ]#]?<:^PTE>7@DL"1>97#8W"(J/ M-FD@YE>$\->.O&6H;Y5&_P%02P,$% @ VY5?6<[BW#SB @ .PD !D M !X;"]W;W)K&ULK59K;]HP%/TK5E9-G=0VS]+! M(!*0H"&U"!6Z?7:3"[&:Q*EMH-NOG^V$%-K *I4O8%^?D0A1=$R31PEDF%_1 G)YLJ LPT)NV=+D!0,<:U*6FHYEM!7!^ZB'ZXIP_9;0.D!H5826SGV9+)WI OL=QG=(*;04DTM=+DT6R:8 MY*JQ9H+)4R)YPI\]3*>WX5TXF?=OT6@\Z4^&8[F:S?MS;45!?]Y'ERA\7I%" M-I1 .(_1+;\O$Y[^'GO(^.TP.(#M'WYJ/?> 7E,;-O58J>(UJZ@W M?8<7.(*>(=N< UN#X7_]8K>L'TWU.:58<$JQ\)1BHQ.)[=75J^OJ'5/?KRL< MKFNITM(J:N"N?;?M=,WU;KD:,)ZUCPG>8VS;]O9!X7M0N]7>QXP:A%SKU5N9 M#'/GY9X!6^HQS%%$5[DH>[^VUI.^KP?<&_O [@SM!GM@=\)RD+_*EY\5=Y@M M24BNU&.:B_E_Q_ M4$L#!!0 ( -N57UD^2!YF"@, "L) 9 >&PO=V]R:W-H965T0]VG,&6\1>1 4CTFM-"#)U,RO+*=46208[% M)2NA4#,KQG,L59>O75%RP*E)RJD;>%['S3$IG-' C,WX:, J24D!,XY$E>>8 MOUT#9=NAXSOO T]DG4D]X(X&)5[#'.1S.>.JYS8J*U/V/F)M5["J#"_:+N+]1R45$*R M?)>L"')2U$_\NJO#7H(?G4@(=@G!9Q/"74)HC-9DQM842SP:<+9%7$S^YN'F<3&^1[=WC^/'R9UJS1?CA1E%T_%B MC+ZC<9+P"E)T3_"24"()"'0^!8D)%1=J_GD^1>=G%^@,D0(M,E8)7*1BX$K% MJ%=RDQW/= ;<$9?O_@=[X?-X7\2^^ W;/R&;>J- M7U$M$U9(KDX9XRAA0EI]UV(=(Z;?%YM1&/A!,' W^X8L49[?[S11'TBCAC3Z M%.F2%96P_RNU0+RWKA^&H7] 9XF*(KUY;'1Q0Q>WTMWD)65O .HTRRQC-"7% MVLH8'ZT>>=W^ >)Q4.B?(NPTA)U6P@G+U4T@IQD$*-[:C=!K7;BOH$2RS!0#*9 ;?!M2K\ZPGL6C9.W^ZAUWCH?6J[ MXB1A52'5=JA/E7%ULN2]XY('O>B@Y,=!IW='O\'MM^(NF,14PQIHVO[VZQ^= M[[@7!X?GS!(5^<%A6=V]JTQ_1CQ@OB:%0!16*L^[["J?O+Z:ZXYDI;G=EDRJ MN](T,_4U UP'J/D58_*]HR_,YOMH]!=02P,$% @ VY5?64X7BS/ @ MEPD !D !X;"]W;W)K&ULM99M3]LP$,>_BI6A M":2-/+1-6M9&*BTP)$ 5+=MKM[DF%HZ=V6X#WWYV$D+10@:HO$ELQ_>_W_DN MMHS$MN4J@13+8YX!TU_67*18Z:Z(;9D)P%%AE%+; M-3"A+SN]-YS(:68XA M @HK922P?FUA I0:)!*^#66()$TY_DT@E(ZMOH0C6 M>$/5+<]_0A50S^BM.)7%$^7EW*!KH=5&*IY6QIH@):Q\XX=J(78,/.\5 Z\R M*!;"+AT5E%.L<#@4/$?"S-9JIE&$6EAK.,),5N9*Z*]$VZEP?C>;79U=G]TL MQE?H_/)F?#.YU*WY8KPH1M%TO!BC[^B"\R@GE*+#*2A,J#Q"!X@PM$CX1F(6 MR:&M-(X1M5>5Z]/2M?>::\B.D1=\0Y[C=='=?(H.#XY>RM@ZFCHDKP[)*W0[ MK^A.$LQBD(9NA85X)"Q&6TPW@/@:Q54<3;BE;+=9UOP>)S+#*QA9NOXEB"U8 MX=R=8]9<6:ZQT!%*1&&MS9SC0,<@REM V5$\*T[>)5?Z'"^:B;XY M@3 3]/&ULM5AK;^(X%/TK5G:TFI&F39QW MNH!$8;I;J5.A@7:CZRS?(LV6YX_T">C#&WP M$O.G;$'%G5ZQK*,$IRPB*:#X9:Q-X/T\?9O;A:KJ:KXBF83U=3< 7NHC3B^"H6:[X& M]RE'Z29ZCC&8,H8Y$P%_4L(8F"9DEXI[E*[!- QWR2Y&7"#$<\JC?U'QU7V< M8XZBF'T2L*?E''S\\ E\ %$*5ENR8P+*1CH7WG*%>ECZN#WZ,,_YP-DU,+W/ MP#1,NP<^D\/G.!3PH(!;;;@N5K1:5K-:5K/@L\[PE!25$N:74FSI=+.962?S".3TQ#@6:9G=62>1KF>[_C],IU*IB.5 M>8O"UYAL^E1)@4.S1!%9RZ-;>705%XBKTKHBLI9UK[+NO:M O).<\BW#[23> MA:"6,+\2YBLK#_]71/8$&8'3+S*H1 92D2N*UCA%">Y3)84.S1%%9"V7T*C[ MLJ&X0$I"1>Y5L;7M-\82^*XB*>'-W().8'4S\&)86U[=WJ&TA0XJE9*JI<$R MO&['ZPLSW7/E NMV#.7]^)&D5R%),LPQ0!N*L1C"SR20E&AP BEB:]NN6SVT M5=>/='@8;%\16]M^/4) ^0QQL7Z\N135%E?W?BCMK\.JQSV58'LG M==X791MGA-:=&LI;]1SOQ48W$S(Y#K,BY43]+04'QK=C+P4UMY7UG.!*6V\@VJGI&IK@";L M2.T+LYU&6%MJW<-->0^?%<<7F **XT(CVT99_^972C1X]ZN(K6V[L?57OO=7 MN_G_/W;_9CUOF._;_Y?P9K:)NK"#;E)>"FO+J^<"4]T90$G5/(6P'#/H-I^^ M, @-KR-5;YS2Y4>D7Q'=1"D#,7X1../:$U[I\=3Q>,-)5AS&PO=V]R:W-H965TG'L/SHG=V7+Q M(@, A=ZB,)9=)U JN75=Z0<047G-$XCUG147$56Z*]:N3 30I0F*0I=X7M.- M*(N=7L>,346OPS80AAF")I'K\S4"=_9AJXW_Y OS?)ZV065,*0A[_84@5=I^V@):SH M)E1/?/L#LH0,09^'TORB;3;7]"?#L6[-YOVY&46C_KR/KM ]BYF"JU"7<(G&L:+QFBU"0'TI04D]H1]Q MH=@?:FH]!<'X$GT9@:(LE%\[KM)Z?L9KL.-%RGA!^[A58M MIU4SZ+426EE9'PZ7]1#;V@78UG.V=6L1#VA\B*(=!*-WH,+"II&S:5B!YH(N M(:81H+_H4=Y@78MG*VK2KDM8,0(Z]$313Q6 72 MPJN=\VJ?+C1]*Q/:"G)FZ6YRBC<5"WUS ;;8*][Z7A52'T%I[K2V,=KS(6S% MFO#XRN=1 @H070L ;?W:6*Q+VPYY;A$+2\&D8M'Q);P&%V:#K>YPLNIVE/IQ MU0M#P78S*%>]?)W;(<\M8N$ZN%&UZI>P(%QX$+::QLFJVU$:QU4O? ;;/6($ MKWH[D.CZ*?"#F.L/L_>#E*PPYQ:NL!W6X1"R,B]:I5OX0-D<*&B'WWS./'8=Q1-SSK#@2JMOF@'H+W>13M#W5YRKCTYZ M=)&?//7^ 5!+ P04 " #;E5]92&T"+9H" A!@ &0 'AL+W=O=]-7:"B[Q M28-9%P73O^]0J.T@N H^%F9\N;)N(4SZ)5OB'.U+^:1I%M8J.2]0&JXD:%P, M@N'5[5W/G?<'7CENS<$87"1O2KV[29H/@L@!H<#,.@5&GPV.4 @G1!B_]II! M[=(9'HX_U"<^=HKEC1D<*?&3YW8U"+X&D.."K86=J>T#[N/I.KU,">-_8;L_ M&P60K8U5Q=Z8" HNJR_;[?-P8!#'1PSBO4'LN2M'GG+,+$OZ6FU!N].DY@8^ M5&]-<%RZHLRMIEU.=C89W\_2U^%S^GH/DW0ZG([2X0](I_/GVTGTJ+&HV%&;,(\RTK:7'$S HF5')XP'S)Y1+. M@$MXY$*0O>F'EN =0ICM0>\JT/@(Z%1M6M".+B&.XC:\S,=P?G;QMTQ(L=<) MB.L$Q%ZW?2P!J/F&N:L!$RZ9S+@/U5B]IKMG&TDKQ4ZSHGM&MZ9D&0X">B<& M]0:#Y/.GJU[T[01ON^9MGU(_X+VDA&98^GKDE/HFTM-:=4Y]4D_ =6JXSC\$ M'0TED!5J+6T34270\P*N8VR2;M0/-PU.N[73[DFG$[[#'+2[?.?, (,2=4:E MNVAR7TG='+B/6E'G^KH9H5LK];]"\@=02P,$% @ VY5?6:J\/8A7 P X@H !D !X;"]W;W)K M&ULQ59A;]I($/TK([[='>!W+^_6=NXY.I8S>FJ?H'=G9GG>6_6XQGOE?YJ,D0+S[F0 M9N)EUFXN?-_$&>;,G*D-2K*D2N?,TE:O?;/1R)(B*!=^& 0#/V=<>M&X.+O3 MT5AMK> 2[S28;9XS_?%WO<'#/UYEU!WXTWK U+M$^;NXT[?P:)>$Y M2L.5!(WIQ)MV+V8CYU\X/''(%+" 7&UB$P^MOA#(5P M0)3&MPK3JQ_I H_7!_3K@CMQ63&#,R6^\,1F$V_D08(IVPI[K_:?L.)S[O!B M)4SQ"_O*-_ @WAJK\BJ8,LBY+/_9$54#XLP&]*J!7$"TS*VA= M,^ 2;K@05"@S]BWEZ9[FQU5.EV5.X2LY]>!&29L9F,L$DX;X67O\QY9X MG_2I10H/(EV&K8!+W)Q!..Q &(3]IGS^<_B+='IUS7H%7N^UFJ'F.^8J -=< M,AES)F AC=5;>K]LH^(E8K\9T;6*"[-A,4X\Z@4&]0Z]Z(]WW4'P9Q/=_PGL M!?E^3;[?AAY]MAEJB%5.V)GK)J0"E[1'.!'*F-,.Q.["IN["9N["=F!-W:RV MKI!Z'U('B@4SAJ<\9F5#D0E8]MPD7FM&;Q6O!.L&!9IKLKOH0W V&ON[!E7. M:U7.?ZTJ_Y:CUND525K3>:LD)=CYD2)!LQR#6H[!KY6#I98 VD3I@%66B29M M!HT5'M:42M*55_>E5[>9^+ F/FPE?M0:^/>&\(+"64S@ M\VQ!["K%.H#&\KPP2!HK6*ZVTCK[BH303)H4M6[LTY>MR;[UE@Q_E#4XZS?K M-:KU&OT^O4"E0"MTMH-032JUIOA6E=KY=D/(BV]C4R?VC\:('/6ZF*X,O494 M[W*BJ$_K 6Y:S"W^=_=R^KMA>DV"@L"40NGRT\NMRXFJW%BU*8:2E;(TXA3+ MC(90U,Z![*E2]K!Q#ZC'VN@?4$L#!!0 ( -N57UF'T2&PO=V]R:W-H965T,35 MS,Q9?!)") B+$(=%V^CG^R849@(W;&2"N9,_:L)P._;51T0$#!DYH! MJ]<:ND"I)E)A_,HXC?Q(#=P=;]G[B7:E98X%=!G]27P9M(V&@7Q8X!658[;Y M#IF>FN;S&!7)$VVRO14#>2LA69B!500AB=(W?LE\V %4K0\ 5@:P#@78&E!XDV"5FI(I+,XD5Q])0HGW=[]>##K3 >S>]0? M##O#[J#S@ ;#R73\]'@_G$[0%>ICPM$,TQ6@\QY(3*BX4,M/DQXZ/[M 9XA$ M:!JPE<"1+UJF5%%I;M/+(KA+([ ^B& "\36RZI?(JEC5 GBW'-X#3\&;"=S> MAYO*B]P0*S?$2OCL#_DX66-=6Z@C!,A"12E%M9A"_WBW(L8>M WU9PG@:S#< MKU]NG,JW(GTG(MM3:^=J[3+V7;58J[U4-<7X&/:&G%=#])LF=%([>B<:@5],V*B$4E^6V\SZ_3L/_(;\&F1J->?%\U M\V";1^1MF =[5.K*C_R17"-O?OPMAZ=B2_TQ=]H4W2(^8KXDD4 4%HJ_^[J_ 5!+ P04 M" #;E5]9X 9"=.D$ !B%P &0 'AL+W=O$RW<^GXO/!8\.A/Y@6XPY> G\D(VU+>>[*UUGSA8'B%V2 M'0[%FS6A >+BEFYTMJ,8N;%0X.NF85AZ@+Q0FXSB9_=T,B(1][T0WU/ HB! M]-]K[)/#6(/:\<&#M]ER^4"?C'9H@Y>8/^WNJ;C3,Q;7"W#(/!("BM=C;0JO M;-.0 C'BV<,'=G(-I"DK0G[(F[D[U@RI$?:QPR4%$G][/,.^+YF$'C]34BU; M4PJ>7A_9O\7&"V-6B.$9\?_R7+X=:P,-N'B-(I\_D,,?.#6H)_DC&GDE, MB?U@(XXF(TH.@$JT8),7L3-C:6&^%\JX+SD5;STAQR?VS?HX?[X!W^:+ MZ6(VGWX'\\7R\>'I]F;QN 078.HX41#YB&,7W/$MIF!& K')MC+Z>PSFH4," M#,Z^$\;.P9F-.?)\<74!GI8V./MR#KX +P2/6Q(Q%+ILI'.AN%Q>=U(EKQ,E MS1HE.^"6A'S+P$WH8K2%K\(A>P-\/XBT0&75 U/U'%:E$ ME:Y:%5FEKM@..7BLB1W",-UC;?+K+] R?E.YN4TRNR6R0@BZ60BZ3>R3:^2C MT,$JAR6"5BPHJ_!^8L*.8?1&^O[4%0J8T>O!$LRNPN!P..CFL(+ZO4S]7J/Z M<@*(UAA,9-C M,1D[/F+,6WL.DAM,/?P8524'O7+95*"@V2^9JP#UNL,:9# M*&PV#SWMMQJ^V]JM564HM560?6M-A]+8>/(]:E;[> MK;8*4K1:!:B^ MU>;S)&P>*%MKM:JAL=IJJRA%JZV":ENMF8^?9O/XV9#1J:35W&I5J&JK5:&J MK58_.7P,,-W$A[A,^%SLX^1$+GN:'11/X^/1TO-K>&4GQ[TY37+Z?(OH1FQ. MX..UH#0N^\*?-#G036XXV<5'G"O".0GBRRU&8FM+@'B_)H0?;^0"V;'ZY#]0 M2P,$% @ VY5?66I%S^T6 P 7 L !D !X;"]W;W)K&ULK59K;]HP%/TK5E9-K=0V[P0ZB%1@#Z2NH$*WSTZX0-0DSFP' M6FD_?K:39D #:@5?$MNYY_BE!0M9=S=1>%Q[BQ9++!3WHY'@!$^"/^9B*F5ZSS.(4,A:3#%&8=[5;\Z9O M*H"*^!7#FFV,D;02$O(D)\-95S.D(D@@XI("B]<*^I DDDGH^%.1:O6>$K@Y M?F7_ILP+,R%FT"?)[WC&EUVMI:$9S'&1\ >R_@&5(5?R121AZHG69:SG:2@J M&"=I!18*TC@KW_BY2L0&P'3V *P*8+T78%< 6QDME2E; \QQT*%DC:B,%FQR MH'*CT,)-G,ECG' JOL8"QX/!U]X4C7IWP^^WT^'H?H*N4)^D.6&QRO+Y #B. M$W8AUA\G W1^=H'.4)RAZ9(4#&W9<@+Y-;+\2V09 MEM, [Q^&#R 2\+:"V]MP79BO,V#5&; 4G[V7+^1H%";Q DO+C89*!J>90=ZT M&Y;C"+J:N$H,Z JTX/,GTS.^--D[$=F66;LV:Q]B#Z:$XT24> MHA%? GV=REHL%]19W2XH@&@*FJ_WP6T^>E0G(MO*B&G\_\L:1U=F17$BOZ=B MVS:\T5:81U1G!=[\AYAO_C,-0;;E[]2FOM'ZR+[S)Z:+.&,H@;E &=>^*&Y: MMG+EA)-<=4,AX:*W4L.E:'^!R@#Q?4Y$^583V6#5#77P#U!+ P04 " #; ME5]9FK_#UGD" !.!@ &0 'AL+W=OH&*NWV[(0;8M6Q,]M ]^]G.R&"-D5[ MV OQM>\Y/N6V+"G&1D]Q8B&?&-HH3!0B"Y*4LL_DR \MW8\9W]Q@-9 M%\ILN,FHPFM8@GJJ%D)';LNR(B4P23A# O*Q<^-?3V.3;Q-^$MC)@S4R3E+. MGTUPMQH[GA$$%#)E&+!^;&$*E!HB+>-WP^FT5QK@X7K/?FN]:R\IEC#E]!=9 MJ6+L#!RT@AQOJ'K@NV_0^+$",TZE_46[.K 00-(/A70-@ 0FNT5F9MS;#"R4CP'1(F6[.9A:V-16LWA)FWN%1"GQ*- M4\GLR^01S2?W=U]O'N_F/Y;H$DTIEI+D),.VT.:&/GI8S='YV@BQX!N)V4J.7*65&#XW:VZ=U+<&[]RZA.H*!?U/*/""J ,^/0V?0:;A0PL/ MC^&N]M\6(6B+$%B^\%V^5*%Y2LG:6NXT5#-$W0RFUZYEA3,8.[J9)(@M.,G' M#W[/^]QE[S^1'9D-6[/A*?9DN4D55YAVF:R1/8LT_;]-AOY@J-_0]E!]1U8_ M"OTVZTA6U,J*3LJZ!RGU!R\$,(4J+NRWQW-$.5M?*A"E;LY4=8FN>>,#.;[G MA_U7HM]F#:(XZ-8@V\VD M_8[%FC")*.0:YUWU-8VHIU<=*%[9 9!RI<>)719ZX(,P"?H\YUSM S-3VK^0 MY"]02P,$% @ VY5?66HE5TLQ @ Z@0 !D !X;"]W;W)K&ULM511;YLP$/XK%I.F3MH"(:19,T JZ=I%VI*HZ;9G Y=@ MQ6!F7T(K[<'39"[E0!@.2YY)6*G *QGKJNR@HH MJ1J(&BJ]LQ&RI*A=N755+8'F%E1RU_>\:[>DK'+BT*ZM9!R*/7)6P4H2M2]+ M*E\2X**)G*'SNO#(M@6:!3<.:[J%->#/>B6UY_8L.2NA4DQ41,(FQ89\SV"D79 M@;5?LJK]TN>N#T> 87 &X'< W^IN$UF5=Q1I'$K1$&FB-9LQ;*D6K<6QROR4 M-4J]RS0.X[NOR1-9)M_G#[=/\^5B33Z1A6[E3$+.D-S3C'&&#!2YN@.DC*L/ MH8LZKT&[69\U^Y8O.,.W$*@%K>@+ M33D0%"2AU4Z1OZ>5G])[D=^<@ZFJ:0:1HP==@3R $[]_-[SVOEQ0/^K5CRS[ MZ%S'(46R3#G;4C.7)_6-_H.^H-<77.SN3)2U4 R!L I!\R.15'M75!%*:I 9 M5'AR"EK>&\MK+H-#[ V\R?#FS1.ZAV-Q[M'HFEO@!Y5;5BG"8:-9O,%D[!#9 MGJS605';:4X%ZK-AS4)?1B!-@-[?"#T=G6,.2'^]Q?\ 4$L#!!0 ( -N5 M7UF]%?_YYP( + * 9 >&PO=V]R:W-H965T^+)(,"BQ-6 E5OYHP76*HA M7_BBY(!3(RIR/PJ"@5]@0KUX;.;N>3QFEKB1=ZFXD' MLLBDGO#C<8D7, /Y6-YS-?*M2TH*H((PBCC,)]Y%>#X->UI@5OPDL!([STAO MY8FQ9SVX32=>H(D@AT1J"ZQ^EG )>:Z=%,?OQM2S,;5P]WGC?F,VKS;SA 5< MLOP7264V\48>2F&.JUP^L-57:#;4UWX)RX7YBU;UVG[/0TDE)"L:L2(H"*U_ M\;HYB!U!%'4(HD80&>XZD*&\PA+'8\Y6B.O5RDT_F*T:M8(C5&=E)KEZ2Y1. MQM^N+V;7,_0)?0$*'.?HEM:IUD=V> 42DUP G M39AI'2;J"'.&[AB5F4#7-(7T;[VOD"UWM.&>1D[#&90G*!H>HRB(>NAQ=H4. M#XX8!*<>L&:UVO7:<_GG-1X@0FGOHZ!/ E>/''#^$@^.R@ MZEFJGLL]_EZJW$A"%RC7?,>(E29!DB%82Z!I&[#;4O(*'&1]2];?ETP"5Q<6 M2VB#<[N^ C>P< .GS0,(DE;J4B]Q7@%:5)AC*J$5J'8:&"==RI9Q,/:7+<&' M-OC0&?R.4%)415LLIW#/JS2R6*,]+_CH':C.+-79VZX1!_TOQ4Z8R]0&[;8- MT0M@[N +@VV=#-SIQ.NN=+J5>YY)ZFO^(Y,5H6+ M<5ON0V?=_I?1U%/3F%0- MCGG,5$L)7"]0[^>,R&PO=V]R:W-H965T"KQ@=^-$QJ$>RHO1[?7*]GEM. M_4"H0+FH$Z#\NT4+5!1UD'R,'VVFU96LC"^$)_HX1UJQQ/6>3DMN/H%AT8;2G&^YX*6K5D^08E)\P_O6@Y'!IEC M-GBMP=,-P1F#WQK\AU8(6D/PT IA:PAU0W3&$+6&2+%O8"G2"10PGC%Z *Q6 MR[3Z0$V74R78(WX#V2\P/2.]FQ\O]E@@3$!7\E M[WQ9)N#E\U?@.< $?-[1/8=DS6>VD.7K$#MO2UTUI;PSI7SP@1*QXR E:[0V M^)-A_^1O_FS8[WH# ;;DUL'S[N%=>8.)2U1= &_T&GB.%Q@>:/$0^T39?1./ M_ZN>_E_U;-B>H/R<_82EWS6BK_+\14E!I$D>>>BK+!D3V26]AQ M"P>Y+?>K!M@UR6F)3,B:@/!H#&]<#<;"H/$=#9A!$VCDTP?D9(,#>B2NJ,,5 M#>*Z+"D3^!=4BQ2Z 9!S)(R?IJ@W$G^B]YE!$^C4^AK7U?&G?=$DTEHQB_I- M[3M_JIW@&'4X1H,XKHE $K( DD;31@6&*UQ@@9&1RJCWH$&D0>E+O+'&I"]Q M7;V3^IJ11BT;'-LC&VG+^I"[0[<[BWU!+ P04 " #;E5]9"[XL_.\# "1#P &0 M 'AL+W=O,?C9,OX M-['&6((?.2W$U%E+6=Z[KDC7.$?BCI6X4&^6C.=(JEN^D<&83\^R%SR:LDI04^(4#4>4YXC\?,67;J0.=]P=?R&HM]0-W-BG1"B^P M?"U?N+IS&Y2,Y+@0A!6 X^74>8#W4:B3%X_L.U&F^J1W;U^_H'XUX)>8-"3QG]%^2R?74&3L@ MPTM44?F%;?_$.T&1QDL9%>87;&O;D>^ M!*2Y3MGQ2 G1?V/?NP"T7((^QS\ MG8-_JD.P2@TI=!H7DJNW1/G)V:?G MA\7S MR".2L$HR1#$F?@$5%4I!@LS$JZ>L(2$2JNE=GKX@E*B$=UT]]W'^KM^SW<7N+P#_N@&^)X?6MSGP^Y/.%7NB7$/#MU= M%8$F#'X3!M_@!3UXGTO,D23%"E"L%H6XMRFJ(4([A*ZW>U&B%$\=55 "\PUV M9K__!F/O#YN^"X$=J T:M<$0^LP4ZRU;WE8" R0$EM8,UB"Q ='M8#.#81#' M$W?3%F*Q\L,X:JP.&(8-P_"L?-S4_X 2]$8HD01;&8>7S-"%P [T1XW^:#!# MGP[4_K1IK0&B5MRCR$N.DM,U"J-@9,]-W'"+S^&F4R.$ZE6Z:8168E*"^.ME!M2G#>V921Z5,WH-GL7E7Q/^C-[@8LI$J$$<>6 MH+8G2O,+$Z0W*<,?_95U.?]_L _#MY\-8'!Z%P+LC9*56:GV(6]PT#BWL5P* M[5#Y?N: @UOZF.>);Z?#N#P>-#+]/3-&'9' ZAF@V/^ M%BLX#GOX[R<(.#Q"U"UF>5:\XVZSB/U.3[18!2/OB*_;.B_IP^K?B*]((121 MI7+S[D9*+Z_/?_6-9*4Y0KTQJ0YDYG*MSLR8:P/U?LF8?+_1I[+F%#[[#U!+ M P04 " #;E5]9S=H.EHH" #6!P &0 'AL+W=O#?[]H)68O2@L3ZH?'CGG/O.7ZEC50/N@0PY+'B0L^\TICZU/=U7D)%]4C6 M('!F*55%#7;5RM>U EHX4,7], @2OZ),>%GJQFY5ELJUX4S K2)Z7554/9T# ME\W,&WO/ W=L51H[X&=I35>P /.SOE78\WN6@E4@-)."*%C.O+/QZ3RQ\2[@ M%X-&;[6)57(OY8/MW!0S+[ % 8?<6 :*GPW,@7-+A&7\Z3B]/J4%;K>?V:^< M=M1R3S7,)?_-"E/.O!./%+"D:V[N9',-G9[8\N62:_=/FC8V3CR2K[6150?& M"BHFVB]]['S8 H3Q'D#8 <*W J(.$#FA;65.U@4U-$N5;(BRT;:X7) OY*PHF#66[ZICG,/#PG&M0&O.SCAW$2?!T2]9_(=B1&O<3H$'OVHP:% MRR96A#NQ1Z1QVQ@*0C/9H]R'$@*J&/#F<*")/0)4FXQ-2T*[\#A-.%+ 6&RUXJW,44]T_@U+^+> MB_B]^Z%@.I=K80@&PI -;8:IRV"?A$T6C()D&DRW?ZF_V18\C G^A>VH27HU MR?M6]E4MR6!=R^>-^I6C&AL;XE H/1,=J@VE>D[1A9 MNXOX7AJ\UEVSQ(<7E W ^:64YKEC[_;^*<_^ E!+ P04 " #;E5]9-;ZX MCW8" "A!P &0 'AL+W=O MY]&=I;MTR\63K $4VC64R:E7*]5.?%^6-318CG@+3.\LN6BPTDNQ\F4K %<6 MU% _"H)+O\&$>5EJ;7 4+4 _MG= KOV>I2 -,$LZ0@.74NPDG16+\K<,/ EMY,$+VF A_,]^Q<;NX[E$4N8<_J35*J>>I\\ M5,$2KZFZY]NOT,4S-GPEI])^T=;YCB\]5*ZEXDT'UB=H"',CWG5Y. !HGF% MU &BEX#D%4#< >)3%9(.D)RJ,.X -G3?Q6X3EV.%LU3P+1+&6[.9BM\ M$6;NR4()O4LT3F7?BYM%L4 ?T3TPA8J=OG\2T'D."A,J+_3&PR)'YV<7Z P1 MAFX)I?K_RM176MQ0^&4G-'-"T2M",;KE3-42%:R":@"?'\=?'\'[.N@^\F@? M^2PZ2KB =H2BJP\H"J)DX#SS4^#7%AX/A?-_ZL4_JS]+1MQ?@]CRQ4>OP=!? M=;AD&&>JV$2VN(2II\N4!+$!+WO_+KP,/@^E]"W)\K!A8O*G\FRP<7:7^YC"WISCE T[C4?3(OO6M>MUBL").(PE)+ M!:,K71*%:PANH7AK*]XC5[I^VFFM>R@(XZ#WEYRK_<((]%TY^P-02P,$% M @ VY5?6>IG:*;_ @ /0@ !D !X;"]W;W)K&ULK59M3]LP$/XK5H8F)@V2IFD#71L)"FA(0T-T;)_=Y-)8.'9F.RW[]SL[ M;5;:4"&T+XU?[AX_]_C.U_%*JB== !CR7'*A)UYA3#7R?9T64%)]*BL0N)-+ M55*#4[7P=:6 9LZIY'X8!$._I$QXR=BMW:MD+&O#F8![171=EE3]N00N5Q.O MYVT6'MBB,';!3\857< ,S&-UKW#FMR@9*T%H)@51D$^\B]YH&EM[9_"3P4IO MC8F-9"[EDYW<9A,OL(2 0VHL L7/$J; N05"&K_7F%Y[I'7<'F_0;USL&,N< M:IA*_HMEIIAX9Q[)(*Z[#E@#C=#N':(=QUB%YQZ*\=^B[0AID+ZXH:FHR57!%EK1'-#IPVSANC M8<+>XLPHW&7H9Y)OUQ>SZQDY(;.ZJCC@_1C*R93J@MS@#9-;T62*E?SX"@QE M7']"\\?9%3D^^D2."!/D1R%K346FQ[Y!3A;93]?G7S;GAZ^&@1YU"=L< M''4?;*M_I"N:PL3#\M:@EN E'S_TAL&7+E7^$]@+C:)6H^@0>O*] H49)A8D MM6KE-N]R)4LBVPVG2&=Z-=!#!VV?K&42Q4$\]I?;T748]7MGK=$+UH.6]>!] MK',FJ$CA .<&>+!%I]<+=RCOV\11-^%A2WAXD/"-X_4NPL-]PL$PVF&\;W0^ MZ'53CEO*\4'*KJFP? M3--8[ZA:,*$QG!PA@],8%5=-LVHF1E;NO9]+@]W##0OL[Z"L >[G4IK-Q![0 M_F-(_@)02P,$% @ VY5?6=MLMM&) @ T@8 !D !X;"]W;W)K&ULA95K;]HP%(;_BI554RMM30CD0ALKUU7+ M DJJ+D4-%>[D0I94XU2N7%5+H)D-*KGK>U[HEI153IK8M:E,$['6G%4PE42M MRY+*]QO@8CMQ!L['PHRM"FT6W#2IZ0KFH%_JJ<29VZEDK(1*,5$1"?G$N1Y< MW8S->7O@%X.MVAD3D\E"B%@Y9 MKI4691N,#DI6-4_ZUM[#3H#O'PCPVP#?^FY UN4=U31-I-@2:4ZCFAG85&TT MFF.5^5/F6N(NPSB=/MY?S^_GY"OY68.DFE4K\@B8I<*E)ZK7DFF&$Y$WR^21 MT07CS>+Y'6C*N+H@9X15Y+D0:T6K3"6N1F=&WUVV+FX:%_X!%W.H+XD??2&^ MYX_(R_R.G)]=_"OC8F)==GZ7G6]UAP=TNZ3Z+#6AH_Y04PQ7JJ9+F#CXMBN0 M&W#2SY\&H??MB+%A9VQX3#V=@2F8#*2Y69-TG\%&(K02IK@VZ2"(X\3=](!' M'7AT%(RLH(_51 4[K-"/#K""CA6<8H5]K&"/%0P\KY\5=JSP%"OJ8X5[+#\, MHWY6U+&B4ZRXCQ7ML09A-.QGQ1TK/L4:$RPJH@O IIMKD'WH> \=!0=N=-R1 MQT?)ST)33KBM^IJ^8R/6O94]WG]+8R\(_X.[.RW*=/LG*E>L4JB?8YQW&:%W MV7309J)%;;O60FCL@798X$<'I#F ^[D0^F-B&F'W&4O_ E!+ P04 " #; ME5]9\MZ[.+D" #X!P &0 'AL+W=OJU@"GFNB92,/QVGT7]2 S?'+^Q?&N_*RX((F++\ M-TUD-C'.#91 2NI :2T%RR'YFK3R=YOO=.)USOQ]CJY 2'&Z+JH:@F)^A6E^E6%'/+2\N -+Z?V"'M; M7O9^[9U><.\%'U 5UA_$MCYLD=,ET3UOL$1XQY;MVY:S90OO%M)S1KB/>J77 M[_7Z!^1^6G/5'>2_=/H[.C&V1ELR=X,\[ ;#*H->9;!7Y0]6QIW$@Q(:[*;* MPB-W2^ENU"C YUM*S8V^K._$[X0O:2F4CE3!K+- .>7M/=-.)*N:5KU@4C7^ M9IBIJQFX#E#[*6/R9:*[?W_91W\!4$L#!!0 ( -N57UGVY.$>@P( ,<& M 9 >&PO=V]R:W-H965TYYS"+[$6R'? M5 &@R7O)*S5U"JWK*]=5:0$E59>BA@KOY$*65.-4KEQ52Z"9+2JYZWM>Z):4 M54X2V[693&*QUIQ5,)-$K7-U,S'Z[X1>#K=H9$Y-D*<2;F?S,IHYG# &'5!L% MBI<-W +G1@AM_&DUG0YI"G?'G^H/-CMF65(%MX+_9IDNID[DD QRNN9Z+K:/ MT.8)C%XJN+*_9-ON]1R2KI4695N,#DI6-5?ZWCZ'G0+?/U#@MP6^]=V K,L[ MJFD22[$ETNQ&-3.P46TUFF.5^5,66N)=AG4Z>;J_7MPOR'?RP"I:I4"> #,J M7'BF>BV99C@1>;-,GAA=,MXLGM^!IHRK"W)&6$5>"K%6M,I4[&KT9=3=M/5P MTWCP#WA80'U)_/$WXGO^B+PN[LCYV<6_,B[&ZK+Y73;?Z@X/Z+:1^@PUA:/^ M0G,0KE1-4Y@Z^*8KD!MPDJ]?!J'WXXBM86=K>$P]F8,Y+!E(\UQ-Y#Z#C41H M)TP]LO[KW1$_VWD\_"OX/[>[T)=/BGZE< ML4JA?(YEWN48G&ULK55K3]LP%/TK5H8FD 9Y)UW71H(6&!*;$(7MLYO04WG& M2RAP)^4BIPJG8F'*4@!-:E">F8YE!69.66%$HWKM3D0C7JF,%7 GB*SRG(J7 M"\CX>FS8QNO"/5LLE5XPHU%)%S #]5C>"9R9'4O"T7,W)*KEA!BQC(+6!2)"Y<"RXEF;(T!0%ZYW@* MBK),GN#FXVQ*CH].R!%A!7E8\DK2(I$C4Z$D36S&[?$7S?'..\?/H#PC3OB% M.);C]< G^^%3B!'^M8:[;^$F)J++AM-EPZGYW'?XVB3T^6B 7C]0W[6A+&D, M8P,ODP2Q B/Z_,D.K&]]KOX3V1N/;N?1W<<>/7!%,Y+I,I.2ON"-5+V%:UB" MFD7W@E7D#'RLT6K3R-ZC/FC$ZXQX>XW<@I1#/P- M*Z>.$VQ9V7O8!ZWXG17_@)JD[15L:L/G&5M0W>MZR^/O>'("9[#ER=^MH1M: M7= ;K4&G-3@@[9-*8%=0_U(9[*BT[=#?4MD7- CZ58:=RG"ORI^\B%N)!Z4S MW,F4[?GNEM">('O@;0DU-YJQ?@A_4+%@A409*<*LLQ"-BN9Q:2:*EW5_GG.% MW;X>+O$]!J$#<#_E7+U.=,OO7OCH+U!+ P04 " #;E5]9B#+^ ^@# "0 M#P &0 'AL+W=OQ193P%@:1Z%M;*>-[VQ;^%D,B;EF,D1I9,QX2J9I\8XN8(UD9 MHS"P/<=IVR&AD37HF;XG/NBQ1 8TPB<.(@E#PM]'&+!=WW*MO..9;K92=]B# M7DPV.$?Y)7[BJF47*"L:8B0HBX#CNF\-W?NQV]0&9L97BCM1^@9-9(8@T C*3^^9:!6L:8V+'_GZ+\:\HK,D@@U^PXQ02^/Y+!#F%W;97,<"/Q&2A9FQ\B"D4?I/WC(A2@9> MYX2!EQEXQP;>"8-&9M P1%//#*T'(LF@Q]D.N)ZMT/2'T<98*S8TTMLXEUR- M4F4G!^//L]ET,9L\+N8P?'R K\/GZ7#T^P2FCXO)\V2^ #4T74PG<_@$DS . MV#LBC##"-97P%)!(P-4#2D(#<=VSI7)) ]M^MOPH7=X[L7P79BR26P&3:(6K M0WM;42GX>#F?D5<+.,?X%KR[&_ ,U_%7AV?@C0%T#U,B!:AQL M%((W#&[S!.X?"0GHFN(*QD1L@7%XP#5RKCJ&G)-H@RI(9)62M;@ZW.]%3'SL M6RJ>!?)7M 8__>"VG5^JR%\([$""9B%!TZ W3DA0?8RJ*#46P7E M5NVNJSU6/6K/U6GG=)F8%*9IW\""O,%<$IE4*E /FXA/&T+B^^)0:<@9ADOD M50K4@IVI0+M0H%WKZHR\T3 ) ?/-]\M2$ $$8N2^.OOJ]@"V5N.ANJL$,>.) M2@\O.A8*_#4^O94*J+7Y]A';-_5UZSHPRB58I#SST*P_IESJ51 M>@.Y'XK$@Y04F^R"VC\GNMW# MB:G7=JFV"9%O3,DGE"=))-.RH.@MRLJA*::.^D>ZW#0UTQXFK55GA&^HJF," M7"M(Y_9.Y2J>EG]I0[+85%!+)E4]9CZWJF1&KB>H\35C,F_H!8HB?/ =4$L# M!!0 ( -N57UE&-]/P9@( &4% 9 >&PO=V]R:W-H965T98$MGC%3)] MLN6B)$J'8N?*2B#)+*@L7-_S;MV24.:$@=U;B##@M2HHPX4 69:CK)30IU3C M5/CP8S:+U[-HOE[!9/X(F\DRGDR_1Q#/U]$R6JU!'\7K.%K!1]@004E2(,1, MH4"I(&***HH2WCVB(K20[P-7:5F&W$U;"=-&@O^*A$\PXTSE4I-EF/V-=W4[ M74_^J:>I?Y5PA54/_+L/X'O^ -!(/%ZAO>E&=6-I;_Y[5)=FT' /+G,;ZXUD M15(<.]I;$L4>G?#MF_ZM]_F*\D&G?'"-/5R@2/48M,F ;R'E4DEM*%HFM9"8 M@>+PI+]OY27]385[6\$X?1]ZO7[@[B_(&G:RAE=ES>LR06$D;>+H M8M$&/SPK^F])]^S7+U'LK,&E[K%FJG%!M]O=(9/&.G_2FPMH1L2.,@D%;C74 MZ]WINJ(Q=1,H7EDC)5QI6]IEKN]!%"9!GV\Y5Z? %.ANUO W4$L#!!0 ( M -N57UF(S?3MC ( ,@' 9 >&PO=V]R:W-H965T9Q!B?D9K8#(FQ5E)192 M9*G-*P8XT:"RL)U.Y\(N<4ZLP->Z&0M\NA9%3F#&$%^7)69/0RCHMF]UK9UB MGJ>94 H[\"N N$Y)8C!JF\-NKW(4_;:X$<.6[YW1BJ3 M):4/2A@G?:NC H("8J$8L/QL8 1%H8AD&+]J3JMQJ8#[YQW[M66A>,T%+6NPC*#,B?GB MQ[H.>P#)TPYP:H#S$N = +@UP#W5@U<#O%,]G-< G;IM%"[' @<_H%C%E M+=G405=?HV6]R4(P>9M+G @6T'I] M-Y\,[L=W4_09+2"5CT.@,3%/4_7X0P@"YP7_*.^YN?=M(6-2S'9<^Q\:_\X! M_RZ:4"(RCB*20-*"#X_CKX[@;5F+IB#.KB!#YRCA JHSY%Q^0D['\5KB&9T" MO])PMRV=__,>_;/W9\5PF]?A:C[W(-]?;6]KL2'QVDG4I.OQ"L?0M^0HX\ V M8 7OWW4O.E_;ZON69.%;DD5O1/:L$U[3">\8>S!=ETM@B*[D<*XH$SE)=W\Z MWM82PW:NV=2NV 2.;V_VZ_RJ1?BJ173,PJ1I[XVF$EBJ=P)',5T38=YAHVW6 MSD!/VQ?Z8;&ULK9QM<]NX%87_"D?= MZ3@S240 ?'5MSS@2WSIK)Q-GV\^T#-N:E4B5I.ULIS^^D$2+(@"B8O=\2209 M][FXU!%)G$ORXJVL?J^?.6^LG^M545].GIMF9%O2P+J^*/ MEY-K?RKA4X..;>!QZ_?Z?&N>%',?5[S6;GZY_*A>;Z_F6 M\K8@=\M;E*MZ]Z_UUHZU)];BI6[*=1LL9K!>%OO_\Y_MAC@*$!Q] &T#J!S@ M# 2P-H"=&N"T _6MEM_/7[S?6/[.NM]0[;B+YOHR_4"+SCF\\6]3]:U*:.9CXS M<_C?7PH1'@R&S\WA-WDEPL/!\.B4R>_#F28\/F'RS!X,3TZ8/".#X>F?V_+9 M_UU[3PCL\&-A.QX;Y#WM?@,57Y3%8KE:[GX%.H7O.8Z>LSV G=>;?,$O)^(( M5?/JE4^N_OH7XME_T\D+"9LC81$2%B-A"1*6(F$9"-83L',0L&.B7\W$CK$2 MYQ="P:^\>.$ZZ>X)WHZP/55ZO2)N0%UZ,7T]%J4QT5A1(F&1I@!&?1;T"XB1 M.1,D+%4+<"CQF=\O(%.',==Q2%=G3R+N02*N42)S+J:XV._9+'$ M_)U637+ M?P_NZO8X]W@:/O$DM1ASCE4+$A:ITW=(:$M:069,D+!4G3ZQ0T4JFE'4'5** M=U"*9U1*5C1GY=I,4HYQ%F.5@X1%ZO0I]4-).4#E!S=1 -'>FL.%+3$=>3TL4JB8626A-U3,BD9*DFF1,$TJA, M'46#T-5O>F)WMI%MW/A1P:NG/[3FCC%P[-H72IM#:1&4%D-I"9260FD9BM:7 M[I'C24 N3@M"21E)FT-I$9060VD)E)9":1F*UI.J752/>:F4#M;"AM#F4%D%I,9260&DIE):A:'TY=U8V M<5"'<:0[.X/2YE!:!*7%4%H"I:506H:B]:7<6>[$[+F?=!A7/5SJ4,5H-V<: MK4ZHU:XK@?BVW)B!)DV@M%13@A<2V9+,=,.H'0P8[J1SW(G9#=BD.[5A ::FF M!OU27!UG7(IWG0MB;EV,OLB"J"X^8W(3>F;..EHW2%JDJR!P'5DUR)P)E)9J M*@@#VY8UH^G*$,\=:+C0KN%"S0V7DZ^V,'/&'BFAM#F4%K6TWL]3TA,T80*E MI5!:IMD80YKK.B74:%\CKN!H,_160L27#WCF>8Q6&;0UHJF !D3><4%S)E!: MJJF N$$@?0F9]JL:6K/2KD=!S3V*L==R4-7__D1=63#09@64%FD*".3+9V-H MR@1*2S4%B)^L?$VA9A1E]L"I$>VZ%-3M06H"W+'*-+DGD%I@Z7+IAPQTNVG4$ MJ/FF@='.&%6O/V?R-?8S<]+1FH'Z_;H"9$KP!HH_ 77BH;1(,W^?*H\R] MA9-[Z$SGSBN/+#!G&ZU0[)-YU JHPUSY^(U]Y@[VH3N:'H_ZX +-*)_8 YUO MUK47F+F] %A7MAGZ?ED5MK?BC2&5_]H6JJ_U#8O=O MFG*S>X+H?=DTY7KW\IGG#[S:#A!_?RS+YOW--L'A4;U7_P502P,$% @ MVY5?60WC]TZL P SA, !D !X;"]W;W)K&UL MK5A=CYLX%/TK%ENM6JDS@(%\S":1TCB=1MK)C)+I[K,GN4E0 ;.V,VFE_OBU M@2%AAM"D\4O X'.N[^&><'%OQ_@WL0&0Z'L<):)O;:1,;VQ;+#804W'-4DC4 MG17C,95JR->V2#G090:*(QL[3LN.:9A8@UYV[8$/>FPKHS"!!X[$-HXI__$) M(K;K6Z[U3)9]R]$K@@@64E-0=7B&$4219E+K^*\@M)?-$!8Q8]&^XE)N^U;'0$E9T&\D9VWV!(J%L@0L6B>P7[8JYCH46 M6R%97(#5"N(PR8_T>R'$ <#UCP!P <"G KP"X)T*\ N GRF3IY+I0*BD@QYG M.\3U;,6F3S(Q,[1*/TSTSX<.7R6CX M-YI,/]_/[H:/D_LIND)S6*N'+=%0") "O2<@:1B)#^K6USE![]]]0.]0F*#' M#=L*FBQ%SY9J=3J&O2A6\BE?"3ZV$DBO$6Y_1-C!?@U\U PGL%#P;@;W:N#D ME.BU<%M)6NJ*2UUQQN<=Y^W\:!>F[/ MAXK43'.#H-.I3B,UTQRWA9UR6B4+O\S";\SB/@5.]8-_\8Y /]$X ;[^49=2 M(]FYI6"2C!@BJX@8E"(&E[LH,"F=23)BB*PB7:N4KG6ABW)\<%#WGM]IN>U7 M+FH,JU+6 CT;G%8I2-F&*KBGC0B+N7>ZW@ M,*6?239BBJVJW[[A=AN;TA,,5Q 0\CD+U;4CUEW1]YHU<9Y>-239BBJVJX[Y-=WT#MC/:GAME(Z;8 MJOKM.W2WL8L]Q7;!FP^L*^RYGO/:=T9[[U]'S1.V#_9.]$[7'>6J;Q0H@I4" M.M=MQ^M+;S\I')PT/K%8_ET^>Z^:.]+XHN^K9>5>W9[+[K M'E[/Y^WBOECG[:OZH:CZO]S6S3KO^J?-W;Q]:(I\N6VT7LUI',OY.B^KV?GI M]K7KYORT?NQ6955<-U'[N%[GS9]OBE7]?#8CL^\OW)1W]]WFA?GYZ4-^5WPJ MNB\/UTW_;'Z@+,MU4;5E745-<7LVNR"O=<(V#;:*W\OBN3UZ'&VZ\K6N_]@\ M>;\\F\6;=U2LBD6W0>3]?T_%9;%:;4C]^_CO'CH[''/3\/CQ=_K;;>?[SGS- MV^*R7OVG7';W9[-T%BV+V_QQU=W4S[\6^PZ)#6]1K]KMO]'S7AO/HL5CV]7K M?>/^':S+:O=__FT_$$<->@[<@.X;4+_!:]__#VX\W5Q>?W'S]$)Y$JV_SNKBGN\FUXZ]OH MIG@JJL:+ M_9MZLWM3=.!-L>BJKKK[-M+5LE@"[56X?19H/^\'Z#!*]/LHO:%!X*?BX55$ MDW]%-*8<>#^7+VF>;9LSJ#O_W]'UY*-;@\$.4X9M>6R MX\\%-9=0PXWW*QY MK]N'?%&1A^.37%)>;H8\(4)DPCP:S13PZCGTQ- M\5U#\:,4!V10BOLR,,5]62C%TT,OTV O=54T=W]"G0RV&SO%,&$*$Z:18-;@ M9X?!SZ8F>(8Y^I@PA0G32#!K]$ELSKKCJ2F^;VDG+X^9='( 'YT4!+FC9R(F3:'2-!;-CI"Q8B2=O!J@NC%4FD*E:2R:'0/CR$C0 M<@1CD+UL-0!DT&K@R\#5 ) -KP;46!\:MCZ7]7I=-(LR7T%=#3<>.]U0:0J5 MIK%H=AB,*Z-D:LI35"^&2E.H-(U%LV-@O!@-^HQ@#*B7?5G&W.M\D,KS"@I0 MT8RPS$EX2"82)@82WK@=&G8[)N'[C_OAJWYARNA9A[I[A$K36#0['L:143XY M\U'M%RI-H=(T%LV.@;%?-+R_%8J!\-(PR21W,Q]0<>Y^U ,JRE*1NID/R/JN M)@.9;PP.#1L<)_/'7 @(DT?/1-2-)E2:QJ+9,3+FC":35P-4^X5*4Z@TC46S M8V#L%PUOA85BD/K7^3*9NJL!H!*IMQKX*D%3XBX&OHH3.G3:;^P-#=N;=_53 MT53KHNK ;J+N.J'2%"I-8]'LTAWCOE@\-=T9JO5"I2E4FL:BV3$PUHN%-\1" M,2!>\J6,)LY5_4M EE#NGB0H0$8)C8F[P0_H2"*3=. $@!F#P\(&QR1]\-0_ M3!D]\U WGE!I&HMFQ^.HB#="2+AS[RF3$Y+&QRG.P?<_H?)H^>C:A[4*@T MC46S8V0L&IMN7)5=68#?" BW'3W;4/>94&D:BV9'P1@Q M-KGTCZ&Z,%2:0J5I+)I=PF]<&)]<_L?],CPI8N$Z $ F"/6+^($BP306GNF' M=(*DF81SGANOP\->YY#S00,0AHR=>*@TA4K36#0[',:0\0':@33F"6N 8!T@LAL8.>/'WU5 M*6QU[.0?<_X?!H^>C*@;4:@TC46S0V0\&I]6P( :*A;&*1!$1E8!(R[X6%W\[E<%R=]QI]1^U^0+<"<@3!L]ZU WG5!I&HMFQ\6X,3ZYYH^C>C%4FD*E:2R:'0/CQ?CD MFC\.%/.)A'H^ )#)F! W_WU9(EGJG0D ,B:/]A7L+_,:OR/"?B>P!@1]01@[ M^KN^J%M2J#2-1;,#9&R:F%P-*%"]&2I-H=(T%LV.@?%F8G(UH/!+\Y),N"<" M@"ICJ>L* !45)',6%@W)9,R&OM=OW(\(NY\?+05C7$+X4*.G)NJ>%2I-8]'L MH!DC)R:7# I4IX9*4Z@TC46S8W!T1XS))8/"K]\C22+=RP:03$J:N0N$+Q.$ MN+9# S*>2#IPQ5 8-R3";NA+578GFWL_+8,^(4P9/>]0=Z=0:1J+9L?#^#PWCDB$'1&0_6&'@+IEA4I3J#2-1;-O"&0LG)Q<."A171HJ3:'2-!;- MCH%Q:7)RX:#T2_@$Y:E["@#(..T_W)UE ) 1GL34\1(:TE&9\8&3 &F\D Q[ MH:%E8(P["!]B]+1$W=!"I6DLFATL8^GDY*I"B>K04&D*E::Q:'8,C$.3DZL* MI5_?QS-O%P%2$>_B : BG"7"71>@DD))AI8%XX%DV .]+;\5RY/KIEP407,0 MQHR>=JA;5Z@TC46S W)TG\#I-PK$O5,@[JT"<>\5^'<8-&D,FIQ M!4) 1M)^O7#= :1C&1MR!XGQ04G8!PVN V/L0?@88^P8&(N63*XYW+>T[@?.A;[5_WAU<,/5EQL?Z;!>?T->7U)@-<5>:UW M/T=A\+M?Q[C*FWXA::-5<=L?*GZ5]"M8L_O!B=V3KG[8_J+"U[KKZO7VX7V1 M+XMF(^C_?EO7W?&ULI53;CMHP$/T5*Y6J5FIQ M,.Q2T202MV61RD6P;9]-F!!K'3NU#=G]^]I.B*C$[DM?$H\]Y\PYSDRB2JIG MG0,8]%)PH>,@-Z8<8JS3' JJ.[($84\RJ0IJ;*B.6)<*Z,&#"HY)&-[C@C(1 M))'?VZ@DDB?#F8"-0OI4%%2]CH'+*@ZZP65CRXZY<1LXB4IZA!V8G^5&V0BW M+ =6@-!,"J0@BX-1=SCNN7R?\(M!I:_6R#G92_GL@L4A#D(G"#BDQC%0^SK# M!#AW1%;&GX8S:$LZX/7ZPO[@O5LO>ZIA(OEO=C!Y''P+T $R>N)F*ZM':/S< M.;Y4953:F@2 M*5DAY;(MFUMXJQYMQ3'A/LK.*'O*+,XDN]E\.5L]H=%JBN:S]7P[VCPN)J,? M:+%Z6&^7HZ?%>H6^HCG(HZ)ESE+*T4+4S>!N]=,4#&5TUJS]VZQN-(:ZI"G$ M@>U]#>H,0?+Q0_<^_/Z.YEZKN?<>>[(Z%7M02&;U+6C$!*KL7><(A&'F%=D9 M5.[@EO":^LY3NQ$\)X1$^'PM!U_UAQNU)55')C3BD%E0V!E8M*K;MPZ,+'W+ M[*6Q#>B7N9UX4"[!GF=2FDO@NK#]AR1_ 5!+ P04 " #;E5]9'Z/,[>($ M #5( &0 'AL+W=O,C)M"9%$C:3C!NB''RDKDJ71:IW-/(J14HN])G(J)%4J97=JV"$*:$''!,IJJ.QO&$R+5*=_: M(N.4K'.G)+8]Q^G;"8E2:SK.KRWX=,QV,HY2NN!([)*$\)CC.RI2LJ_\H67)W9)64=)305$4L1IYN)-7,OL>=HA]SB[XCNQ=$Q MTD-Y9.Q)G]RL)Y:C>T1C&DB-(.KGF_!=0JV]2.Q\>O],_YX-5@ M'HF@CE; M?+F9S[ZBF[O/]\O;V:]1N_):@2N:72!O\!%YCM"YE!*!",HHUS<^F/)R0(YRI/[V/T^=B^[('=O/ MQP$W6?6\4=W*-[-Z=2ML9#G]TJHV]GXY]OX[I&*E)C(AY4HK2!RI.5 :$837 MD=#SB72-YK'Z>"C/72I?T"H(F?I8^I&0/%+?FA]*VRG?OIB"U]JG^ M*3WCN=PMV)[RC_GA0T@!U*^]QV^ZK*=SL0"@A:RH/2?% : MAJ+5TU&5\VYKD?I&!02M[T%I/B@-%[3FG'9@KE_=JGAWVZOW:\JVG&1A%)@U ML"I=C?%OA9\=?TB:#TK#4+1ZFJIU!KQ[/731NL1J,IRM[TN_YENO,YUC(& +);G MH#0?E(:A:/4D5:6\.X)0#=""&Y3F@](P%*V^QU;5W%YK$?DVU2B8PT99UA"- MPJHQ/>CT&Z)QPJQ1XV&S6;JP) HX>2<37Q"JVK4XQ55D!)U*&H@)N3I9 ET68I5UA5$DCN0"7# M@>\?X9)0[B6QV[N422QJS2B'2XE4799$_CP#)C83;^1M-Z[HJM!V R=Q15:P M 'U374JSPAU+3DO@B@J.)"PGWG1TFHZMOW.XI;!1.S:RF=P)<6\7\WSB^38@ M8)!IRT#,9PTS8,P2F3!^M)Q>=Z4%[MI;]D\N=Y/+'5$P$^P;S74Q\3YX*(&?@.@)0-0"(J=,DXK3(26:)+$4&R2MMV&SAA/3H4WZE-NR+[0TI]3@ M=#+_,OMZ<8ZNI]_/%^@]NB6L)JX@4V9>!.$9H/T4-*%,'9CSFT6*]O<.T!ZB M'%T7HE:$YRK&VH1B"7'67GO67!L\<6V(+@37A4+G/(>\!S\;QI\,X+&1H-,A MV.IP%@P2+J Z1,'Q.Q3X0=07S__!TV%X"IF!GSAX.)!-V%4U='SA,ZK:5YP& M'?6C;:^OGZ?5^*^('L-I!/BG1SH8WTN?!-YIE27(E1LY"F6BYKKIFMUN-]6FKIGC M1_=F)%X0N:)<(09+ _4/CTV@LADSS4*+RC7>.Z%-&W=F828S2.M@SI="Z.W" M7M#-^N074$L#!!0 ( -N57UGX+^M/3P( $,% 9 >&PO=V]R:W-H M965TLY$+1- EG,Y,FNG92*)@9 M8NNRY.;I"J3>C&B/[@[NQ*IP_H"E2<57, ?W4,T,6JQCR44)R@JMB('EB(Y[ MPTG?^P>'GP(V=F]/?"4+K1^],0:.RQHF(*4GPC3^M)RT"^F! M^_L=^Y=0.]:RX!8F6OX2N2M&]",E.2QY+=V=WGR%MIYSSY=I:<.7;!K?RP$E M66V=+ELP9E *U:Q\V^JP!^B]!(A;0/Q60+\%!.58DUDHZYH[GB9&;XCQWLCF M-T&;@,9JA/)_<>X,W@K$N73Z??+C]H;K="UY2JW"7.8CB=E61OZJ@D=OQ!Z#M49B2]/ M21S%@P/PR5O@GP*\_QS.4(1.B;A3(@Y\_1?X'I2!3*^4^ MYJ/X*%"R%LZ=D MJC)=0B,)*"Z= $NP:+QP8, Z,LXR4T-^2(0FZN!P5-^D0UOQ#$84N]""60-- MW[_K742?#TGRG\B>"=3O!.J_QIY^$WPAI'!/!(<'J;N7XE"6:O=2#BG0T%X$ M6C]5UFF4L/5^6:]Y-+FRO2?NQ\LM-RN!#U/"$C'1V>4Y):9IV<9PN@JO?J$= M]E#8%CCEP'@'O%]J[7:&;Z1N;J;_ %!+ P04 " #;E5]9367!1$J6G8HEE)8!DEE06V.OU M^K@DE#E1:&WW(@KY2A64P;U HK,@2IJ > MJWNA9[A5R6@)3%+.D(#%R+EVATE@\!;PC<)&[HV1B63.^9.9W&8CIVZ/=^HW-G8=RYQ(F/#B.\U4/G(N'93!@JP* M]< WGZ&)Y\+HI;R0]HLV-79PY:!T)14O&[+>04E9_2?;)@][!*W33? :@O>2 M$+Q"\!N"?ZR'H"$$QWJX: @V=%S';A,7$T6B4/ -$@:MUI9JGHMLODZ]W"9I=_TBFZ".Z92DO +?1W>9->1U&I]JV::Q#IR+P8A7N]G M^F_,P/6?8^(.GY.R*6E$E4P$*[ZIT/=/$4=>NH)XI7MC;.N=*5 MU@YSW6U!&(!>7W"N=A/CH.W?T6]02P,$% @ VY5?62*XWPDW!0 KR M !D !X;"]W;W)K&ULK5IK<^HV$/TK&C?3R9VY MB=^O%)A)@K'I-)E,:'H_*UB )[9%)0&W_[[R P=LX4"K+P'+>\[NRH?56LI@ MA\D'72'$P,\LS>E063&VOE-5.E^A#-);O$8YO[/ )(.,7Y*E2M<$P;@$9:EJ M:)JC9C#)E=&@''LAHP'>L#3)T0L!=)-ED/SS@%*\&RJZLA]X398K5@RHH\$: M+M$,L;?U"^%7:L,2)QG*:8)S0-!BJ-SK=U/=+ "EQ5\)VM&#[Z!(Y1WCC^)B M&@\5K8@(I6C."@K(/[;H$:5IP<3C^+LF51J?!?#P^YY]4B;/DWF'%#WB]$<2 ML]50\100HP7 M/HQ'_[[)N=P M[R1\W ]_@H3#_9/PX)S@*[@I@$_."-[43L+#,X(W]9/PZ/_-_/0_YWXD!+/Y M 9DEGWF"[YDO2$D^QQD"URFF])M(W!6%):8HUK,[NH9S-%3X@D41V2)E].LO MNJ/])E*63+*Q3+) )ME$)EDHDRR223:51':D7:O1KM7'7FIW6FOWCU/:K2B< MDJ)HG;8CU[2<@;H]U&37R+)]Z]AHW#4R?,LX-@JZ1KKMM-Q-ND:F[Q[;A%T; MWVPYBP3.+,]K64T%<7N^W1@=3;W=3+W]Y=0?E0V^K/*F+9F+'D%%9?<_@EY_ MEY8%F61!-WS!(Y7I,91)%@G"%XBD:W5:)$XC$N=BD<1)NF'"%NC!.>>7VNOQ M4IG() NZX0MD(M-C*),L$H0OD$G7ZK1,W$8F;F\+\J-\HT/Q#=PBPM]0]RTX M?[>EC/?;2;Z\$^G%E=F5R"0;RR0+9))-9)*%,LDBF613261'M6;M,WM59%[(WF4N7*) M$\5M.JZ1,9+H,99)% MHOA=VVR51)&5:;OBFN@W(O)[110L%FC. %Y4"V:RY561X?D'P.MB.X,"KB# M4V DF7.MU3?A#I*8?B4KOQ.P97@M4?5&=ZFH9)(%W>@-J]4[3V0Z#&621=WH M3;<5_520H>:(Y:1KG_MDFJ2J=%.W:%_)J'9XW%B:=EM)_7%=*B6I;($H!=/5 M_):@MQ>)J3!3VS%/R.I@^U7O[=T"2'*N&5J_@(,U(I5FA!U; M32:I99/*-I;*%DAEFTAE"Z6R15+9IK+8CN5L?,K9Z*V2#\461EGX8IRFD-!/ M08MK8$7G'ORLM-MVA_#8[_1BH3:K/4"I;),A O]6\=@$4Y6D8 M)^K?Y^ZYWKO!.1H?K)5G2L84249O2T;J+KE4MD"8@:ZW)2-U UPJ6R3(@$O& M;DM&E*>AMR2C'AQ>9H@LRY-ORMNK3&PO=V]R:W-H965T6Y+6H..#6@JK1=QQG;%2;4"@.S MMN1AP!I9$@I+CD1359B_SJ!DFXEU:6T75B0OI%ZPPZ#&.<0@?]9+KF9VSY*2 M"J@@C"(.V<2:7MY&(VUO#'X1V(B=,=*9/#'VK"?WZ<1R=$!00B(U U:O-=XUCIV#SCVT .CLA!H05-(!_#SX_B;(WA;B= KX6Z5F+E'"6.H+Y![ M\Q6YCNL-Q?,1^)6!^P/PZ+^][V7C]>?J&3[_$)\^EO.9NA$I6N)7=5$EFG*. M:0YZ/'1>1PEU^;D5-4Y@8JGZ(H"OP0H_?[H<.]^&Q#HE670BLCTA_5Y(W[![ M!X3[\KZWLP= MW[PSBP;8KO?,6BGLG<); <]- Q,JF8;*MO+TJWV/G)K6\&9]KGIGV^K^T;2- M]P'SG%"!2L@4I7-QI8+B;3-K)Y+5IKP_,:F:A1D6JO\#UP9J/V-,;B?:0?]' M$?X%4$L#!!0 ( -N57UF:"%MEO@( %$' 9 >&PO=V]R:W-H965T M;*7ZD&GB :>,I'KJ9<:4USZOHY2 MS)B^D 7F-)-(E3%#0[7U=:&0Q$I$4VK6P/ZSM>!"5 MVLCL8$P$&<^K+WLZ[,.101"\8A <# +'73ERE-?,L'"BY!Z474UJMN-"==8$ MQW-[*"NC:):3G0E7Z]EJ\7V]^/H#%O?4KN#T&@WC0G^ 8&%CO; MGL,BYQ&C=DM"J'B^/8/ES.6<41O,+Q+3(7 M$/3.(.@$?5BOKN'TY,/O,CZ%5L<7U/$%3K?WUOB:T"J)?K.$38M+7; (IQ[= M>XUJAU[X_EUWV/G8 MBK 7MMZN&5UI1Z+'HLN>;VHIX!)@FZRPHQ,P@R.9YN MXF_W4&^MV]L6Y'Z-W/]?Y 908%N%2/EKFI#;/;P9>5 C#UH%EZ6*4DI>*!2/ ML FHLA\Z>UO)=F%W//%W#3Z'M<]AJ\\YTRD4C,= M9.R@W:%"2C^25*I#HY) M@F:244TR:B>1N:%,M0D<47;R&!5S1U2P9[81=')T6G\>:A/:Z*]-&C:3C6NR M<2O9@JG\G-X*R)#I4KGK @75%1DW^6\7"^ 9F=)-U\4_JI#VL;EEB@J8!H$) M274N1K3=JBK@U<#(PA7-C314@ETWI36QEUY-B9X[*67X^OG:8?^"+&PT:7 MBL:^Q^?<8_N&& :U60EV,V?,1,M2R'I(YL94G^*XGLY92>LS53%ID4+IDAK; MU;.XKC2C>0VD4L2]3B>-2\HE&0WDHKPJ31U-U4*:(4G;4.1O7_,AZ:8?2>3E MQBIG0W)W\O[70IG+=Y&_'WTX.NK>UNV]RK=J.+WRGQ9V.E( MUX:%7SI^LNB-8"I=W%U6E5B]5GPF2R9G_R+$XX&=,V+YDKS!YL-2F5J M TR3Z)YIPZ?;D=^:5K=L:=;EM"QPS[T#]/QWUWG&)--4;)NVM?^65_G5CI.+ M?V79_5;9-QSTV+Q6W[K)\T,PF1Z"R8.HR?XAF,S>I,FX>8%OG1)VS@AM-(*S MV)#\@%.=V"2-)@LN#)=-;\[SG,DG1P4K;^C$_@FPHV_'YZR@"V%N6W!(-NWO M+.>+,FM'7<-"-*,V[6\PO6[:'@1M+BYSMF3YN.GJV<0U(]NP69L+"/O(E;O" M",;Q6!@!#,N#.< XGH7E^9_FTT?GXS',6S^(]%%.'^5X5@@9NP^6)\S)[!6> M:98E29IB*SH>!QV,L75+4_@)JV'>@('E@4Q_MM;X;N,5\GP=8'OZ7(5@,\4K M$9LIOM: A-<-&%D6WFTL#S"P7<.>8!S),@R!6@S7 M:)HBJY/")[P_V%.2)%D61@ +.T@2#(&G$4-8?20$3;8T.P6BP^0"X9 M9K>]9!:G.>TAE\:4DC3-#2Y#"&9E424K3Z24# MB["-"46J !4G^?4%J=I=JLJ.+VN=^!3U<4G@PR[QX;'67V[K^@O[MBTK9"RV99#Y_(R&&Z%J@8? M/SQ=:ZF'<*-NY*91=65WMCO62CZ:_XZWF^RK,NI6E:KY?C7HUDLY8%M5J:WZ M(8NKP>6 F8?Z\5.MU8^Z:D29;71=EE>#T>' 6NI&;?ZW.VLA]WJKIO+V/O8@AN MHXO#T_(0Q/?Z)6&L[^[41D[KS7XKJ^801RW+%K R#VIG!JP26WDU>#J%B:I@ MO&ILD%A4'2YESVWOU/YU5!SNNK&X((;ZO;('=%1TX'20DR2>\CCC4V;7LF01 M3< 8@'032.2/D9P= N@BD>Q;(++>+&QX#2 ^!],X(V8NDCT#Z MYX1T 62 0 :TD$DZ#^/HKS"/DIB%\90E2YYV6QE+9K#AC!'(,2UDRB<\SEDX MF22K.(_B.5NF26S7)^TKF0/(MPCD6VK(-8]7/ ,T[Q":=[0TV6JY7'31"1=L M%L6VAXGLVHEF/+K$NNU+6LPI3Z.U?=W6'$!&<9:GJZ,G.T+M0JR7*;_.67*] MB.:'I@&Y,*&,B(VRX&'6>^-&F#E&Y.JXN8GR]KEE75>R#M,HO%YP^T!SGG*( MB;EC1"R/C,]ONN[$(LYY,D_#Y:=HTKUWLR2]@9B8/4;$^HAB&T_.\O#/_A/& M9#$BM@4/T]AVOQFSDF#9IS#E[.*7O_=U\SM?9H>57R$KYHP1L32L=%M5<-NG M] .(.6)$+(EL=9WQ/U;MZ]?J(N^!8;H8$?MB*;ZSKX8MI>Y^7FTDFRJS*6NS MUQ(.GS%;.,2VB"JC"JE9KD5ATR$6:BVJ>]G^RD!&3!4.L2K0 55O:.J@J0BQ M.9Y&*^S"IIRE-+#9.IA$'&*)H .7?OPPB3C$$D$'+GU,3"(.L42.!RXG'S=F M%(?8*(<1S$DL3!X.L3S0,4+_\6(Z<8AU\A(?=[&%P)AF'&+-X+TCS(E=3#0N ML6AP3 ]B8JYQB5V#YL7]@A+F&O>U7/.&9?*^JR6" B*L,;AHX8O8/ !S+BNI M1?E33,P\+G7Z@@JRUX0P\[C$YL$Q>TT(\X]+[!\8F(]<:A^AF '$Q'SD MDJ9B'OM?.?-VQ2;W>U4<=.]S +><06 M.H59"F.4_;T]&V)B%O*(+70",Y:/;*)EH1HV@YB8A3QB"_V;4YX>QEU,(29F M(8_80L^8"RF,9/R;O99=7DQE(U0)"UH^9B&?V$+/F!-[H"Y583D*=BW*KD@( M"Y@^9B&?V$+/F&%1=(V[_]PA)F8A_U6^V%C,M$V#CI\YK'_XF(5\8@L]8V;[ MW:[L*JPVGA-A'MBLK!\A)F8AG]A"SYC)SC;TIJT)=XW)V%TWHH&8Z$0 8@MA MF'-=0TS,0O[KU.+>L)FJNL8-8[G7$!.SD$]LH9]CVEB:7K^)6<@GMA#Z-;0_ M1P6SD$]L(1RS-TL%LU! G0NA!=D>)F:A@-A"."9,,@+,0@&QA7!,F&0$F(4" MZF]!*"9,,@+,0L$Y)Q3TJAX!9J& NB*'8L*J1X!.2".V$)SW8/OTM2CWAY%[ M6-J1AX"8F(4"8@L=8:ZLB+0=PU4L%]_8$CH]P"P4$%OH"#.J-O56=HS=V!-B M8A8*B"WTH@]9;0H")R1B/AH3^^B%P"&,\!@STYC:3,V/T;46Z6FK6+P[PXSV]GM-SMRW)B]R75HA;%TPSVI]GW M'_\!4$L#!!0 ( -N57UFL;5!7/ ( *\J : >&PO7W)E;',O=V]R M:V)O;VLN>&UL+G)E;'/-VLUJHU 8QO%;"5Y S7F_;(>FJ]ET6WH#DIY\T"2* MQZ'MW4](%\DCLYA-\5G)47S]@_!#U,>7?&C'?7KB=43T]WLY:P6K^VPS>.JJC\/U]VEOFS2W7ERM7A^ M6U7#\UNJZKF#!()D_B"%()T_R"#(Y@]R"/+Y@P*"8OZ@!H*:^8/N(>A^_J ' M"'J8/R@M4<8E0=($:P*M$W*="+Q."'8B$#LAV8G [(1H)P*U$[*="-Q."'0J"WH-Y"H+>@WD*@MZ#> M0J"WH-Y"H+>@WD*@MZ#>0J"WHMY*H+>BWDJ@MZ+>2J"W3EZ6$.BMJ+<2Z*VH MMQ+HK:BW$NBMJ+<2Z*VHMQ+HK:BW$NAMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z&V3 ME]T$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H[ZNT$>COJ[01Z.^KM!'H[ MZNT$>COJ[01Z^^1C)8'>CGH[@=Z.>CN!WHYZ.X'>CGH[@=Z!>@>!WH%Z!X'> M@7H'@=Z!>@>!WH%Z!X'>@7H'@=XQ^=F$0.] O8- [T"]@T#O0+V#0.\&]6X( M]&Y0[X9 [P;U;GY2[S)^'7*Y]GRO\?H_2?5X/C=?+W]9?N^"K5-FBQO5O 5$VP!98< &33-NH26S9!LKM<5) D$% M*A)OTZBU/6_BD;Y5S^Z>/<7)MFO[N"C6*?E3QF*UIL[&TGGJ\\K2A^_I3RO0UH7[@-=S-X\40E/3Y-:& M=&V[O(MM6Q;3_Y=]") ^)$@?"J0/#=*' >EC#M+',4@?)R!] M\!E*(RBB^&UL4$L! A0# M% @ VY5?61\08M/N *P( !$ ( !KP &1O8U!R M;W!S+V-O&UL4$L! A0#% @ VY5?69E8.Y$_L% #7'P & @($-" >&PO=V]R:W-H965T M&UL4$L! A0#% @ VY5?6:-\FCT5!P IAX !@ M ("!/@X 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ VY5?6:OBB9:N#@ ;YH !@ ("!=R$ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?6?'" MZ)%C!@ BA !@ ("!@#\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ VY5?690NJM,L! :0H !D ("!\FD 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?6;&> MM?-3# 9#P !D ("!3($ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?643(7T.X!0 3PX !D M ("!>)H 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ VY5?62IP4E8D @ 304 !D ("! M'JD 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ VY5?69ID#%PS!@ K!8 !D ("!_<@ 'AL+W=O&UL4$L! A0#% @ VY5?67DDT30O M!@ /QP !D ("!_=8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?656;!$./ @ S@< !D M ("!H>D 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ VY5?6&PO=V]R:W-H965T&UL4$L! A0#% @ MVY5?67RP_YSW P 81( !D ("!2?X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?64AM BV: @ (08 !D M ("!U!,! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ VY5?6> &0G3I! 8A< !D ("!&PO=V]R:W-H965T0( $X& 9 " M@=TE 0!X;"]W;W)K&UL4$L! A0#% @ VY5? M66HE5TLQ @ Z@0 !D ("!C2@! 'AL+W=O<" "P"@ &0 M @('U*@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?60N^+/SO P D0\ M !D ("!OS$! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?6>IG:*;_ @ /0@ !D M ("!4SL! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ VY5?6?;DX1Z# @ QP8 !D ("!.40! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?648W MT_!F @ 904 !D ("!^4T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?60WC]TZL P SA, !D M ("!XUP! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ VY5?61^CS.WB! U2 !D ("! MC&T! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ VY5?64W.(DF7 @ RP< !D ("!Z'@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ VY5?69H(6V6^ M @ 40< !D ("!%8,! 'AL+W=O&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " #;E5]9 M0&L7N@ " #&*0 $P @ &XD@$ 6T-O;G1E;G1?5'EP97-= :+GAM;%!+!08 4 !0 .<5 #IE $ ! end XML 84 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 85 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 87 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.3 html 263 292 1 false 53 0 false 8 false false R1.htm 995200090 - Document - Document and Entity Information Sheet http://www.willdan.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 4 false false R5.htm 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 995210101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompany ORGANIZATION AND OPERATIONS OF THE COMPANY Notes 7 false false R8.htm 995210201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS Sheet http://www.willdan.com/role/DisclosureRecentAccountingPronouncements RECENT ACCOUNTING PRONOUNCEMENTS Notes 8 false false R9.htm 995210301 - Disclosure - REVENUES Sheet http://www.willdan.com/role/DisclosureRevenues REVENUES Notes 9 false false R10.htm 995210401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData SUPPLEMENTAL FINANCIAL STATEMENT DATA Notes 10 false false R11.htm 995210501 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS Sheet http://www.willdan.com/role/DisclosureDerivativeFinancialInstruments DERIVATIVE FINANCIAL INSTRUMENTS Notes 11 false false R12.htm 995210601 - Disclosure - DEBT OBLIGATIONS Sheet http://www.willdan.com/role/DisclosureDebtObligations DEBT OBLIGATIONS Notes 12 false false R13.htm 995210701 - Disclosure - LEASES Sheet http://www.willdan.com/role/DisclosureLeases LEASES Notes 13 false false R14.htm 995210801 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES Sheet http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntities COMMITMENTS AND VARIABLE INTEREST ENTITIES Notes 14 false false R15.htm 995210901 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation SEGMENT AND GEOGRAPHICAL INFORMATION Notes 15 false false R16.htm 995211001 - Disclosure - INCOME TAXES Sheet http://www.willdan.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 16 false false R17.htm 995211101 - Disclosure - EARNINGS PER SHARE ("EPS") Sheet http://www.willdan.com/role/DisclosureEarningsPerShareeps EARNINGS PER SHARE ("EPS") Notes 17 false false R18.htm 995211201 - Disclosure - CONTINGENCIES Sheet http://www.willdan.com/role/DisclosureContingencies CONTINGENCIES Notes 18 false false R19.htm 995211301 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.willdan.com/role/DisclosureSubsequentEvents SUBSEQUENT EVENTS Notes 19 false false R20.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 20 false false R21.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 21 false false R22.htm 99920102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies) Policies 22 false false R23.htm 99930303 - Disclosure - REVENUES (Tables) Sheet http://www.willdan.com/role/DisclosureRevenuesTables REVENUES (Tables) Tables http://www.willdan.com/role/DisclosureRevenues 23 false false R24.htm 99930403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables) Tables http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData 24 false false R25.htm 99930503 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS (Tables) Sheet http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsTables DERIVATIVE FINANCIAL INSTRUMENTS (Tables) Tables http://www.willdan.com/role/DisclosureDerivativeFinancialInstruments 25 false false R26.htm 99930603 - Disclosure - DEBT OBLIGATIONS (Tables) Sheet http://www.willdan.com/role/DisclosureDebtObligationsTables DEBT OBLIGATIONS (Tables) Tables http://www.willdan.com/role/DisclosureDebtObligations 26 false false R27.htm 99930703 - Disclosure - LEASES (Tables) Sheet http://www.willdan.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.willdan.com/role/DisclosureLeases 27 false false R28.htm 99930903 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) Tables http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation 28 false false R29.htm 99931103 - Disclosure - EARNINGS PER SHARE ("EPS") (Tables) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareepsTables EARNINGS PER SHARE ("EPS") (Tables) Tables http://www.willdan.com/role/DisclosureEarningsPerShareeps 29 false false R30.htm 99940101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) Details 30 false false R31.htm 99940102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details) Details 31 false false R32.htm 99940201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS (Details) Sheet http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails RECENT ACCOUNTING PRONOUNCEMENTS (Details) Details http://www.willdan.com/role/DisclosureRecentAccountingPronouncements 32 false false R33.htm 99940301 - Disclosure - REVENUES - Segment Information (Details) Sheet http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails REVENUES - Segment Information (Details) Details 33 false false R34.htm 99940302 - Disclosure - REVENUES - General Information (Details) Sheet http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails REVENUES - General Information (Details) Details 34 false false R35.htm 99940401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) Details 35 false false R36.htm 99940402 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) Details 36 false false R37.htm 99940403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) Details 37 false false R38.htm 99940404 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) Details 38 false false R39.htm 99940405 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details) Details 39 false false R40.htm 99940406 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) Details 40 false false R41.htm 99940407 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details) Details 41 false false R42.htm 99940501 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - General Information (Details) Sheet http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails DERIVATIVE FINANCIAL INSTRUMENTS - General Information (Details) Details 42 false false R43.htm 99940502 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Cash Flow Hedge Effectiveness (Details) Sheet http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails DERIVATIVE FINANCIAL INSTRUMENTS - Cash Flow Hedge Effectiveness (Details) Details 43 false false R44.htm 99940503 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Fair Value (Details) Sheet http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails DERIVATIVE FINANCIAL INSTRUMENTS - Fair Value (Details) Details 44 false false R45.htm 99940504 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Accumulated Other Comprehensive Income (Loss) (Details) Sheet http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails DERIVATIVE FINANCIAL INSTRUMENTS - Accumulated Other Comprehensive Income (Loss) (Details) Details 45 false false R46.htm 99940601 - Disclosure - DEBT OBLIGATIONS - Composition (Details) Sheet http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails DEBT OBLIGATIONS - Composition (Details) Details 46 false false R47.htm 99940602 - Disclosure - DEBT OBLIGATIONS - Classification (Details) Sheet http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails DEBT OBLIGATIONS - Classification (Details) Details 47 false false R48.htm 99940603 - Disclosure - DEBT OBLIGATIONS - New Credit Facilities (Details) Sheet http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails DEBT OBLIGATIONS - New Credit Facilities (Details) Details 48 false false R49.htm 99940701 - Disclosure - LEASES - General Information (Details) Sheet http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails LEASES - General Information (Details) Details 49 false false R50.htm 99940702 - Disclosure - LEASES - Lease Expense (Details) Sheet http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails LEASES - Lease Expense (Details) Details 50 false false R51.htm 99940703 - Disclosure - LEASES - Consolidated Balance Sheet (Details) Sheet http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails LEASES - Consolidated Balance Sheet (Details) Details 51 false false R52.htm 99940704 - Disclosure - LEASES - Additional Information (Details) Sheet http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails LEASES - Additional Information (Details) Details 52 false false R53.htm 99940705 - Disclosure - LEASES - Rent Expense (Details) Sheet http://www.willdan.com/role/DisclosureLeasesRentExpenseDetails LEASES - Rent Expense (Details) Details 53 false false R54.htm 99940706 - Disclosure - LEASES - Supplemental Cash Flow Information (Details) Sheet http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails LEASES - Supplemental Cash Flow Information (Details) Details 54 false false R55.htm 99940707 - Disclosure - LEASES - Operating Leases - Maturities of Lease Liabilities (Details) Sheet http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails LEASES - Operating Leases - Maturities of Lease Liabilities (Details) Details 55 false false R56.htm 99940708 - Disclosure - LEASES - Operating Leases - Gross Difference (Details) Sheet http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails LEASES - Operating Leases - Gross Difference (Details) Details 56 false false R57.htm 99940709 - Disclosure - LEASES - Finance Leases - Maturities of Lease Liabilities (Details) Sheet http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails LEASES - Finance Leases - Maturities of Lease Liabilities (Details) Details 57 false false R58.htm 99940710 - Disclosure - LEASES - Finance Leases - Gross Difference (Details) Sheet http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails LEASES - Finance Leases - Gross Difference (Details) Details 58 false false R59.htm 99940801 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details) Sheet http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details) Details 59 false false R60.htm 99940802 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details) Sheet http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details) Details 60 false false R61.htm 99940901 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) Details 61 false false R62.htm 99940902 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) Details 62 false false R63.htm 99940903 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) Details 63 false false R64.htm 99940904 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) Details 64 false false R65.htm 99940905 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationGeographicalInformationDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details) Details 65 false false R66.htm 99940906 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) Details 66 false false R67.htm 99941001 - Disclosure - INCOME TAXES - Valuation Allowance (Details) Sheet http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails INCOME TAXES - Valuation Allowance (Details) Details 67 false false R68.htm 99941002 - Disclosure - INCOME TAXES - Uncertain Tax Positions (Details) Sheet http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails INCOME TAXES - Uncertain Tax Positions (Details) Details 68 false false R69.htm 99941003 - Disclosure - INCOME TAXES - Income Tax Expense (Benefit) (Details) Sheet http://www.willdan.com/role/DisclosureIncomeTaxesIncomeTaxExpenseBenefitDetails INCOME TAXES - Income Tax Expense (Benefit) (Details) Details 69 false false R70.htm 99941101 - Disclosure - EARNINGS PER SHARE ("EPS") - Computation (Details) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails EARNINGS PER SHARE ("EPS") - Computation (Details) Details http://www.willdan.com/role/DisclosureEarningsPerShareepsTables 70 false false R71.htm 99941102 - Disclosure - EARNINGS PER SHARE ("EPS") - Antidilutive Securities (Details) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails EARNINGS PER SHARE ("EPS") - Antidilutive Securities (Details) Details http://www.willdan.com/role/DisclosureEarningsPerShareepsTables 71 false false R72.htm 99941301 - Disclosure - SUBSEQUENT EVENTS (Details) Sheet http://www.willdan.com/role/DisclosureSubsequentEventsDetails SUBSEQUENT EVENTS (Details) Details http://www.willdan.com/role/DisclosureSubsequentEvents 72 false false All Reports Book All Reports wldn-20240927.xsd wldn-20240927_cal.xml wldn-20240927_def.xml wldn-20240927_lab.xml wldn-20240927_pre.xml wldn-20240927x10q.htm http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 90 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "wldn-20240927x10q.htm": { "nsprefix": "wldn", "nsuri": "http://www.willdan.com/20240927", "dts": { "schema": { "local": [ "wldn-20240927.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/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/2023/calculation-1.1.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "wldn-20240927_cal.xml" ] }, "definitionLink": { "local": [ "wldn-20240927_def.xml" ] }, "labelLink": { "local": [ "wldn-20240927_lab.xml" ] }, "presentationLink": { "local": [ "wldn-20240927_pre.xml" ] }, "inline": { "local": [ "wldn-20240927x10q.htm" ] } }, "keyStandard": 262, "keyCustom": 30, "axisStandard": 21, "axisCustom": 0, "memberStandard": 35, "memberCustom": 18, "hidden": { "total": 19, "http://fasb.org/us-gaap/2024": 16, "http://xbrl.sec.gov/dei/2024": 3 }, "contextCount": 263, "entityCount": 1, "segmentCount": 53, "elementCount": 598, "unitCount": 8, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 931, "http://xbrl.sec.gov/dei/2024": 30, "http://xbrl.sec.gov/ecd/2024": 2 }, "report": { "R1": { "role": "http://www.willdan.com/role/DocumentDocumentAndEntityInformation", "longName": "995200090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:RestrictedCashCurrent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R3": { "role": "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "longName": "995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:CostDirectLabor", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R5": { "role": "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "As_Of_12_30_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_v9GSZDQeJESkv1yZKCtOJw", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_12_31_2022_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_DFt5cjWRUUGYDlnqbgTYiA", "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R6": { "role": "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompany", "longName": "995210101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.willdan.com/role/DisclosureRecentAccountingPronouncements", "longName": "995210201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS", "shortName": "RECENT ACCOUNTING PRONOUNCEMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.willdan.com/role/DisclosureRevenues", "longName": "995210301 - Disclosure - REVENUES", "shortName": "REVENUES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData", "longName": "995210401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.willdan.com/role/DisclosureDerivativeFinancialInstruments", "longName": "995210501 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS", "shortName": "DERIVATIVE FINANCIAL INSTRUMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.willdan.com/role/DisclosureDebtObligations", "longName": "995210601 - Disclosure - DEBT OBLIGATIONS", "shortName": "DEBT OBLIGATIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.willdan.com/role/DisclosureLeases", "longName": "995210701 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntities", "longName": "995210801 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES", "shortName": "COMMITMENTS AND VARIABLE INTEREST ENTITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:CommitmentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:CommitmentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation", "longName": "995210901 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.willdan.com/role/DisclosureIncomeTaxes", "longName": "995211001 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.willdan.com/role/DisclosureEarningsPerShareeps", "longName": "995211101 - Disclosure - EARNINGS PER SHARE (\"EPS\")", "shortName": "EARNINGS PER SHARE (\"EPS\")", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.willdan.com/role/DisclosureContingencies", "longName": "995211201 - Disclosure - CONTINGENCIES", "shortName": "CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.willdan.com/role/DisclosureSubsequentEvents", "longName": "995211301 - Disclosure - SUBSEQUENT EVENTS", "shortName": "SUBSEQUENT EVENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": null }, "R21": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies", "longName": "99920102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies)", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "22", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.willdan.com/role/DisclosureRevenuesTables", "longName": "99930303 - Disclosure - REVENUES (Tables)", "shortName": "REVENUES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:ScheduleOfByTypeAndReportableSegmentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:ScheduleOfByTypeAndReportableSegmentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables", "longName": "99930403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsTables", "longName": "99930503 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS (Tables)", "shortName": "DERIVATIVE FINANCIAL INSTRUMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.willdan.com/role/DisclosureDebtObligationsTables", "longName": "99930603 - Disclosure - DEBT OBLIGATIONS (Tables)", "shortName": "DEBT OBLIGATIONS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.willdan.com/role/DisclosureLeasesTables", "longName": "99930703 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables", "longName": "99930903 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION (Tables)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.willdan.com/role/DisclosureEarningsPerShareepsTables", "longName": "99931103 - Disclosure - EARNINGS PER SHARE (\"EPS\") (Tables)", "shortName": "EARNINGS PER SHARE (\"EPS\") (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails", "longName": "99940101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details)", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "30", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_qApaoNmvmECyfuRyDQ1J9w", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportableSegments", "us-gaap:NumberOfReportableSegments", "us-gaap:NumberOfReportableSegments", "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": null }, "R31": { "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "longName": "99940102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details)", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "31", "firstAnchor": { "contextRef": "Duration_9_28_2024_To_12_27_2024_3hMW2lpdAEuXwS61GZLqsA", "name": "us-gaap:FiscalPeriodDuration", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "p", "us-gaap:FiscalPeriod", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_9_28_2024_To_12_27_2024_3hMW2lpdAEuXwS61GZLqsA", "name": "us-gaap:FiscalPeriodDuration", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "p", "us-gaap:FiscalPeriod", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails", "longName": "99940201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS (Details)", "shortName": "RECENT ACCOUNTING PRONOUNCEMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "As_Of_9_27_2024_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202309Member_IQtvsQ_lREyAHXjyFNtqdQ", "name": "us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202309Member_IQtvsQ_lREyAHXjyFNtqdQ", "name": "us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails", "longName": "99940301 - Disclosure - REVENUES - Segment Information (Details)", "shortName": "REVENUES - Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_qApaoNmvmECyfuRyDQ1J9w", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportableSegments", "us-gaap:NumberOfReportableSegments", "us-gaap:NumberOfReportableSegments", "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": null }, "R34": { "role": "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "longName": "99940302 - Disclosure - REVENUES - General Information (Details)", "shortName": "REVENUES - General Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "wldn:LaborAndRelatedExpenseExcludingStockBasedCompensation", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:RevenueOfTheEntityAsAnAgent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R35": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails", "longName": "99940401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:RestrictedCash", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R36": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails", "longName": "99940402 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R37": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails", "longName": "99940403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": null }, "R38": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails", "longName": "99940404 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "wldn:AccruedSubcontractorCosts", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "wldn:AccruedSubcontractorCosts", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails", "longName": "99940405 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_12_29_2023_xDpjwk0ri0GTY1LkBFcLdg", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_29_2023_us-gaap_StatementBusinessSegmentsAxis_wldn_EnergyMember_5kqiwTqZV0uy_u343Z_FrQ", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R40": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails", "longName": "99940406 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "longName": "99940407 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details)", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_9_27_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_beVJCfUfvUu3Y1zfWT3RJg", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OrderOrProductionBacklogMember_beVJCfUfvUu3Y1zfWT3RJg", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails", "longName": "99940501 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - General Information (Details)", "shortName": "DERIVATIVE FINANCIAL INSTRUMENTS - General Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "Duration_11_30_2023_To_11_30_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_Bwb6DdwM90u_9mc8dGlDhQ", "name": "us-gaap:DerivativeInceptionDates", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_11_30_2023_To_11_30_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_Bwb6DdwM90u_9mc8dGlDhQ", "name": "us-gaap:DerivativeInceptionDates", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails", "longName": "99940502 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Cash Flow Hedge Effectiveness (Details)", "shortName": "DERIVATIVE FINANCIAL INSTRUMENTS - Cash Flow Hedge Effectiveness (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails", "longName": "99940503 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Fair Value (Details)", "shortName": "DERIVATIVE FINANCIAL INSTRUMENTS - Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_12_29_2023_xDpjwk0ri0GTY1LkBFcLdg", "name": "us-gaap:DerivativeAssetsCurrent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_29_2023_xDpjwk0ri0GTY1LkBFcLdg", "name": "us-gaap:DerivativeAssetsCurrent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "longName": "99940504 - Disclosure - DERIVATIVE FINANCIAL INSTRUMENTS - Accumulated Other Comprehensive Income (Loss) (Details)", "shortName": "DERIVATIVE FINANCIAL INSTRUMENTS - Accumulated Other Comprehensive Income (Loss) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_6_28_2024_Y_lMske_P0iTS1LUz6v9Ww", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_29_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_aBWE8zS4OEm0xuQRte6rNg", "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R46": { "role": "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "longName": "99940601 - Disclosure - DEBT OBLIGATIONS - Composition (Details)", "shortName": "DEBT OBLIGATIONS - Composition (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails", "longName": "99940602 - Disclosure - DEBT OBLIGATIONS - Classification (Details)", "shortName": "DEBT OBLIGATIONS - Classification (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:LongTermDebt", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:LongTermDebtCurrent", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R48": { "role": "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails", "longName": "99940603 - Disclosure - DEBT OBLIGATIONS - New Credit Facilities (Details)", "shortName": "DEBT OBLIGATIONS - New Credit Facilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_9_27_2024_us-gaap_DebtInstrumentAxis_wldn_CreditAgreement2023Member_us-gaap_LongtermDebtTypeAxis_us-gaap_NotesPayableToBanksMember_hgBCqDLlM0KQSVbwyn50Yw", "name": "wldn:DebtInstrumentCompositeInterestRate", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_us-gaap_DebtInstrumentAxis_wldn_CreditAgreement2023Member_us-gaap_LongtermDebtTypeAxis_us-gaap_NotesPayableToBanksMember_hgBCqDLlM0KQSVbwyn50Yw", "name": "wldn:DebtInstrumentCompositeInterestRate", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "longName": "99940701 - Disclosure - LEASES - General Information (Details)", "shortName": "LEASES - General Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails", "longName": "99940702 - Disclosure - LEASES - Lease Expense (Details)", "shortName": "LEASES - Lease Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "longName": "99940703 - Disclosure - LEASES - Consolidated Balance Sheet (Details)", "shortName": "LEASES - Consolidated Balance Sheet (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R52": { "role": "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails", "longName": "99940704 - Disclosure - LEASES - Additional Information (Details)", "shortName": "LEASES - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.willdan.com/role/DisclosureLeasesRentExpenseDetails", "longName": "99940705 - Disclosure - LEASES - Rent Expense (Details)", "shortName": "LEASES - Rent Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "wldn:OperatingLeaseRentExpenses", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "wldn:OperatingLeaseRentExpenses", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "longName": "99940706 - Disclosure - LEASES - Supplemental Cash Flow Information (Details)", "shortName": "LEASES - Supplemental Cash Flow Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails", "longName": "99940707 - Disclosure - LEASES - Operating Leases - Maturities of Lease Liabilities (Details)", "shortName": "LEASES - Operating Leases - Maturities of Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "longName": "99940708 - Disclosure - LEASES - Operating Leases - Gross Difference (Details)", "shortName": "LEASES - Operating Leases - Gross Difference (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R57": { "role": "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails", "longName": "99940709 - Disclosure - LEASES - Finance Leases - Maturities of Lease Liabilities (Details)", "shortName": "LEASES - Finance Leases - Maturities of Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "longName": "99940710 - Disclosure - LEASES - Finance Leases - Gross Difference (Details)", "shortName": "LEASES - Finance Leases - Gross Difference (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FinanceLeaseLiabilityPaymentsDue", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R59": { "role": "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails", "longName": "99940801 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details)", "shortName": "COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_us-gaap_RetirementPlanNameAxis_wldn_QualifiedCashOrDeferredArrangementMember_WQc-MBgLkEagcAjoEBftCQ", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_us-gaap_RetirementPlanNameAxis_wldn_QualifiedCashOrDeferredArrangementMember_WQc-MBgLkEagcAjoEBftCQ", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails", "longName": "99940802 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details)", "shortName": "COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:VariableInterestEntityPercentageOfCostsReimbursed", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_12_30_2023_To_9_27_2024_y2KsvvQT9UmOPxcq_C6b1Q", "name": "wldn:VariableInterestEntityPercentageOfCostsReimbursed", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails", "longName": "99940901 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_qApaoNmvmECyfuRyDQ1J9w", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportableSegments", "us-gaap:NumberOfReportableSegments", "us-gaap:NumberOfReportableSegments", "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": null }, "R62": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "longName": "99940902 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_wldn_EnergyMember_G6XaAzjYTkSOIIZi-mdE6A", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R63": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "longName": "99940903 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:Assets", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_29_2023_PrfPd0KSjkWn4-fmYCbvzw", "name": "us-gaap:Assets", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R64": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "longName": "99940904 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_srt_StatementGeographicalAxis_country_US_WLIT1QbSoU2x6Q9AY5EL7g", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R65": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationGeographicalInformationDetails", "longName": "99940905 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:NumberOfStatesInWhichEntityOperates", "unitRef": "Unit_Standard_state_WWg5e-tPvE-i6YSdhzCvTQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:NumberOfStatesInWhichEntityOperates", "unitRef": "Unit_Standard_state_WWg5e-tPvE-i6YSdhzCvTQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "longName": "99940906 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details)", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_srt_MajorCustomersAxis_wldn_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cr0LOFW0b0m3vjQIVSLmaw", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_srt_MajorCustomersAxis_wldn_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cr0LOFW0b0m3vjQIVSLmaw", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_8_tF4YesOk-tlwKyHIuYmg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails", "longName": "99941001 - Disclosure - INCOME TAXES - Valuation Allowance (Details)", "shortName": "INCOME TAXES - Valuation Allowance (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "As_Of_12_29_2023_xDpjwk0ri0GTY1LkBFcLdg", "name": "us-gaap:DeferredTaxAssetsValuationAllowance", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_29_2023_xDpjwk0ri0GTY1LkBFcLdg", "name": "us-gaap:DeferredTaxAssetsValuationAllowance", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails", "longName": "99941002 - Disclosure - INCOME TAXES - Uncertain Tax Positions (Details)", "shortName": "INCOME TAXES - Uncertain Tax Positions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_27_2024_edBf2yAcQ0CKEXj0VFhYmA", "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.willdan.com/role/DisclosureIncomeTaxesIncomeTaxExpenseBenefitDetails", "longName": "99941003 - Disclosure - INCOME TAXES - Income Tax Expense (Benefit) (Details)", "shortName": "INCOME TAXES - Income Tax Expense (Benefit) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": null }, "R70": { "role": "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "longName": "99941101 - Disclosure - EARNINGS PER SHARE (\"EPS\") - Computation (Details)", "shortName": "EARNINGS PER SHARE (\"EPS\") - Computation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_6_29_2024_To_9_27_2024_Y7dBQFkK4EOeKwP8r-RG4A", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "Unit_Standard_USD_S0oqhV8wBk2ghPYBE8uadA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "unique": true } }, "R71": { "role": "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails", "longName": "99941102 - Disclosure - EARNINGS PER SHARE (\"EPS\") - Antidilutive Securities (Details)", "shortName": "EARNINGS PER SHARE (\"EPS\") - Antidilutive Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "Duration_7_1_2023_To_9_29_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_StockCompensationPlanMember_LPlZdSwZKkq7YQ9ujXoeYQ", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_4JI3uIcRLUOxdLt9-MKEfA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2023_To_9_29_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_StockCompensationPlanMember_LPlZdSwZKkq7YQ9ujXoeYQ", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_4JI3uIcRLUOxdLt9-MKEfA", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } }, "R72": { "role": "http://www.willdan.com/role/DisclosureSubsequentEventsDetails", "longName": "99941301 - Disclosure - SUBSEQUENT EVENTS (Details)", "shortName": "SUBSEQUENT EVENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "Duration_10_23_2024_To_10_23_2024_us-gaap_AssetAcquisitionAxis_wldn_EnicaEngineeringPllcMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_q5dDQYNlTkmdG8lfW_I0Zw", "name": "us-gaap:AssetAcquisitionEffectiveDateOfAcquisition", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_23_2024_To_10_23_2024_us-gaap_AssetAcquisitionAxis_wldn_EnicaEngineeringPllcMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_q5dDQYNlTkmdG8lfW_I0Zw", "name": "us-gaap:AssetAcquisitionEffectiveDateOfAcquisition", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "wldn-20240927x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingStandardsUpdate202306Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingStandardsUpdate202306Member", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update 2023-06 [Member]", "terseLabel": "Accounting Standards Update 2023-06", "documentation": "Accounting Standards Update 2023-06 Disclosure Improvements - Codification Amendments in Response to the SEC's Disclosure Update and Simplification Initiative." } } }, "auth_ref": [ "r145" ] }, "us-gaap_AccountingStandardsUpdate202307Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingStandardsUpdate202307Member", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update 2023-07 [Member]", "terseLabel": "Accounting Standards Update 2023-07", "documentation": "Accounting Standards Update 2023-07 Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures." } } }, "auth_ref": [ "r269", "r270" ] }, "us-gaap_AccountingStandardsUpdate202309Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingStandardsUpdate202309Member", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update 2023-09 [Member]", "terseLabel": "Accounting Standards Update 2023-09", "documentation": "Accounting Standards Update 2023-09 Income Taxes (Topic 740): Improvements to Income Tax Disclosures." } } }, "auth_ref": [ "r455", "r456", "r457" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r68", "r816" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of $1,465 and $866 at September 27, 2024 and December 29, 2023, respectively", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r963" ] }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrentAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current [Abstract]", "terseLabel": "Accounts Receivable, after Allowance for Credit Loss, Current" } } }, "auth_ref": [] }, "wldn_AccruedAccountingAndTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "AccruedAccountingAndTaxesCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Accrued Accounting and Taxes, Current", "label": "Accrued Accounting and Taxes, Current", "terseLabel": "Accrued accounting costs and taxes" } } }, "auth_ref": [] }, "us-gaap_AccruedBonusesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedBonusesCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Bonuses, Current", "terseLabel": "Accrued bonuses", "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)." } } }, "auth_ref": [ "r70" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r70" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued Liabilities" } } }, "auth_ref": [] }, "wldn_AccruedRebatesAndOtherCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "AccruedRebatesAndOtherCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Accrued Rebates and Other, Current", "label": "Accrued Rebates and Other, Current", "terseLabel": "Rebate and other" } } }, "auth_ref": [] }, "wldn_AccruedSubcontractorCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "AccruedSubcontractorCosts", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to Accrued Subcontractor Cost and services.", "label": "Accrued Subcontractor Costs", "terseLabel": "Accrued subcontractor costs" } } }, "auth_ref": [] }, "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]", "terseLabel": "Gain (Loss) on Derivative Instruments", "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." } } }, "auth_ref": [ "r165", "r173", "r174", "r486", "r769", "r940" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r172", "r173", "r527", "r529", "r530", "r531", "r532", "r533" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated other comprehensive loss", "terseLabel": "Accumulated other comprehensive income (loss)", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r13", "r14", "r83", "r159", "r626", "r660", "r664" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r172", "r173", "r527", "r529", "r530", "r531", "r532", "r533" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "verboseLabel": "Accumulated Other Comprehensive Loss", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r1", "r6", "r14", "r499", "r502", "r567", "r655", "r656", "r940", "r941", "r942", "r950", "r951", "r952", "r953" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r879" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r78" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r675", "r950", "r951", "r952", "r953", "r1065", "r1127" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r892" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r892" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r892" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r892" ] }, "us-gaap_AdjustmentForAmortizationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentForAmortizationAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Amortization [Abstract]", "terseLabel": "Amortization Expense" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update [Axis]", "documentation": "Information by amendment to accounting standards." } } }, "auth_ref": [ "r140", "r141", "r142", "r143", "r144", "r145", "r196", "r197", "r198", "r200", "r210", "r269", "r270", "r275", "r276", "r277", "r278", "r281", "r282", "r283", "r284", "r285", "r286", "r311", "r312", "r321", "r453", "r454", "r455", "r456", "r457", "r463", "r464", "r465", "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r504", "r505", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r516", "r517", "r518", "r519", "r524", "r525", "r536", "r537", "r538", "r561", "r563", "r564", "r565", "r566", "r567", "r580", "r581", "r582", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664" ] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Used to Pay Taxes on Stock Grants, Value", "negatedLabel": "Shares used to pay taxes on stock grants", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r42", "r43", "r409" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table" } } }, "auth_ref": [ "r925" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r851", "r861", "r871", "r903" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r854", "r864", "r874", "r906" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Pension Adjustments Service Cost [Member]", "terseLabel": "Aggregate Pension Adjustments Service Cost" } } }, "auth_ref": [ "r926" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r892" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r899" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r855", "r865", "r875", "r899", "r907", "r911", "r919" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r917" ] }, "wldn_AllocationOfFacilitiesCostsToDirectCostsOfContractRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "AllocationOfFacilitiesCostsToDirectCostsOfContractRevenue", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of facilities costs allocated to direct costs of contract revenue.", "label": "Allocation Of Facilities Costs To Direct Costs Of Contract Revenue", "terseLabel": "Allocation of facilities costs to contract revenue" } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Accounts receivable, allowance for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r160", "r272", "r287" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Antidilutive securities excluded from computation of earnings per share (in shares)", "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." } } }, "auth_ref": [ "r229" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r24" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r24" ] }, "us-gaap_AssetAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetAcquisitionAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition [Axis]", "documentation": "Information by asset acquisition." } } }, "auth_ref": [ "r302", "r303", "r304", "r305", "r306", "r1059" ] }, "us-gaap_AssetAcquisitionConsiderationTransferred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetAcquisitionConsiderationTransferred", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition, Consideration Transferred", "terseLabel": "Purchase price", "documentation": "Amount of consideration transferred in asset acquisition. Includes, but is not limited to, cash, liability incurred by acquirer, and equity interest issued by acquirer." } } }, "auth_ref": [ "r805", "r1060", "r1061", "r1062" ] }, "us-gaap_AssetAcquisitionContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetAcquisitionContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition, Contingent Consideration, Liability", "terseLabel": "Contingent consideration payable on asset acquisition", "documentation": "Amount of liability recognized from contingent consideration in asset acquisition." } } }, "auth_ref": [ "r1059" ] }, "us-gaap_AssetAcquisitionDateOfAcquisitionAgreement": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetAcquisitionDateOfAcquisitionAgreement", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition, Date of Acquisition Agreement", "terseLabel": "Asset acquisition, date of acquisition agreement", "documentation": "Date when asset acquisition agreement is executed, in YYYY-MM-DD format." } } }, "auth_ref": [ "r1059" ] }, "us-gaap_AssetAcquisitionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetAcquisitionDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition [Domain]", "documentation": "Asset acquisition." } } }, "auth_ref": [ "r302", "r303", "r304", "r305", "r306", "r1059" ] }, "wldn_AssetAcquisitionEarnoutConsiderationMeasurementPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "AssetAcquisitionEarnoutConsiderationMeasurementPeriod", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Asset Acquisition, Earnout Consideration, Measurement Period", "label": "Asset Acquisition, Earnout Consideration, Measurement Period", "terseLabel": "Earn-out measurement period" } } }, "auth_ref": [] }, "us-gaap_AssetAcquisitionEffectiveDateOfAcquisition": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetAcquisitionEffectiveDateOfAcquisition", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition, Effective Date of Acquisition", "terseLabel": "Asset acquisition, effective date of acquisition", "documentation": "Date when acquirer obtains control of acquired asset, in YYYY-MM-DD format." } } }, "auth_ref": [ "r1059", "r1060" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "terseLabel": "Segment assets", "totalLabel": "Total assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r114", "r125", "r155", "r187", "r233", "r239", "r257", "r261", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r482", "r487", "r526", "r622", "r703", "r777", "r778", "r816", "r842", "r994", "r995", "r1085" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAndLiabilitiesLesseeAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "verboseLabel": "Operating leases:" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r148", "r161", "r187", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r482", "r487", "r526", "r816", "r994", "r995", "r1085" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "wldn_AutomobilesTrucksAndFieldEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "AutomobilesTrucksAndFieldEquipmentMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "documentation": "Vehicles that are used primarily for transporting people, large vehicles primarily used for transporting cargo and long-lived, depreciable assets used for the primary purpose of field work.", "label": "Automobiles, Trucks and Field Equipment [Member]", "terseLabel": "Automobiles Trucks and Field Equipment" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r914" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r915" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r910" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r910" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r913" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r912" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r911" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r911" ] }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetRelatedDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "SUPPLEMENTAL FINANCIAL STATEMENT DATA" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "wldn_BusinessAcquisitionContingentConsiderationCashPayment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "BusinessAcquisitionContingentConsiderationCashPayment", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of cash payments resulting from the contingent consideration arrangement.", "label": "Business Acquisition, Contingent Consideration, Cash Payment", "negatedLabel": "Payments on contingent consideration" } } }, "auth_ref": [] }, "stpr_CA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/stpr/2024", "localname": "CA", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "CALIFORNIA", "terseLabel": "California" } } }, "auth_ref": [] }, "us-gaap_CapitalLeaseObligationsIncurred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalLeaseObligationsIncurred", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Lease Obligations Incurred", "terseLabel": "Equipment acquired under finance leases", "documentation": "Amount of increase in lease obligation from new lease." } } }, "auth_ref": [ "r21", "r22" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r19", "r150", "r767" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "totalLabel": "Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r19", "r96", "r185" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]", "terseLabel": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents" } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r0", "r96" ] }, "us-gaap_CashFlowHedgingMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashFlowHedgingMember", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cash Flow Hedging [Member]", "terseLabel": "Cash Flow Hedging", "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk." } } }, "auth_ref": [ "r55" ] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "Supplemental disclosures of noncash investing and financing activities:" } } }, "auth_ref": [] }, "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashFlowOperatingActivitiesLesseeAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cash Flow, Operating Activities, Lessee [Abstract]", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities:" } } }, "auth_ref": [] }, "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]", "terseLabel": "Change in Accounting Principle, Accounting Standards Update, Adopted", "documentation": "Indicates (true false) whether accounting standards update was adopted." } } }, "auth_ref": [ "r135", "r136", "r145", "r194", "r269", "r274", "r275", "r276", "r283", "r284", "r311", "r321", "r455", "r463", "r464", "r473", "r474", "r476", "r494", "r495", "r508", "r509", "r524", "r525", "r537", "r561", "r563", "r580", "r581", "r653", "r654" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r890" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]", "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year" } } }, "auth_ref": [ "r887" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]", "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested" } } }, "auth_ref": [ "r885" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r891" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r891" ] }, "wldn_CommercialMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "CommercialMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Commercial [Member]", "label": "Commercial [Member]", "terseLabel": "Commercial" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r74", "r117", "r623", "r690" ] }, "wldn_CommitmentsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "CommitmentsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "COMMITMENTS AND VARIABLE INTEREST ENTITIES" } } }, "auth_ref": [] }, "us-gaap_CommitmentsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsDisclosureTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntities" ], "lang": { "en-us": { "role": { "label": "Commitments Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND VARIABLE INTEREST ENTITIES", "documentation": "The entire disclosure for significant arrangements with third parties, which includes operating lease arrangements and arrangements in which the entity has agreed to expend funds to procure goods or services, or has agreed to commit resources to supply goods or services, and operating lease arrangements. Descriptions may include identification of the specific goods and services, period of time covered, minimum quantities and amounts, and cancellation rights." } } }, "auth_ref": [ "r102" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r830", "r831", "r832", "r834", "r835", "r836", "r839", "r950", "r951", "r953", "r1065", "r1126", "r1127" ] }, "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Common stock" } } }, "auth_ref": [] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r77" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized (in shares)", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r77", "r691" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "terseLabel": "Common stock, shares issued (in shares)", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r77" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (in shares)", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r7", "r77", "r691", "r709", "r1127", "r1128" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.01 par value, 40,000 shares authorized; 14,117 and 13,682 shares issued and outstanding at September 27, 2024 and December 29, 2023, respectively", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r77", "r625", "r816" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r896" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r895" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r897" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r894" ] }, "wldn_CompensationAndPayrollTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "CompensationAndPayrollTaxesCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and obligations and payables pertaining to compensation to employees.", "label": "Compensation and Payroll Taxes Current", "terseLabel": "Compensation and payroll taxes" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income (loss)", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r15", "r169", "r171", "r176", "r619", "r634", "r635" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss):" } } }, "auth_ref": [] }, "wldn_ComputerHardwareAndSoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "ComputerHardwareAndSoftwareMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "documentation": "Long-lived depreciable assets used as a part of information systems and capitalized costs of purchased software applications.", "label": "Computer Hardware and Software [Member]", "terseLabel": "Computer Hardware and Software" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r26", "r28", "r64", "r65", "r268", "r751" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r26", "r28", "r64", "r65", "r268", "r666", "r751" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r26", "r28", "r64", "r65", "r268", "r751", "r933" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r751" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk (as a percent)", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r26", "r28", "r64", "r65", "r268" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk." } } }, "auth_ref": [ "r25", "r26", "r28", "r29", "r64", "r113", "r751" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r26", "r28", "r64", "r65", "r268", "r751" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r123", "r189", "r233", "r241", "r255", "r256", "r257", "r258", "r259", "r261", "r262", "r263", "r331", "r332", "r333", "r334", "r336", "r337", "r338", "r339", "r340", "r777", "r778", "r994", "r995" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r123", "r189", "r233", "r241", "r255", "r256", "r257", "r258", "r259", "r261", "r262", "r263", "r331", "r332", "r333", "r334", "r336", "r337", "r338", "r339", "r340", "r777", "r778", "r994", "r995" ] }, "us-gaap_ConstructionContractorReceivableRetainage": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConstructionContractorReceivableRetainage", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Construction Contractor, Receivable, Retainage", "terseLabel": "Retained accounts receivable", "documentation": "Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional." } } }, "auth_ref": [ "r158", "r576" ] }, "wldn_ContractWithCustomerAssetAndConstructionContractorReceivableRetainageAfterAllowanceForCreditLossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "ContractWithCustomerAssetAndConstructionContractorReceivableRetainageAfterAllowanceForCreditLossCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Contract with Customer, Asset, and Construction Contractor, Receivable, Retainage, after Allowance for Credit Loss, Current", "label": "Contract with Customer, Asset, and Construction Contractor, Receivable, Retainage, after Allowance for Credit Loss, Current", "terseLabel": "Contract assets" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerBasisOfPricingAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Basis of Pricing [Axis]", "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer." } } }, "auth_ref": [ "r794", "r998" ] }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerBasisOfPricingDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Basis of Pricing [Domain]", "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts." } } }, "auth_ref": [ "r794", "r998" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r373", "r374", "r393" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate, Non-Segment", "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." } } }, "auth_ref": [ "r10", "r256", "r257", "r258", "r259", "r262", "r959" ] }, "us-gaap_CostDirectLabor": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostDirectLabor", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Services, Direct Labor", "terseLabel": "Salaries and wages", "documentation": "Cost of labor directly related to good produced and service rendered. Includes, but is not limited to, payroll cost and equity-based compensation." } } }, "auth_ref": [ "r943" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfRevenue", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Revenue", "totalLabel": "Total direct costs of contract revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r86", "r187", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r526", "r777", "r994" ] }, "us-gaap_CostOfRevenueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfRevenueAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Revenue [Abstract]", "terseLabel": "Direct costs of contract revenue (inclusive of directly related depreciation and amortization):" } } }, "auth_ref": [] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfSalesMember", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "terseLabel": "Cost of Sales", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "wldn_CostOfSubcontractorServicesAndOtherDirectCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "CostOfSubcontractorServicesAndOtherDirectCosts", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Subcontractor service costs and other direct costs incurred directly related to services rendered by an entity during the reporting period.", "label": "Cost of Subcontractor Services and Other Direct Costs", "terseLabel": "Subcontractor services and other direct costs" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "wldn_CreditAgreement2023Member": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "CreditAgreement2023Member", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Credit Agreement 2023 [Member]", "label": "Credit Agreement 2023 [Member]", "verboseLabel": "New Credit Facilities" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r99", "r268" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Customer Relationships [Member]", "verboseLabel": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r47", "r976", "r977", "r978", "r979", "r981", "r983", "r985", "r986" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "DEBT OBLIGATIONS" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligations" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "DEBT OBLIGATIONS", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r104", "r186", "r315", "r316", "r317", "r318", "r319", "r329", "r330", "r342", "r348", "r349", "r350", "r351", "r352", "r353", "r358", "r365", "r366", "r368", "r535" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r12", "r69", "r70", "r115", "r116", "r189", "r343", "r344", "r345", "r346", "r347", "r349", "r354", "r355", "r356", "r357", "r359", "r360", "r361", "r362", "r363", "r364", "r785", "r786", "r787", "r788", "r789", "r814", "r947", "r990", "r991", "r992", "r1079", "r1080" ] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "terseLabel": "Total debt", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r12", "r116", "r369" ] }, "wldn_DebtInstrumentCompositeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "DebtInstrumentCompositeInterestRate", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of composite interest rate of debt instrument.", "label": "Debt Instrument Composite Interest Rate", "terseLabel": "Composite interest rate (as a percent)" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Obligations", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r189", "r343", "r344", "r345", "r346", "r347", "r349", "r354", "r355", "r356", "r357", "r359", "r360", "r361", "r362", "r363", "r364", "r367", "r785", "r786", "r787", "r788", "r789", "r814", "r947", "r1079", "r1080" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r12", "r189", "r343", "r344", "r345", "r346", "r347", "r349", "r354", "r355", "r356", "r357", "r359", "r360", "r361", "r362", "r363", "r364", "r785", "r786", "r787", "r788", "r789", "r814", "r947", "r990", "r991", "r992", "r1079", "r1080" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentTable", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table]", "documentation": "Disclosure of information about long-term debt instrument or arrangement." } } }, "auth_ref": [ "r12", "r40", "r41", "r66", "r105", "r106", "r189", "r343", "r344", "r345", "r346", "r347", "r349", "r354", "r355", "r356", "r357", "r359", "r360", "r361", "r362", "r363", "r364", "r367", "r785", "r786", "r787", "r788", "r789", "r814", "r947", "r1079", "r1080" ] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "lang": { "en-us": { "role": { "label": "Debt Issuance Costs, Net", "negatedLabel": "Issuance costs and debt discounts", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r997", "r1078", "r1079", "r1080" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred income taxes, net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r439", "r440" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred income taxes, net", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r4", "r134", "r949" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "terseLabel": "Valuation allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r449" ] }, "us-gaap_DefinedBenefitPlanContributionsByEmployer": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedBenefitPlanContributionsByEmployer", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer", "terseLabel": "Employer matching contributions", "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets." } } }, "auth_ref": [ "r395", "r397", "r398", "r798", "r799", "r800", "r801" ] }, "us-gaap_DefinedContributionPlanDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedContributionPlanDisclosureLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan Disclosure [Line Items]", "terseLabel": "Employee Benefit Plans", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r399" ] }, "wldn_DefinedContributionPlanEmployerMatchingContributionAgeOfEmployees": { "xbrltype": "integerItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "DefinedContributionPlanEmployerMatchingContributionAgeOfEmployees", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Defined Contribution Plan, Employer Matching Contribution, Age of Employees", "label": "Defined Contribution Plan, Employer Matching Contribution, Age of Employees", "terseLabel": "Attained age" } } }, "auth_ref": [] }, "wldn_DefinedContributionPlanEmployerMatchingContributionMaximumAmountPerEmployee": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "DefinedContributionPlanEmployerMatchingContributionMaximumAmountPerEmployee", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Defined Contribution Plan, Employer Matching Contribution, Maximum Amount Per Employee", "label": "Defined Contribution Plan, Employer Matching Contribution, Maximum Amount Per Employee", "terseLabel": "Maximum employer contribution per employee" } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay", "terseLabel": "Defined contribution plan, employer matching contribution, percent of employees' gross pay (as a percent)", "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match", "terseLabel": "Defined contribution plan, employer matching contribution, percent of match (as a percent)", "documentation": "Percentage employer matches of the employee's percentage contribution matched." } } }, "auth_ref": [] }, "wldn_DefinedContributionPlanEmployerMatchingContributionServicePeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "DefinedContributionPlanEmployerMatchingContributionServicePeriod", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Period of services eligible to participate in defined contribution plan.", "label": "Defined Contribution Plan, Employer Matching Contribution, Service Period", "terseLabel": "Service period" } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent", "terseLabel": "Maximum employee contribution as a percentage of compensation under 401(k) Plan (as a percent)", "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan." } } }, "auth_ref": [] }, "wldn_DefinedContributionPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "DefinedContributionPlanMember", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Defined Contribution Plan [Member]", "label": "Defined Contribution Plan [Member]", "terseLabel": "Defined Contribution Plan" } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedContributionPlanTable", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan [Table]", "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans." } } }, "auth_ref": [ "r399" ] }, "us-gaap_DefinedContributionPlanTaxStatusExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DefinedContributionPlanTaxStatusExtensibleList", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Tax Status [Extensible Enumeration]", "terseLabel": "Defined Contribution Plan, Tax Status", "documentation": "Indicates tax status of defined contribution plan designed to provide retirement benefits." } } }, "auth_ref": [] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "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." } } }, "auth_ref": [ "r4", "r38" ] }, "us-gaap_DepreciationAndAmortizationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationAndAmortizationAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r4", "r233", "r244", "r261", "r777", "r778" ] }, "us-gaap_DerivativeAssetCurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetCurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Current, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Derivative Asset, Current, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes derivative asset classified as current." } } }, "auth_ref": [ "r489" ] }, "us-gaap_DerivativeAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetsAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset [Abstract]", "terseLabel": "Derivative Assets" } } }, "auth_ref": [] }, "us-gaap_DerivativeAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Current", "terseLabel": "Derivative asset, current", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r162" ] }, "us-gaap_DerivativeAssetsLiabilitiesAtFairValueNetByBalanceSheetClassificationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetsLiabilitiesAtFairValueNetByBalanceSheetClassificationAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Assets (Liabilities), at Fair Value, Net, by Balance Sheet Classification [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r680", "r682", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r704", "r705", "r706", "r707", "r717", "r718", "r719", "r720", "r723", "r724", "r725", "r726", "r739", "r741", "r744", "r746", "r830", "r832", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074" ] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeFixedInterestRate", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Fixed Interest Rate", "terseLabel": "Fixed rate (as a percent)", "documentation": "Fixed interest rate related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativeInceptionDates": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInceptionDates", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Inception Date", "terseLabel": "Derivative, inception date", "documentation": "Date the entity entered into the derivative contract, in YYYY-MM-DD format." } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r57", "r59", "r60", "r111", "r680", "r682", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r704", "r705", "r706", "r707", "r717", "r718", "r719", "r720", "r723", "r724", "r725", "r726", "r739", "r741", "r744", "r746", "r768", "r830", "r832", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "DERIVATIVE FINANCIAL INSTRUMENTS" } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstruments" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "DERIVATIVE FINANCIAL INSTRUMENTS", "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts." } } }, "auth_ref": [ "r110", "r492", "r507" ] }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Hedging Relationship [Axis]", "documentation": "Information by type of hedging relationship." } } }, "auth_ref": [ "r8", "r57", "r59" ] }, "us-gaap_DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimateOfTimeToTransfer1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimateOfTimeToTransfer1", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments, Gain (Loss) Reclassification from Accumulated OCI to Income, Estimate of Time to Transfer", "terseLabel": "Derivative instruments, gain (loss) reclassification from accumulated OCI to income, estimate of time to transfer", "documentation": "Estimated period for the anticipated transfer of gain (loss), net, from accumulated other comprehensive income into earnings, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimatedNetAmountToBeTransferred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimatedNetAmountToBeTransferred", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments, Gain (Loss) Reclassification from Accumulated OCI to Income, Estimated Net Amount to be Transferred", "terseLabel": "Derivative instruments, gain (loss) reclassification from accumulated OCI to income, estimated net amount to be transferred", "documentation": "The estimated value of gains (losses), net anticipated to be transferred in the future from accumulated other comprehensive income into earnings." } } }, "auth_ref": [ "r506" ] }, "us-gaap_DerivativeLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilitiesAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability [Abstract]", "terseLabel": "Derivative Liabilities" } } }, "auth_ref": [] }, "us-gaap_DerivativeLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Current", "negatedLabel": "Derivative Liability, current", "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." } } }, "auth_ref": [ "r162" ] }, "us-gaap_DerivativeLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilitiesNoncurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Noncurrent", "negatedLabel": "Derivative liability, noncurrent", "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 after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r162" ] }, "us-gaap_DerivativeLiabilityCurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilityCurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Current, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Derivative Liability, Current, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes derivative liability classified as current." } } }, "auth_ref": [ "r489" ] }, "us-gaap_DerivativeLiabilityNoncurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilityNoncurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsFairValueDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Derivative Liability, Noncurrent, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes derivative liability classified as noncurrent." } } }, "auth_ref": [ "r489" ] }, "us-gaap_DerivativeLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative [Line Items]", "terseLabel": "Derivative Financial Instruments", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r507" ] }, "us-gaap_DerivativeMaturityDates": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeMaturityDates", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Contract End Date", "terseLabel": "Derivative, contract end date", "documentation": "Date derivative contract ends, in YYYY-MM-DD format." } } }, "auth_ref": [ "r681", "r682", "r739", "r740", "r742", "r743", "r745", "r832" ] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Notional Amount", "terseLabel": "Notional amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r1063", "r1064" ] }, "us-gaap_DerivativeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeTable", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Derivative [Table]", "documentation": "Disclosure of information about derivative instrument or group of derivative instruments, including, but not limited to, type of derivative instrument, risk being hedged, notional amount, hedge designation, related hedged item, inception date, and maturity date." } } }, "auth_ref": [ "r8", "r52", "r53", "r54", "r56", "r58", "r59", "r61", "r62", "r63", "r507" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Developed Technology Rights [Member]", "verboseLabel": "Developed technology", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r108", "r976", "r977", "r978", "r979", "r981", "r983", "r985", "r986" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r392", "r791", "r792", "r793", "r794", "r795", "r796", "r797" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r392", "r791", "r792", "r793", "r794", "r795", "r796", "r797" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of disaggregation of revenue", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r998" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r846" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r878" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]", "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year" } } }, "auth_ref": [ "r889" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "EARNINGS PER SHARE (EPS)" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r177", "r201", "r202", "r203", "r204", "r205", "r206", "r213", "r216", "r226", "r227", "r228", "r232", "r471", "r480", "r518", "r519", "r620", "r636", "r770" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r177", "r201", "r202", "r203", "r204", "r205", "r206", "r216", "r226", "r227", "r228", "r232", "r471", "r480", "r518", "r519", "r620", "r636", "r770" ] }, "us-gaap_EarningsPerShareDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDilutedAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Earnings (Loss) per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDilutedOtherDisclosuresAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted, Other Disclosure [Abstract]", "terseLabel": "Antidilutive securities" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareeps" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "EARNINGS PER SHARE (EPS)", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r212", "r229", "r230", "r231" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "wldn_EmployeeWithholdings": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "EmployeeWithholdings", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet of the withholding of payables of employees.", "label": "Employee Withholdings", "terseLabel": "Employee withholdings" } } }, "auth_ref": [] }, "wldn_EnergyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "EnergyMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "documentation": "Energy [Member]", "label": "Energy [Member]", "terseLabel": "Energy" } } }, "auth_ref": [] }, "wldn_EngineeringConsultingServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "EngineeringConsultingServicesMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "documentation": "Engineering Consulting Services [Member]", "label": "Engineering Consulting Services [Member]", "terseLabel": "Engineering and Consulting" } } }, "auth_ref": [] }, "wldn_EnicaEngineeringPllcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "EnicaEngineeringPllcMember", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Enica Engineering PLLC, [Member]", "label": "Enica Engineering PLLC, [Member]", "terseLabel": "Enica Engineering, PLLC" } } }, "auth_ref": [] }, "dei_EntitiesTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitiesTable", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails" ], "lang": { "en-us": { "role": { "label": "Entities [Table]", "documentation": "Container to assemble all relevant information about each entity associated with the document instance" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r844" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r844" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r844" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInformationLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails" ], "lang": { "en-us": { "role": { "label": "Entity Information [Line Items]", "terseLabel": "Entity Information", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r928" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r844" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r844" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r844" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r844" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Footnote [Text Block]", "terseLabel": "Equity Awards Adjustments, Footnote" } } }, "auth_ref": [ "r883" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]", "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table" } } }, "auth_ref": [ "r924" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments [Member]", "terseLabel": "Equity Awards Adjustments" } } }, "auth_ref": [ "r924" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table" } } }, "auth_ref": [ "r924" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r7", "r142", "r172", "r173", "r174", "r190", "r191", "r192", "r197", "r205", "r207", "r209", "r234", "r278", "r286", "r312", "r372", "r453", "r454", "r466", "r467", "r468", "r472", "r479", "r480", "r497", "r499", "r500", "r501", "r502", "r505", "r517", "r527", "r529", "r530", "r531", "r532", "r533", "r537", "r539", "r567", "r633", "r655", "r656", "r657", "r675", "r729" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r893" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r851", "r861", "r871", "r903" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r848", "r858", "r868", "r900" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r899" ] }, "us-gaap_FinanceLeaseInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseInterestExpense", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Expense", "verboseLabel": "Interest on lease liabilities", "documentation": "Amount of interest expense on finance lease liability." } } }, "auth_ref": [ "r543", "r550", "r815" ] }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseInterestPaymentOnLiability", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Payment on Liability", "terseLabel": "Operating cash flow from finance leases", "documentation": "Amount of interest paid on finance lease liability." } } }, "auth_ref": [ "r545", "r553" ] }, "us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease Liabilities, Gross Difference, Amount [Abstract]", "terseLabel": "Finance" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease Liabilities, Payments, Due [Abstract]", "terseLabel": "Finance" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiability", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability", "totalLabel": "Total finance lease obligations", "verboseLabel": "Total finance lease obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r541", "r557" ] }, "us-gaap_FinanceLeaseLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease Liability [Abstract]", "terseLabel": "Finance lease obligations" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Current", "netLabel": "Less: Current obligations", "terseLabel": "Finance lease obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r541" ] }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Summary of the Maturities of Finance Lease Liabilities", "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r1084" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Noncurrent", "netLabel": "Noncurrent lease obligations", "terseLabel": "Finance lease obligations, less current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r541" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDue", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payments, Due", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r557" ] }, "wldn_FinanceLeaseLiabilityPaymentsDueAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFour", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finance Lease Liability Payments Due After Year Four", "terseLabel": "2029 and thereafter" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2025", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payments, Due Year Four", "terseLabel": "2028", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payments, Due Year Three", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payments, Due Year Two", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Remainder of 2024", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r1084" ] }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r557" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Capital Lease Obligations", "negatedLabel": "Principal payments on finance leases", "terseLabel": "Financing cash flow from finance leases", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r544", "r553" ] }, "us-gaap_FinanceLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset", "totalLabel": "Total equipment and leasehold improvements, net", "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r540" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization", "negatedLabel": "Accumulated depreciation", "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease." } } }, "auth_ref": [ "r930", "r934" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAfterAccumulatedAmortizationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetAfterAccumulatedAmortizationAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization [Abstract]", "terseLabel": "Finance leases (included in equipment and leasehold improvements, net):" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Amortization", "terseLabel": "Amortization expense", "verboseLabel": "Amortization of assets", "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease." } } }, "auth_ref": [ "r543", "r550", "r815" ] }, "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization", "terseLabel": "Equipment under finance leases", "verboseLabel": "Equipment and leasehold improvements, net", "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r929" ] }, "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Finance Lease, Right-of-Use Asset, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset." } } }, "auth_ref": [ "r542" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Finance leases, weighted average discount rate", "documentation": "Weighted average discount rate for finance lease calculated at point in time." } } }, "auth_ref": [ "r556", "r815" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Remaining Lease Term", "verboseLabel": "Finance leases, weighted average remaining lease term", "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." } } }, "auth_ref": [ "r555", "r815" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Amortization Period", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r153", "r288", "r307", "r784" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r301", "r302", "r303", "r304", "r306", "r307", "r308", "r309", "r579", "r586", "r763" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Amount", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r288", "r307", "r586", "r784" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r301", "r307", "r308", "r309", "r310", "r579", "r763", "r784" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r301", "r302", "r303", "r304", "r306", "r307", "r308", "r309", "r763" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Other intangible assets, net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r579", "r983" ] }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNetAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net [Abstract]", "terseLabel": "Finite-Lived Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_FiscalPeriod": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiscalPeriod", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "lang": { "en-us": { "role": { "label": "Fiscal Period, Policy [Policy Text Block]", "terseLabel": "Fiscal Years", "documentation": "Disclosure of accounting policy for determining an entity's fiscal year or other fiscal period. This disclosure may include identification of the fiscal period end-date, the length of the fiscal period, any reporting period lag between the entity and its subsidiaries, or equity investees. If a reporting lag exists, the closing date of the entity having a different period end is generally noted, along with an explanation of the necessity for using different closing dates. Any intervening events that materially affect the entity's financial position or results of operations are generally also disclosed." } } }, "auth_ref": [ "r48" ] }, "us-gaap_FiscalPeriodDuration": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiscalPeriodDuration", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails" ], "lang": { "en-us": { "role": { "label": "Fiscal Period Duration", "terseLabel": "Length of fiscal period", "documentation": "Duration of a fiscal period, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but not limited to, weeks in a year or quarter." } } }, "auth_ref": [] }, "us-gaap_FixedPriceContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FixedPriceContractMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Fixed-Price Contract [Member]", "terseLabel": "Fixed-Price Contract", "documentation": "Contract with customer in which amount of consideration is fixed." } } }, "auth_ref": [ "r794" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r855", "r865", "r875", "r907" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r855", "r865", "r875", "r907" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r855", "r865", "r875", "r907" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r855", "r865", "r875", "r907" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r855", "r865", "r875", "r907" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]", "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year" } } }, "auth_ref": [ "r888" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and Fixtures", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "(Gain) loss on sale/disposal of equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r4" ] }, "us-gaap_GeographicConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GeographicConcentrationRiskMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Geographic Concentration Risk [Member]", "terseLabel": "Geographic Concentration Risk", "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)." } } }, "auth_ref": [ "r27", "r751" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Goodwill at end of period", "periodStartLabel": "Goodwill at beginning of period", "terseLabel": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r152", "r289", "r617", "r778", "r783", "r808", "r816", "r966", "r973" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r783" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillRollForward", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Roll Forward]", "terseLabel": "Changes in carrying value of goodwill", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "wldn_GovernmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "GovernmentsMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Government [Member]", "label": "Government [Member]", "terseLabel": "Government" } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GrossProfit", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r84", "r86", "r124", "r187", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r526", "r772", "r777", "r956", "r958", "r960", "r961", "r962", "r994" ] }, "us-gaap_HedgingRelationshipDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "HedgingRelationshipDomain", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Hedging Relationship [Domain]", "documentation": "Nature or intent of a hedge." } } }, "auth_ref": [ "r8" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "terseLabel": "Segment profit (loss) before income tax expense", "totalLabel": "Income (Loss) before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r85", "r120", "r124", "r621", "r630", "r772", "r777", "r956", "r958", "r960", "r961", "r962" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r313", "r320", "r322", "r521", "r522", "r523", "r650", "r652", "r714", "r763", "r809", "r1097" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r320", "r322", "r521", "r522", "r523", "r650", "r652", "r714", "r763", "r809", "r1097" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "INCOME TAXES", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r188", "r438", "r442", "r443", "r444", "r445", "r447", "r450", "r458", "r460", "r461", "r462", "r672", "r804" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesIncomeTaxExpenseBenefitDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense (benefit)", "verboseLabel": "Income tax (benefit) expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r128", "r137", "r208", "r209", "r233", "r247", "r261", "r441", "r442", "r459", "r637", "r804" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "terseLabel": "Income taxes", "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r20", "r184", "r451", "r452" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets", "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r945" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Contract liabilities", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r577", "r945" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities, net of effects from business acquisitions:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherOperatingAssets", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets", "documentation": "Amount of increase (decrease) in operating assets classified as other." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInOtherReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherReceivables", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Receivables", "negatedLabel": "Other receivables", "documentation": "Amount of increase (decrease) in receivables classified as other." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r3" ] }, "wldn_IncreaseDecreaseInRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "IncreaseDecreaseInRightOfUseAssets", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right of use assets.", "label": "Increase (Decrease) in Right-of-Use Assets", "negatedLabel": "Right-of-use assets" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "verboseLabel": "Effect of dilutive stock options and restricted stock awards (in shares)", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r217", "r218", "r219", "r228", "r410" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r855", "r865", "r875", "r899", "r907", "r911", "r919" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r917" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r847", "r923" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r847", "r923" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r847", "r923" ] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Nonoperating, Net", "negatedLabel": "Interest expense, net", "terseLabel": "Interest expense, net", "documentation": "Amount of interest income (expense) classified as nonoperating." } } }, "auth_ref": [ "r777", "r944", "r958" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Net", "terseLabel": "Interest", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r179", "r182", "r183" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestRateSwapMember", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Interest Rate Swap [Member]", "terseLabel": "Interest Rate Swap", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r765", "r837", "r838" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Intersegment Eliminations [Member]", "terseLabel": "Intersegment Eliminations", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r123", "r233", "r241", "r255", "r256", "r257", "r258", "r259", "r261", "r262", "r777" ] }, "wldn_LaborAndRelatedExpenseExcludingStockBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LaborAndRelatedExpenseExcludingStockBasedCompensation", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "The aggregate amount of expenditures for salaries and wages (excluding the portion of technical and nontechnical salaries and wages incurred in connection with revenue producing projects) and payroll taxes, bonuses and employee benefit costs for all company personnel, excluding equity-based compensation.", "label": "Labor and Related Expense Excluding Stock Based Compensation", "terseLabel": "Salaries and wages, payroll taxes and employee benefits", "verboseLabel": "Payroll taxes, bonuses and employee benefit costs for all Company personnel" } } }, "auth_ref": [] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCost", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total net lease cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r549", "r815" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Lease cost" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Summary of the Lease Expense", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r1083" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold Improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r101", "r558" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "LEASES" } } }, "auth_ref": [] }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LegalMattersAndContingenciesTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureContingencies" ], "lang": { "en-us": { "role": { "label": "Legal Matters and Contingencies [Text Block]", "terseLabel": "CONTINGENCIES", "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies." } } }, "auth_ref": [ "r103" ] }, "wldn_LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of impact of leases adoption on balance sheet information.", "label": "Lessee Balance Sheet And Other Information Of Leases [Table Text Block]", "terseLabel": "Summary of Lease Information Presented on the Condensed Consolidated Balance Sheet" } } }, "auth_ref": [] }, "us-gaap_LesseeDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeDisclosureAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee Disclosure [Abstract]", "terseLabel": "Leases" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r547", "r559" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r547", "r559" ] }, "wldn_LesseeOperatingAndFinanceLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LesseeOperatingAndFinanceLeasesTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of operating and finance leases.", "label": "Lessee Operating And Finance Leases [Text Block]", "terseLabel": "LEASES" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Operating lease, option to extend", "documentation": "Indicates (true false) whether lessee has option to extend operating lease." } } }, "auth_ref": [ "r548" ] }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseExistenceOfOptionToTerminate", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Existence of Option to Terminate [true false]", "terseLabel": "Operating lease, option to terminate", "documentation": "Indicates (true false) whether lessee has option to terminate operating lease." } } }, "auth_ref": [ "r548" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Summary of the Maturities of Operating Lease Liabilities", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r1084" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r557" ] }, "wldn_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating Lease Liability Payments Due After Year Four", "terseLabel": "2029 and thereafter" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2025", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2028", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r557" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Remainder of 2024", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r1084" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r557" ] }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Remaining Lease Term", "terseLabel": "Operating lease, remaining lease term", "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r559", "r1081" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Operating lease, extension term", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r1082" ] }, "wldn_LesseeOperatingLeaseTerminateTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LesseeOperatingLeaseTerminateTerm", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the term in which the operating lease can be terminated.", "label": "Lessee Operating Lease, Terminate Term", "terseLabel": "Operating lease, terminate term" } } }, "auth_ref": [] }, "wldn_LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other information and supplemental cash flow information related to leases.", "label": "Lessee Other Information And Supplemental Cash Flow Information Of Leases [Table Text Block]", "terseLabel": "Summary of Other Information and Supplemental Cash Flow Information Related to Finance and Operating Leases" } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r12", "r69", "r70", "r71", "r72", "r73", "r74", "r75", "r187", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r483", "r487", "r488", "r526", "r689", "r771", "r842", "r994", "r1085", "r1086" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r82", "r118", "r628", "r816", "r948", "r964", "r1075" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r71", "r149", "r187", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r483", "r487", "r488", "r526", "r816", "r994", "r1085", "r1086" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebt", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt", "terseLabel": "Subtotal", "totalLabel": "Subtotal", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r12", "r116", "r355", "r370", "r786", "r787", "r814", "r1094" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current Maturities", "terseLabel": "Less current portion of long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r156" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt portion", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r157" ] }, "us-gaap_LongTermNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermNotesPayable", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Notes Payable, Noncurrent", "terseLabel": "Notes payable, less current portion", "documentation": "Carrying value as of the balance sheet date of notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion." } } }, "auth_ref": [ "r12" ] }, "us-gaap_LongtermDebtCurrentAndNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongtermDebtCurrentAndNoncurrentAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current and Noncurrent [Abstract]", "terseLabel": "Debt Obligations" } } }, "auth_ref": [] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r12", "r990", "r991", "r992" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r12", "r39", "r990", "r991", "r992" ] }, "wldn_LosAngelesDepartmentOfWaterAndPowerAndDormitoryAuthorityStateOfNewYorkMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "LosAngelesDepartmentOfWaterAndPowerAndDormitoryAuthorityStateOfNewYorkMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Los Angeles Department of Water and Power, and The Dormitory Authority State of New York [Member]", "label": "Los Angeles Department of Water and Power, and The Dormitory Authority State of New York [Member]", "terseLabel": "Los Angeles Department of Water and Power, and The Dormitory Authority State of New York" } } }, "auth_ref": [] }, "us-gaap_LossContingencyAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LossContingencyAbstract", "lang": { "en-us": { "role": { "label": "CONTINGENCIES" } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MajorCustomersAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r268", "r793", "r825", "r829", "r998", "r1096", "r1098", "r1099", "r1101", "r1102", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1113", "r1114", "r1115", "r1116", "r1117", "r1118", "r1119", "r1120", "r1121", "r1122", "r1123", "r1124", "r1125" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r403", "r437", "r520", "r575", "r649", "r651", "r665", "r681", "r682", "r732", "r734", "r736", "r737", "r747", "r761", "r762", "r782", "r790", "r802", "r810", "r811", "r812", "r813", "r826", "r996", "r1087", "r1088", "r1089", "r1090", "r1091", "r1092" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r891" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r891" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r403", "r437", "r520", "r575", "r649", "r651", "r665", "r681", "r682", "r732", "r734", "r736", "r737", "r747", "r761", "r762", "r782", "r790", "r802", "r810", "r811", "r812", "r826", "r996", "r1087", "r1088", "r1089", "r1090", "r1091", "r1092" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r910" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r918" ] }, "stpr_NY": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/stpr/2024", "localname": "NY", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "NEW YORK", "terseLabel": "New York" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r268", "r793", "r825", "r829", "r998", "r1096", "r1098", "r1099", "r1101", "r1102", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1113", "r1114", "r1115", "r1116", "r1117", "r1118", "r1119", "r1120", "r1121", "r1122", "r1123", "r1124", "r1125" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r892" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash (used in) provided by financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r181" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash (used in) provided by investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r181" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash (used in) provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r96", "r97", "r98" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income (loss)", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r87", "r98", "r121", "r147", "r167", "r170", "r174", "r187", "r196", "r201", "r202", "r203", "r204", "r205", "r208", "r209", "r224", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r471", "r480", "r519", "r526", "r632", "r711", "r727", "r728", "r840", "r994" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic", "totalLabel": "Net income (loss) - basic", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r178", "r201", "r202", "r203", "r204", "r213", "r214", "r225", "r228", "r480" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted", "totalLabel": "Net income (loss) - diluted", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r178", "r215", "r220", "r221", "r222", "r223", "r225", "r228" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]", "terseLabel": "Net income (loss)" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract", "lang": { "en-us": { "role": { "label": "RECENT ACCOUNTING PRONOUNCEMENTS" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncements" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]", "terseLabel": "RECENT ACCOUNTING PRONOUNCEMENTS", "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle." } } }, "auth_ref": [ "r138", "r145", "r194", "r195", "r198", "r199", "r210", "r211", "r270", "r279", "r280", "r469", "r470", "r472", "r480", "r503", "r515", "r562", "r568", "r569", "r583", "r584", "r585", "r659", "r660", "r661", "r662", "r664" ] }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]", "terseLabel": "New Accounting Pronouncements", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r140", "r141", "r142", "r143", "r144", "r145", "r193", "r196", "r197", "r198", "r200", "r203", "r210", "r232", "r269", "r270", "r275", "r276", "r277", "r278", "r281", "r282", "r283", "r284", "r285", "r286", "r311", "r312", "r321", "r453", "r454", "r455", "r456", "r457", "r463", "r464", "r465", "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r504", "r505", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r516", "r517", "r518", "r519", "r524", "r525", "r536", "r537", "r538", "r561", "r563", "r564", "r565", "r566", "r567", "r580", "r581", "r582", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664", "r669" ] }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update and Change in Accounting Principle [Table]", "documentation": "Disclosure of information about change in accounting principle or amendment to accounting standards or both. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards and other change in accounting principle." } } }, "auth_ref": [ "r23", "r140", "r141", "r142", "r143", "r144", "r145", "r193", "r196", "r197", "r198", "r200", "r203", "r210", "r232", "r269", "r270", "r275", "r276", "r277", "r278", "r281", "r282", "r283", "r284", "r285", "r286", "r311", "r312", "r321", "r453", "r454", "r455", "r456", "r457", "r463", "r464", "r465", "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r504", "r505", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r516", "r517", "r518", "r519", "r524", "r525", "r536", "r537", "r538", "r561", "r563", "r564", "r565", "r566", "r567", "r580", "r581", "r582", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664", "r669" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Accounting Pronouncements Recently Issued", "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." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r891" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r855", "r865", "r875", "r899", "r907" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r882" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r881" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r899" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r918" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r918" ] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Noncompete Agreements [Member]", "verboseLabel": "Non-compete agreements", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r45", "r976", "r977", "r978", "r979", "r981", "r983", "r985", "r986" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense)", "totalLabel": "Total other expense, net", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r90" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "auth_ref": [] }, "us-gaap_NotesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NotesPayableCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Notes Payable, Current", "terseLabel": "Notes payable", "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer." } } }, "auth_ref": [ "r69", "r70" ] }, "us-gaap_NotesPayableOtherPayablesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NotesPayableOtherPayablesMember", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "lang": { "en-us": { "role": { "label": "Notes Payable, Other Payables [Member]", "terseLabel": "Notes Payable, Other Payables", "documentation": "A written promise to pay a note to a third party." } } }, "auth_ref": [] }, "us-gaap_NotesPayableToBanksMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NotesPayableToBanksMember", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsNewCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Notes Payable to Banks [Member]", "terseLabel": "Notes Payable to Banks", "documentation": "A written promise to pay a note to a bank." } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails", "http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reporting segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r773", "r781", "r957" ] }, "us-gaap_NumberOfStatesInWhichEntityOperates": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfStatesInWhichEntityOperates", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationGeographicalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Number of States in which Entity Operates", "terseLabel": "Number of states in which entity operates", "documentation": "The number of states the entity operates in as of the balance sheet date." } } }, "auth_ref": [] }, "wldn_NumberOfVariableInterestEntity": { "xbrltype": "integerItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "NumberOfVariableInterestEntity", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to number of variable entities.", "label": "Number of Variable Interest Entity", "terseLabel": "Number of VIEs" } } }, "auth_ref": [] }, "us-gaap_OccupancyNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OccupancyNet", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Occupancy, Net", "terseLabel": "Facilities and facility related", "documentation": "Amount of net occupancy expense that may include items, such as depreciation of facilities and equipment, lease expenses, property taxes and property and casualty insurance expense." } } }, "auth_ref": [ "r89", "r119", "r126" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingExpenses", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "totalLabel": "Total general and administrative expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "General and administrative expenses:" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingIncomeLoss", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Income (Loss) from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r124", "r772", "r956", "r958", "r960", "r961", "r962" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "verboseLabel": "Operating lease cost", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r551", "r815" ] }, "us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Gross Difference, Amount [Abstract]", "terseLabel": "Operating" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Operating" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Total lease liabilities", "verboseLabel": "Total operating lease obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r541" ] }, "us-gaap_OperatingLeaseLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability [Abstract]", "terseLabel": "Operating leases, lease liabilities" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Lease liability", "verboseLabel": "Less: Current obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r541" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Noncurrent lease obligations", "verboseLabel": "Lease liability, less current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r541" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Operating cash flow from operating leases", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r546", "r553" ] }, "wldn_OperatingLeaseRentExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "OperatingLeaseRentExpenses", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesRentExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease Rent Expenses", "terseLabel": "Rent expenses" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r540" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating leases, weighted average discount rate", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r556", "r815" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating leases, weighted average remaining lease term", "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." } } }, "auth_ref": [ "r555", "r815" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "terseLabel": "Operating Segments", "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." } } }, "auth_ref": [ "r255", "r256", "r257", "r258", "r259", "r262", "r777", "r778" ] }, "us-gaap_OrderOrProductionBacklogMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrderOrProductionBacklogMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Order or Production Backlog [Member]", "terseLabel": "Backlog", "documentation": "Order or production backlog arising from contract acquired in business combination, asset acquisition, and from joint venture formation." } } }, "auth_ref": [ "r46", "r976", "r977", "r978", "r979", "r981", "r983", "r985", "r986" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "ORGANIZATION AND OPERATIONS OF THE COMPANY" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompany" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "ORGANIZATION AND OPERATIONS OF THE COMPANY", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r67", "r109", "r667", "r668" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r154" ] }, "us-gaap_OtherComprehensiveIncomeDerivativesQualifyingAsHedgesBeforeTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeDerivativesQualifyingAsHedgesBeforeTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification, before Tax [Abstract]", "terseLabel": "Derivative Financial Instruments" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), before Reclassifications, Net of Tax", "terseLabel": "Other comprehensive income (loss) before reclassifications", "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r11", "r14", "r173", "r527", "r530", "r533", "r633", "r940" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "verboseLabel": "Unrealized gain (loss) on derivative contracts, net of tax", "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." } } }, "auth_ref": [ "r163", "r164", "r633" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification, before Tax", "terseLabel": "Other comprehensive income (loss), cash flow hedge, gain (loss), after reclassification, before tax, total", "documentation": "Amount, before tax and after reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r163", "r164", "r633" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification and Tax", "terseLabel": "Other comprehensive income (loss), cash flow hedge, gain (loss), before reclassification and tax", "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r163", "r164", "r490", "r491", "r493" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsCashFlowHedgeEffectivenessDetails" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, before Tax", "terseLabel": "Other comprehensive income (loss), cash flow hedge, gain (loss), reclassification, before tax", "documentation": "Amount, before tax, of reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r133", "r164", "r166" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax", "totalLabel": "Net current-period other comprehensive income (loss)", "verboseLabel": "Net unrealized gain on derivative contracts", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r7", "r11", "r168", "r171", "r175", "r205", "r527", "r528", "r533", "r618", "r633", "r940", "r941" ] }, "wldn_OtherDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "OtherDebtMember", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "lang": { "en-us": { "role": { "documentation": "Other Debt [Member]", "label": "Other Debt [Member]", "terseLabel": "Other Debt Agreements" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other noncurrent liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r73" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Income (Expense)", "negatedLabel": "Other non-cash items", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r98" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r91" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r891" ] }, "us-gaap_OtherReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherReceivablesNetCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Receivables, Net, Current", "terseLabel": "Other receivables", "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_OtherSellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherSellingGeneralAndAdministrativeExpense", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Selling, General and Administrative Expense", "terseLabel": "Other", "documentation": "Amount of selling, general and administrative expense classified as other." } } }, "auth_ref": [ "r88" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r853", "r863", "r873", "r905" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r856", "r866", "r876", "r908" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r856", "r866", "r876", "r908" ] }, "us-gaap_ParentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ParentMember", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Parent [Member]", "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests." } } }, "auth_ref": [] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r880" ] }, "wldn_PaymentsForCashDepositsHeldInTrustForEnergyIncentiveRebatePaymentsRestrictedCashFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "PaymentsForCashDepositsHeldInTrustForEnergyIncentiveRebatePaymentsRestrictedCashFinancingActivities", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Payments for Cash Deposits Held in Trust for Energy Incentive Rebate Payments, Restricted Cash, Financing Activities", "label": "Payments for Cash Deposits Held in Trust for Energy Incentive Rebate Payments, Restricted Cash, Financing Activities", "negatedLabel": "Payment on restricted cash" } } }, "auth_ref": [] }, "us-gaap_PaymentsForRepurchaseOfOtherEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsForRepurchaseOfOtherEquity", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Other Equity", "negatedLabel": "Cash used to pay taxes on stock grants", "documentation": "Amount of cash outflow to reacquire equity classified as other." } } }, "auth_ref": [ "r94" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Issuance Costs", "negatedLabel": "Payments on debt issuance costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r18" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Cash paid for acquisitions, net of cash acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r16" ] }, "us-gaap_PaymentsToAcquireProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireProductiveAssets", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Productive Assets", "terseLabel": "Cash paid for initial purchase price", "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r127", "r1060", "r1061", "r1062" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of equipment, software, and leasehold improvements", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r93" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r890" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r890" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r882" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r899" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r892" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r881" ] }, "wldn_PercentOfTotalRevenueComprisedOfContractsWhichIncludeSeparatePhasesOrElements": { "xbrltype": "percentItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "PercentOfTotalRevenueComprisedOfContractsWhichIncludeSeparatePhasesOrElements", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of total revenue comprised of contracts which include separate phases or elements.", "label": "Percent Of Total Revenue Comprised Of Contracts Which Include Separate Phases Or Elements", "terseLabel": "Percent of revenue (as a percent)" } } }, "auth_ref": [] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Prior Service Cost [Member]", "terseLabel": "Pension Adjustments Prior Service Cost" } } }, "auth_ref": [ "r883" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Service Cost [Member]", "terseLabel": "Pension Adjustments Service Cost" } } }, "auth_ref": [ "r927" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Benefits Adjustments, Footnote [Text Block]", "terseLabel": "Pension Benefits Adjustments, Footnote" } } }, "auth_ref": [ "r882" ] }, "us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Preferred stock" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r76", "r371" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized (in shares)", "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." } } }, "auth_ref": [ "r76", "r691" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued (in shares)", "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt." } } }, "auth_ref": [ "r76", "r371" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding (in shares)", "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." } } }, "auth_ref": [ "r76", "r691", "r709", "r1127", "r1128" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PreferredStockValue", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "verboseLabel": "Preferred stock, $0.01 par value, 10,000 shares authorized, no shares issued and outstanding", "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." } } }, "auth_ref": [ "r76", "r624", "r816" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r939" ] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "lang": { "en-us": { "role": { "label": "Reclassification, Policy [Policy Text Block]", "terseLabel": "Reclassifications", "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." } } }, "auth_ref": [ "r935" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Borrowings under term loan facility and line of credit", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r17", "r947" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r92" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from stock option exercise", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r2", "r9" ] }, "us-gaap_ProceedsFromStockPlans": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromStockPlans", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Plans", "terseLabel": "Proceeds from sales of common stock under employee stock purchase plan", "documentation": "The cash inflow associated with the amount received from the stock plan during the period." } } }, "auth_ref": [ "r2" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProfitLoss", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "verboseLabel": "Net income (loss)", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r147", "r167", "r170", "r180", "r187", "r196", "r205", "r208", "r209", "r273", "r331", "r332", "r334", "r335", "r336", "r337", "r338", "r340", "r341", "r471", "r480", "r481", "r484", "r485", "r519", "r526", "r621", "r631", "r674", "r711", "r727", "r728", "r806", "r807", "r841", "r942", "r994" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization", "negatedLabel": "Accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease." } } }, "auth_ref": [ "r930", "r934", "r989" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "terseLabel": "Equipment and leasehold improvements, net", "totalLabel": "Equipment and leasehold improvements, net", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r934", "r987" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization [Abstract]", "terseLabel": "Equipment and Leasehold Improvements" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "terseLabel": "Equipment and leasehold improvements, gross", "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r929", "r938", "r988" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r5", "r558" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "terseLabel": "Equipment and leasehold improvements", "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." } } }, "auth_ref": [ "r101", "r151", "r629" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r558" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of equipment and leasehold improvements", "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." } } }, "auth_ref": [ "r5" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r101", "r558" ] }, "wldn_ProvisionForDoubtfulAccountsCashFlowImpact": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "ProvisionForDoubtfulAccountsCashFlowImpact", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The cash flow impact of the provision for doubtful accounts.", "label": "Provision for Doubtful Accounts Cash Flow Impact", "terseLabel": "Provision for doubtful accounts" } } }, "auth_ref": [] }, "wldn_PublicUtilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "PublicUtilityMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Public Utility [Member]", "label": "Public Utility [Member]", "terseLabel": "Utilities" } } }, "auth_ref": [] }, "wldn_PuebloCountySchoolDistrictAndDormitoryAuthorityStateOfNewYorkMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "PuebloCountySchoolDistrictAndDormitoryAuthorityStateOfNewYorkMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Pueblo County School District And Dormitory Authority State of New York [Member]", "label": "Pueblo County School District And Dormitory Authority State of New York [Member]", "terseLabel": "Pueblo County School District and Dormitory Authority State of New York" } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r880" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r880" ] }, "wldn_QualifiedCashOrDeferredArrangementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "QualifiedCashOrDeferredArrangementMember", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Qualified Cash or Deferred Arrangement [Member]", "label": "Qualified Cash or Deferred Arrangement [Member]", "terseLabel": "Qualified Cash or Deferred Arrangement" } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r396", "r403", "r433", "r434", "r435", "r437", "r520", "r573", "r574", "r575", "r649", "r651", "r665", "r681", "r682", "r732", "r734", "r736", "r737", "r747", "r761", "r762", "r782", "r790", "r802", "r810", "r811", "r812", "r813", "r826", "r832", "r993", "r996", "r1066", "r1088", "r1089", "r1090", "r1091", "r1092" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r325", "r326", "r327", "r328", "r396", "r403", "r433", "r434", "r435", "r437", "r520", "r573", "r574", "r575", "r649", "r651", "r665", "r681", "r682", "r732", "r734", "r736", "r737", "r747", "r761", "r762", "r782", "r790", "r802", "r810", "r811", "r812", "r813", "r826", "r832", "r993", "r996", "r1066", "r1088", "r1089", "r1090", "r1091", "r1092" ] }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax", "negatedLabel": "Amounts reclassified from accumulated other comprehensive income (loss): Income tax benefit (expense) related to derivative instruments", "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r11", "r14", "r173", "r527", "r532", "r533", "r633", "r940" ] }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTaxAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "label": "AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ReconciliationFromSegmentTotalsToConsolidatedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReconciliationFromSegmentTotalsToConsolidatedAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reconciliation [Abstract]", "terseLabel": "Segment reconciliation" } } }, "auth_ref": [] }, "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTable", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Reconciliation of Assets from Segment to Consolidated [Table]", "documentation": "Disclosure of information about identification, description, and amounts of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets." } } }, "auth_ref": [ "r36", "r37" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r848", "r858", "r868", "r900" ] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Lines of Credit", "negatedLabel": "Repayments under term loan facility and line of credit", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r95", "r947" ] }, "us-gaap_RepaymentsOfNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfNotesPayable", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Notes Payable", "negatedLabel": "Payments on notes payable", "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [ "r95" ] }, "us-gaap_ResidualValueOfLeasedAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResidualValueOfLeasedAsset", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "label": "Residual Value of Leased Asset", "terseLabel": "Residual value guarantee", "documentation": "Amount of residual asset covered by residual value guarantee. Excludes guarantee considered to be lease payments for lessor." } } }, "auth_ref": [ "r560" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r849", "r859", "r869", "r901" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r850", "r860", "r870", "r902" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r857", "r867", "r877", "r909" ] }, "us-gaap_RestrictedCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCash", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash", "terseLabel": "Restricted cash", "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits." } } }, "auth_ref": [ "r937", "r946", "r1093", "r1095" ] }, "us-gaap_RestrictedCashAssetStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCashAssetStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Restricted Cash, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes cash restricted to withdrawal or usage." } } }, "auth_ref": [ "r946" ] }, "us-gaap_RestrictedCashCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCashCurrent", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Restricted Cash, Current", "terseLabel": "Restricted cash", "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits." } } }, "auth_ref": [ "r937", "r946" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r79", "r107", "r627", "r659", "r664", "r671", "r692", "r816" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r142", "r190", "r191", "r192", "r197", "r205", "r207", "r209", "r278", "r286", "r312", "r453", "r454", "r466", "r467", "r468", "r472", "r479", "r480", "r497", "r500", "r501", "r505", "r517", "r537", "r539", "r655", "r657", "r675", "r1127" ] }, "us-gaap_RetirementPlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetirementPlanNameAxis", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Name [Axis]", "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans." } } }, "auth_ref": [ "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r802", "r931", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029", "r1030", "r1031", "r1032", "r1033", "r1034", "r1035", "r1036", "r1037", "r1038", "r1039", "r1040", "r1041", "r1042", "r1043", "r1044", "r1045", "r1046", "r1047", "r1048", "r1049", "r1050", "r1051", "r1052", "r1053", "r1054", "r1055", "r1056", "r1057", "r1058" ] }, "us-gaap_RetirementPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetirementPlanNameDomain", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Name [Domain]", "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans." } } }, "auth_ref": [ "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r802", "r931", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029", "r1030", "r1031", "r1032", "r1033", "r1034", "r1035", "r1036", "r1037", "r1038", "r1039", "r1040", "r1041", "r1042", "r1043", "r1044", "r1045", "r1046", "r1047", "r1048", "r1049", "r1050", "r1051", "r1052", "r1053", "r1054", "r1055", "r1056", "r1057", "r1058" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "REVENUES" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Contract revenue", "verboseLabel": "Revenue", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r122", "r123", "r233", "r240", "r241", "r255", "r261", "r264", "r266", "r268", "r391", "r392", "r578" ] }, "us-gaap_RevenueFromContractWithCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer Benchmark [Member]", "terseLabel": "Revenue from Contract with Customer Benchmark", "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r268", "r932" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Policy Text Block]", "verboseLabel": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r139", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r764" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureRevenues" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUES", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r139", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r394" ] }, "wldn_RevenueOfTheEntityAsAnAgent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "RevenueOfTheEntityAsAnAgent", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of revenue of the entity in which it acts solely in the capacity of an agent.", "label": "Revenue of the Entity as an Agent", "terseLabel": "Revenue of the entity recorded in which it acts solely in the capacity of an agent" } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for lease liabilities for operating leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r554", "r815" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r918" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r918" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r268", "r932" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued liabilities", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of accumulated other comprehensive income (loss)", "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r14", "r1076", "r1077" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "documentation": "Disclosure of information about security that could potentially dilute basic earnings per share (EPS) in future that was not included in calculation of diluted EPS." } } }, "auth_ref": [ "r24" ] }, "wldn_ScheduleOfByTypeAndReportableSegmentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "ScheduleOfByTypeAndReportableSegmentTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contracts for revenue generating activities by type and by reporting segment.", "label": "Schedule of By Type And Reportable Segment [Table Text Block]", "terseLabel": "Schedule of contracts by reportable segments and type of contracts" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfCashFlowHedgingInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Cash Flow Hedging Instruments, Statements of Financial Performance and Financial Position, Location [Table Text Block]", "terseLabel": "Schedule of the fair values of outstanding derivatives designated as hedging instruments", "documentation": "Tabular disclosure for cash flow hedging instruments of (a) the location and amount of gains and losses reported in the statement of financial performance and (b) the location and fair value amounts of the instruments reported in the statement of financial position." } } }, "auth_ref": [ "r112" ] }, "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]", "terseLabel": "Schedule of reconciliation of cash and cash equivalents, and restricted cash", "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of debt obligations, excluding obligations under capital leases", "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of number of weighted-average common shares outstanding used to compute basic and diluted EPS", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r954" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset." } } }, "auth_ref": [ "r301", "r307", "r308", "r309", "r310", "r579", "r763", "r784" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of gross amounts and accumulated amortization of acquired identifiable intangible assets with finite useful lives", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r784", "r982" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "documentation": "Disclosure of information about goodwill, including, but not limited to, change from acquisition, sale, impairment, and other reason." } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r783" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of changes in the carrying value of goodwill by reporting unit", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r783", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r974", "r975" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about 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." } } }, "auth_ref": [ "r5", "r558" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment." } } }, "auth_ref": [ "r33", "r34", "r35" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of financial information with respect to the reportable segments", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r33", "r34", "r35" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r843" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r845" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r122", "r123", "r124", "r125", "r233", "r236", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r259", "r261", "r262", "r263", "r268", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r310", "r323", "r324", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r774", "r777", "r778", "r783", "r828", "r1096", "r1098", "r1099", "r1100", "r1101", "r1102", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1113", "r1114", "r1115", "r1116", "r1117", "r1118", "r1119", "r1120", "r1121", "r1122", "r1123", "r1124", "r1125" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r266", "r267", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r677", "r678", "r679", "r733", "r735", "r738", "r748", "r750", "r752", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r766", "r792", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r827", "r832", "r998", "r1096", "r1098", "r1099", "r1101", "r1102", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1113", "r1114", "r1115", "r1116", "r1117", "r1118", "r1119", "r1120", "r1121", "r1122", "r1123", "r1124", "r1125" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "SEGMENT AND GEOGRAPHICAL INFORMATION" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingAssetReconcilingItemLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAssetReconcilingItemLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting, Asset Reconciling Item [Line Items]", "terseLabel": "Segment Reporting", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails", "http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting, Disclosure of Entity's Reportable Segments [Abstract]", "terseLabel": "Segment Information" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "SEGMENT AND GEOGRAPHICAL INFORMATION", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r125", "r233", "r235", "r236", "r237", "r238", "r239", "r251", "r253", "r254", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r268", "r773", "r775", "r776", "r777", "r779", "r780", "r781" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r3" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436" ] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares Used to Pay Taxes on Stock Grants, Shares", "negatedLabel": "Shares used to pay taxes on stock grants (in shares)", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "wldn_SouthernCaliforniaEdisonAndClarkCountySchoolDistrictMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "SouthernCaliforniaEdisonAndClarkCountySchoolDistrictMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Southern California Edison and Clark County School District", "label": "Southern California Edison And Clark County School District [Member]", "terseLabel": "Southern California Edison and Clark County School District" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r122", "r123", "r124", "r125", "r146", "r233", "r236", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r259", "r261", "r262", "r263", "r268", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r310", "r314", "r323", "r324", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r774", "r777", "r778", "r783", "r828", "r1096", "r1098", "r1099", "r1100", "r1101", "r1102", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1113", "r1114", "r1115", "r1116", "r1117", "r1118", "r1119", "r1120", "r1121", "r1122", "r1123", "r1124", "r1125" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r7", "r77", "r80", "r81", "r142", "r172", "r173", "r174", "r190", "r191", "r192", "r197", "r205", "r207", "r209", "r234", "r278", "r286", "r312", "r372", "r453", "r454", "r466", "r467", "r468", "r472", "r479", "r480", "r497", "r499", "r500", "r501", "r502", "r505", "r517", "r527", "r529", "r530", "r531", "r532", "r533", "r537", "r539", "r567", "r633", "r655", "r656", "r657", "r675", "r729" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r266", "r267", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r677", "r678", "r679", "r733", "r735", "r738", "r748", "r750", "r752", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r766", "r792", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r827", "r832", "r998", "r1096", "r1098", "r1099", "r1101", "r1102", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1113", "r1114", "r1115", "r1116", "r1117", "r1118", "r1119", "r1120", "r1121", "r1122", "r1123", "r1124", "r1125" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r190", "r191", "r192", "r234", "r539", "r578", "r670", "r676", "r683", "r684", "r685", "r686", "r687", "r688", "r691", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r704", "r705", "r706", "r707", "r708", "r710", "r712", "r713", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r729", "r833" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r190", "r191", "r192", "r234", "r271", "r539", "r578", "r670", "r676", "r683", "r684", "r685", "r686", "r687", "r688", "r691", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r704", "r705", "r706", "r707", "r708", "r710", "r712", "r713", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r729", "r833" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r852", "r862", "r872", "r904" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockCompensationPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockCompensationPlanMember", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsAntidilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Member]", "terseLabel": "Share-Based Payment Arrangement", "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares." } } }, "auth_ref": [ "r955" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares of common stock issued in connection with employee stock purchase plan (in shares)", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r7", "r76", "r77", "r107" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Issuance of restricted stock award and units (in shares)", "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards." } } }, "auth_ref": [ "r7", "r107" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Shares of common stock issued in connection with incentive stock plan (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r7", "r76", "r77", "r107", "r419" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Shares of common stock issued in connection with employee stock purchase plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r7", "r76", "r77", "r107" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "verboseLabel": "Issuance of restricted stock award and units", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r7", "r76", "r77", "r107" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Shares of common stock issued in connection with incentive stock plan", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r7", "r77", "r80", "r81", "r107" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r77", "r80", "r81", "r100", "r693", "r709", "r730", "r731", "r816", "r842", "r948", "r964", "r1075", "r1127" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureDerivativeFinancialInstrumentsAccumulatedOtherComprehensiveIncomeLossDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r49", "r50", "r51", "r142", "r143", "r173", "r190", "r191", "r192", "r197", "r205", "r207", "r278", "r286", "r312", "r372", "r453", "r454", "r466", "r467", "r468", "r472", "r479", "r480", "r497", "r499", "r500", "r501", "r502", "r505", "r517", "r527", "r529", "r533", "r538", "r567", "r656", "r657", "r673", "r693", "r709", "r730", "r731", "r749", "r841", "r948", "r964", "r1075", "r1127" ] }, "us-gaap_SubleaseIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubleaseIncome", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Sublease Income", "negatedLabel": "Sublease Income", "documentation": "Amount of sublease income excluding finance and operating lease expense." } } }, "auth_ref": [ "r552", "r815" ] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Line Items]", "terseLabel": "SUBSEQUENT EVENTS", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r534", "r571" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventMember", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r534", "r571" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTable", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Table]", "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued." } } }, "auth_ref": [ "r534", "r571" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r534", "r571" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r534", "r571" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "SUBSEQUENT EVENTS" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "SUBSEQUENT EVENTS", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r570", "r572" ] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData" ], "lang": { "en-us": { "role": { "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT DATA", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r936" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Cash paid (received) during the period for:" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r898" ] }, "wldn_TermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "TermLoanMember", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "lang": { "en-us": { "role": { "documentation": "Term Loan [Member]", "label": "Term Loan [Member]", "terseLabel": "Term Loan" } } }, "auth_ref": [] }, "us-gaap_TimeAndMaterialsContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TimeAndMaterialsContractMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Time-and-Materials Contract [Member]", "terseLabel": "Time-and-Materials Contract", "documentation": "Contract with customer in which amount of consideration is based on time and materials consumed." } } }, "auth_ref": [ "r794" ] }, "wldn_TopTenCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "TopTenCustomersMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Top Ten Customers [Member]", "label": "Top Ten Customers [Member]", "terseLabel": "Top Ten Customers" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r890" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r897" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeNamesMember", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Trade Names [Member]", "terseLabel": "Tradename", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r44", "r976", "r977", "r978", "r979", "r980", "r981", "r983", "r984", "r985", "r986" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r917" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r919" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r920" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r921" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Expiration Date", "terseLabel": "Expiration Date" } } }, "auth_ref": [ "r921" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r919" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r919" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r922" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r920" ] }, "us-gaap_TypeOfAdoptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TypeOfAdoptionMember", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncementsDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update [Domain]", "documentation": "Amendment to accounting standards." } } }, "auth_ref": [ "r140", "r141", "r142", "r143", "r144", "r145", "r196", "r197", "r198", "r200", "r210", "r269", "r270", "r275", "r276", "r277", "r278", "r281", "r282", "r283", "r284", "r285", "r286", "r311", "r312", "r321", "r453", "r454", "r455", "r456", "r457", "r463", "r464", "r465", "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r504", "r505", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r516", "r517", "r518", "r519", "r524", "r525", "r536", "r537", "r538", "r561", "r563", "r564", "r565", "r566", "r567", "r580", "r581", "r582", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661", "r662", "r663", "r664" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "US", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "Domestic" } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r916" ] }, "wldn_UnitBasedContractMember": { "xbrltype": "domainItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "UnitBasedContractMember", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Unit-based Contract [Member]", "label": "Unit-based Contract [Member]", "terseLabel": "Unit-based Contract" } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Liability for uncertain tax positions", "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return." } } }, "auth_ref": [ "r446", "r803" ] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued [Abstract]", "terseLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued" } } }, "auth_ref": [] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UseOfEstimates", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r30", "r31", "r32", "r129", "r130", "r131", "r132" ] }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "crdr": "credit", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "terseLabel": "Increase (decrease) in valuation allowance", "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset." } } }, "auth_ref": [ "r448" ] }, "wldn_VariableInterestEntityPercentageOfCostsReimbursed": { "xbrltype": "percentItemType", "nsuri": "http://www.willdan.com/20240927", "localname": "VariableInterestEntityPercentageOfCostsReimbursed", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of costs reimbursed.", "label": "Variable Interest Entity, Percentage Of Costs Reimbursed", "terseLabel": "Percentage of costs reimbursed to WES by Genesys" } } }, "auth_ref": [] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]", "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year" } } }, "auth_ref": [ "r886" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted-average common shares outstanding-diluted (in shares)", "verboseLabel": "Diluted (in shares)", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r215", "r228" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average shares outstanding:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareepsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted-average common shares outstanding (in shares)", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r213", "r228" ] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]", "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested" } } }, "auth_ref": [ "r884" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-4" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-5" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-12" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4I", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "25", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480238/815-25-50-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/205/tableOfContent" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/810/tableOfContent" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/815/tableOfContent" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(14)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481161/840-30-50-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "326", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-3" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "326", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-3" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/250/tableOfContent" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-7" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-15" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-5" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-6" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-6" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-11" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-2" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477123/405-50-65-1" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480627/815-20-45-3" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-6" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-5" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-2" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-7" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/855/tableOfContent" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-7" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-3" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r719": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r730": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r738": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r739": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r740": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r741": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r742": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A" }, "r743": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r744": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r745": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r746": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r747": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r748": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r749": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3" }, "r750": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2" }, "r752": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r753": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r754": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r755": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r756": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r757": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r758": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r759": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r760": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r761": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r762": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r763": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r764": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r765": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r766": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r767": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r768": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22" }, "r769": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15" }, "r770": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52" }, "r771": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r772": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r773": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r774": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r775": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r776": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r777": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r778": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r779": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r780": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r781": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r782": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A" }, "r783": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24" }, "r784": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r785": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r786": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B" }, "r787": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C" }, "r788": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E" }, "r789": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F" }, "r790": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r791": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r792": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r793": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r794": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r795": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r796": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r797": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r798": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r799": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r800": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r801": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-18" }, "r802": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8" }, "r803": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-217" }, "r804": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r805": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479908/805-50-55-1" }, "r806": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J" }, "r807": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K" }, "r808": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r809": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "102", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102" }, "r810": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r811": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r812": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r813": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r814": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r815": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r816": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10" }, "r817": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r818": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r819": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r820": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r821": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r822": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r823": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r824": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r825": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r826": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F" }, "r827": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r828": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r829": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r830": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r831": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r832": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r833": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r834": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r835": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r836": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r837": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r838": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r839": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r840": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r841": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11" }, "r842": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r843": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r856": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r857": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r858": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r859": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r860": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r861": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r862": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r863": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r864": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r865": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r866": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r867": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r868": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r869": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r870": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r871": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r872": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r873": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r874": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r875": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r876": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r877": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r878": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r879": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r880": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r881": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r882": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r883": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r884": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r885": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r886": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r887": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r888": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r889": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r890": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r891": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r892": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r893": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r894": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r895": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r896": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r897": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r898": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r899": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r900": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r901": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r902": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r903": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r904": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r905": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r906": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r907": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r908": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r909": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r910": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r911": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r912": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r913": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r914": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r915": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r916": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r917": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r918": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r919": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r920": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r921": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r922": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r923": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r924": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r925": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r926": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r927": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r928": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "SubTopic": "20", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/210/tableOfContent" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r983": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r985": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r987": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r988": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r989": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1020": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1021": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1023": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1024": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1025": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1026": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1027": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1028": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1029": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1030": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1031": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1032": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1033": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1034": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1035": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1036": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1037": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1038": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1039": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1040": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1041": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1042": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1043": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1044": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1045": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r1046": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-2" }, "r1047": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3" }, "r1048": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3" }, "r1049": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1050": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1051": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1052": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1053": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1054": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1055": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1056": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1057": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-6" }, "r1058": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-8" }, "r1059": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "15", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480123/805-50-15-3" }, "r1060": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480060/805-50-25-1" }, "r1061": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480027/805-50-30-1" }, "r1062": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480027/805-50-30-2" }, "r1063": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A" }, "r1064": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B" }, "r1065": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r1066": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1067": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1068": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1069": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1070": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1071": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1072": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1073": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r1074": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r1075": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r1076": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r1077": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r1078": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-1A" }, "r1079": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r1080": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r1081": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r1082": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r1083": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r1084": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r1085": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r1086": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r1087": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r1088": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r1089": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r1090": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r1091": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r1092": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r1093": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r1094": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1095": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1096": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B" }, "r1097": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r1098": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1099": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1100": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r1101": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r1102": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r1103": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1104": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1105": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1106": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1107": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1108": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1109": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1110": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1111": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1112": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1113": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1114": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1115": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1116": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1117": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1118": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1119": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1120": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1121": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1122": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1123": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1124": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1125": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1126": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r1127": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1128": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" } } } ZIP 91 0001558370-24-014072-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-014072-xbrl.zip M4$L#!!0 ( -N57UE?ILW;FQ, -7& 1 =VQD;BTR,#(T,#DR-RYX M=F>JDM(0M(]24WWE@-.0BT!!DC/S+YL"5L&51N; MD>5\W+_^'LD?V-A&MDFZV5V_=!-+YT/Z'4E'.L?R+W]_6=OHB3"/NL[GUMG) M:0L1QW!-ZBP_MWQNM7]N_?W+7__RR_^TV[_?3(?(= U_31R.#$8P)R9ZIGR% MYNYF@QWT0!BCMHUNC!*&STY.?3TY/KBY1N_U%\KC!'M"X#I+,SD_.HH)> MR,YUKH<SWKG)^>7Z!/UQ>7UZ>7:/(057P W2RJK/GBF=>>L2)KC#AF2\)' M>$V\#3;(Y]:*\\UUI_/\_'SR#.J:V#DQW+5D,+GQ.;EVV[A,+ M^S:'WG#^]+$MA4,GV41T0ZI"HAAZU?&N08FTM.Z)RY8@Z/2L\_O#<";UBRH_ MVZ930K>@LDDVC!BBQU(D+PMF1R*N.LRU26=;,Z(U?,8 X]>84E)YQ#A9ND^= MJ%2*C$A\KRV8>3&)A;V%%!25I*HS8A6J];$#I7$'08')TXJ$]2X[06%W\/J3.MX2R_'53H*PL22GK,5[4N+@HW1F<[>ET*$THLL1XDZN'*$AQM:$% M>UHHBA

&*M^8;E RA*T@VD1D%-:F1ZHJ#GXJ(4 7'\]7D>>N>G'?+"B>/1 MA4W:HAIAF,,4X[7/Q103&J+K.YP5V6%0F)+G$*XR=ZBR'2,TGS44I-EB:GCY M5651JO)+!JAP5)]=75UU9&FL &<[_9E2&HH[HEBP/V^?=MO=LVU#EV7&=E@M MAN/%6.4W0Y2D6E%BAHMM(M<:TGT"LN@>XZ6.Q[%CD.V\2-7S8GN7RMP[[LSM MN),3!\V=53X&LPK=&:)MLB@>IJ(P;?:&6=#-AKE;L>WYB\+*HC @^/(7A.2: MA1W'Y7*HB$?1P\V&.I8;/(%GPLBNA07,P7R0^/$X'12N'=)49L!4KE@]US%A M8!(3?GBN34UA03?8%CT]6Q'"O1:BT+XJ!)%BD6HFL:A#92.NKBX%K*>GJ(UB MEO"[-Q[U]=%,[XM?L_%PT-?F\,>--M1&/1W-[G5]/ONEL\MN1Y /:HV=+_(W M+',>\)9])Y:#D#BLLH?0P+;AV]7IMFH5DH4/(ZC>#\"XU!M;/7<-?;$2L^\3 M&8 SMR9E(%6Q4()\7A;DV1S^>]!'\QD:WT+1PV2JWT.]P5<=#4;PM]X 7PMX M[*UN;?>YU C.)U2"?%$39&UVCVZ'X]^:,9V MD\]PW8]GY&9O]D$.PILWU(' MYE:*[;B7^YCC*?%@R38 .8%6GW!,[1#HP]GLA?WJ E _ Z2W#I*G-ZKRN6<5Z(>R8*-8,)57[7P3*0=U0 MOZ2@Q@H/M$+-,)A/S"'%"VJ#AL2K;6+%K-3VO 583DNY-#UBJSD37FKS.8R:S9]?3KXJLV% M![HUFL%H-I\^!CZ,M)A("22U0"DU4* '^B T^:FQ)94M+?AX8=-E<"HD>M+U MI!Z%!J(B4*'^,>O#]/6;.1K?# =W #TXK\*;W3)N,*R&H8T]CUK4P!5@S*51 M(YEQ&_*03/%NP-P/IO2@//FO_K(1N\4"!(LKJF#[E(5MJ&LS78 E^:&088-5 M&:R*CN/VXJ8B4F/8+<0PR1N%S)'DW@!:!M#Q1@9)G&7PYP/F/I..Z=B23]2^ M=FT^:M@_%<(>BPL&L0>/MB*1:X5CNW&T#S.'.R8\7&I91(1G]\_.Y4C5H/]< M!70I!6W%-"B703G8[I #AWQE+FKLKPJQ#X4UP_W]#*'*8"]#J(3[[+0\W,U MKX:OCID#,Z4W(6RVPHR0C=R^^GS?1JDZU MJ8X^M/3)K/53N/L-132HYJ(:IK]%_VN.J3N<\M>!8[EL+=4/H2Q34QEN.[V2 M S-*NDO\%,?> 4.4X-A@52OE80(CS.$KPBDTK7+^0YJZ1#+$99UD"/0A):<9 MEK5BY#/N&M]$I(@P3\20^&O58'D.!R7DW7I1\]E\W/O'_7C8UZ>SOR']U\?! M_(\&]KPU=LR6V*'_)Q6&F3;^'$T!T\)3:;C$?SN!>.R@2T?MB?B^"0'H/"Y$HIN M'A1?]=&CWG1YS1A]]5"\&J:ZF4 -AM5#ZM6"Y&KL+O,BH/OCW@UL)2*?BB"G M&I@2H>D&B.*CL_QS,76W?\IV>W#JU71V7F>#6[RF/$C(<[)>%J?]6F ^UF*)+(Y_I4G\T1% WF@P;0 M @^"+,.3J3OB+AG>K,3!0O8DJP*!$L:K'/]!OY-N@H#P3A_?3;7)_: GUZ'; M\?1!SG\-@'D !BEG<_R2'7;)(A4H9Z=94(+W,-!<^[T9/:6/]4L@I0L5,*1VZD]Y6YE, MN1*'G/.!V>/-3/_U4:P=XJ2@V:W4/1N=N#;-&RH5*/='(F$099/_RA^5H@^1 MG&;"VWO\-A>^=>$A7%BZ'ZKN:3>;XQ>=Q*$/ 8\&AII'1A:[< M"S$-KA7.>_)!S*^D0NQC%K%,+GL#COH,*!^35)D*BN+Y+3&K@.\_%OH2ZV_R"8%:42U^*Q M'^2+ _U^D7TJ1"(ILTE)/"1WH@#UN:PH&M6]/V&6@POA"9I_6NC,A$M6@?BCJ MMT(O,J1/Q!Q +6,W4$)5929\\G*&I+:-J;ZCJ28[&MQ_ZIKO89;%4M0F MF'EK]W@%E/V%=M^T4N/%:G5 MJ.>GH?$2>>XR8E-]B8_^+S>4)51"7.6)O(Q" @EH*Z)! MM\S9>^FI6U5=A61APF8S$=='+^F<11?!EH6R)*T:U\Q>(<8U*2*X050(:6!^ MZ[Q=?;VQW5=";F <691/;.P43&UT%9P8QN'VD9806Z0:]M$'A.U+=0+ M $.U0%RTJV],X# 3@*IXN60D<-G'5AB0J&L,"G9JL\A>#ES.+-*"Q3P1BFXL MY$ +Z;F.B#8&<^Z4>M_JVD8A([559(^ERUE%2B02,AMS*/UZBC@K"1(+;/#> M!/V/>*&;>H%DY(T@#5]^DMB].XV;$""^!*W^CU7YZ%-XE\ MAR7RA;Z1^HCN$%;JM+X#;CY*[+R:8[S*^6"E\5<3J//!"N_D:3#\<5]WZLM/ M^M)H8"=3$?;?W?^]Q:L3-&J^KE3M^T])A8-LH63R1O/1@3?P,:+@SSTQET2W M+&*(F@ZI^<$?-3MU7#_G&R'*N/XVOB0EHY3HQD+*A!,UTY2RR\>#]U*H0X>9 M4[XX=+AEW*Q156&!W!2']+7NB2JV9.\BT44A>=JFH6"G=HV MLN^OE+.-I.#&0&J%<1X=@S#H*P?^FH2?22Q:29K[+%?%$P!0%7)%@BP*^*&+\GSDE_M)Y M\ 3&Z3*.'+PFW@8;H>5X@'/"ZLZ[R9FA?79R MUD*>L2)K/'2#[P9OR78,-DMZ F)#:]NC0:2 1XR3I?O4(88IN%T4"\ZM+G[( M@59/JDEH%:E1=?&CFM14KYF<=<3<(7B=MT^[[6[9_LZAE'][]12!^>8J&-^. MR/(C9KX:NV0V8RFJMN#3/CMOGWVLK4>W0QV/BP2D7OPX0+*9NSU_4GO:!-E'.LSU-U%5"E5: MR %72IS1?FYQY@LW498M@@_G?6X9\EW+Z/%&OD$_E_),/\A3*6[:$"]4V&:'%[8Q>T_N-\I7(WA#IP8F6Y1&D]8XJ9DB.T MN ESGZ@'56Y=UG?]!;=\.[P3+D[&&*QA24M:7A6BXYT[HW#G=I>MA1V<'F3[ MZB5;!\_ 4'_P_.'QL37S%X;K2.8NFQ'V1 TBIL' 'BDC!A<5O50SJQ$>*:HS M<*E,WP:OYN95T,BE7GAF0EP8H))9R'/RPF]L6.T3?5"'>'=$\ZCHP,ZHUNP; MWZ,B44DS8(T+@B#QQR[$=VT]:H8IP&)TPD*Q3J\D->F/U4L<^6*Z'5NYR0JO MB7:K*B8;2*%L2=AWQ17F5* U4\-R=^3NJ7.D"Z;N+,':B)@LA6WYMC"T:+;) M+**E:A_APJH[A"U?D\(,^2[^7.78SO<)0I7DU%Q2FOU0BOS?EM1 M8S5PQ-8)9L<-!L9DLA*I86.FV\G/]@8^P]ORW>VY3<#^#8>GTHX?'@;LPAI'B+MP=* /*;;S]HX[14>H_YW[1)@CK2/3@)RR(VS!Q%_8U'CDX@JJ M[,216WJ$K>B+ $]H\70A)8L[6,(M'7O W%@%I)#<(H)"5^@Y#CV#H&^-T%OS5:$ M\&C#E\B4&UN)#ZH4M[HFEV/JB%V=Q3GI_KO.2O;-VS$^JNZ*[%RJ.B=L#<;. MY8_B,9%7]X?/U,E1.H3=H%QGPZVNU_>)9L$D++Y&<>OZR76Y(MV1[LGR$*K2 M"S7I?W!O;/T?"]MQQE#>1MRVPS#=V-I>$BJWV7,W<3"VW<:$&YSD1KT^CR,] M;4O#G7@A*+G\[ZMTI.TJ\#LS+KFBWH'.>95);=>1+VK9KSZVJ45!9UANQ@P: M0!@,$XTQ["Q);CRM/,D1MK?&#D);DK$5!:"\PW8CN[R^UWEBZ7EM[F[FQ F2 M"0G+;IP+RH\0Z:'K:6"/MG@5;8,9#^Z7_ W\"Q'OG[C/\O\^^%:4N^Q5\_G* M9; VR9?@Q]:(//_ALF^9#GA;MD?8;]%:(T*M$$!PN"R^ M&T6?A!Y3D83OX&6PJL?W:=VZ++A/&SHO-VS]G22^P^I2SHO(7XD4A_S;#W%! M/Q1$_-55CZ7-D?.E:/24+&"-G@P3H<7IT !B N*9".9/*H\'M(>^>N MW[.85>S[&NOV WZA:W\=?&=H0EBTA!_F#11S/18S5LQ4^6'2,+"#A:\C-S!3 M0M<+GWDD>99;@_;]#SIK>$P3GRQLMR<@?)T9*]>U^S08*W7A1R3 MVI(1^52\-)&-*A77.<(6B5.JH9NS"=PM.$+=9ZXO5DVG)W9R+G,HUDWJR2/( MGHW9MSS[R[3S$"9'V">Z0PVGFBA[R%10,#;O?MI%8*AT86$=9)^N;_^;">!!.+8#H$, MZ4FK?13\93XS8WL\'H^__/-M:6DO"+NF8W^M-<[K-0W9AC,S[<77FN_-SVYK M__SESW_Z\I>SLW_=CWK:S#'\);(]SS6]9VWBK%:ZK3TAC$W+TNZQ M.5L@36O4SV_/Z^=WU]K9V2^LC7O=)74<6V.-79XWHA\>PN8<^S.I=G'5N+BL M7S:UF\_-Z\_U:VWX%!5\(K3-36%)R[3_\YG^;TIZU A(V_W\YII?:\^>M_I\ MG7NX 6I7F]<_.NI-S:>T5(_,VW7TVT#U312_K/+ONPYANXQ#L6J MOTVQ%35P=;'NBUN"_G46%3NC7YTU+L^N&N=O[JP6DDA_EN@D*OZV4S[$U+B[ MN[M@OZZ+DH;,C*;7L'_YDZ9]P8Z%1FBNL28^>^\K]+7FFLN51;MFWSUC-/]: M>[5F]AGE?_WN\H8"^>O8(W*D&O+@V#-D$W&3#ZYCF3,JWWO=HIV,GQ'RW)I& MN_DQZB81$ V:Z?:YX2POZ.\72BTRL%(4J+;CV:-E%*4[?6 M]+5U3Q\AU\.F02Z+@F_9R?)\(6(0"U=-BJFA=C1DOE M >/9A_N!%+9:'N#!"F&B5?8B^/-)]WS,)M_!G'U3P-2?OR,P;/F&Z7QJSN<( MDSWNGBHOV79YX(,U!QU:(]2[ <*20K5!JN4R@'=T;!,E=8<(CY]UC-"*K;F^ MM]?*)MFJ*F"&2<=&!#S\N";,):W$6KB\N@A+7+C^O,0J3%;?VMZM*^[ MNVOJPJK7M3-MW3;Y_##HMSO]<:=-/XT'O6Z[-2%_W+=ZK?Y#1QM_[W0F8P4A M4=!42(Z1H,JBOC$'I_.7-377W2EKSW?/%KJ^8@Z["V1Y;O0-TU[&ZO"+WUNN M&\-OZ5-D?:U%7UZ40,J#C\EH]K8H2BWS^Z>KVT^?ZO7Z3?WJ^N:VV;RYW= < MTYH63I)/E#EJ/M3K?&H_Q\YRPZRP!T>%6 ?/$/Y::]0TWR5$."O:AV[5M%=D M+IX]]LMQA4 ]&61+3O^A6_07W6)[*.]!Q_B=3$6_ZI:/.,*1J@M#:/(BVA5K M?I@RXEYATR%+^_O7VN6Q99_T9V4/Q-2RIR];>5BA+"_A#-V683@^T<01,A#1 MRJF%^L@33*<959*H[YK-3ULX280:03BL.)E3*X2)4AF#(*_9[Z@6=?V M='MA$L,CP-_GBC"[4H(-MW7"ADM0,LQ!/3Q+*V8Y]!W;$)O,VV6A2TF>:'C6 M41O-$:%W%D2 3/0WT8#B5X N)D7*0UG= )T-8T>=Q"8:>X[Q'QH[AK!+K2SO M?4M\XN*ED<]1M%@)&)HER_&XSHE P#OYB%&+0A#3+*LSQ16%B)X,HL\ MO$/]G3ICY)S=R<)@99=%']_7+0$.I!BW@EF%DDPOG\3;*/D :A]A*N"#M^M/ MXI)6'(2U$& MN\*310;/?_C@+)>.+13==K$DNBN"[N84Y28%"]Z0:\UF9D#$4#=G7?M!7YF> M;L70\+R_PHH5$6Q.H(5'L1?AWY=)P=!'WF ^T=_X7G^55JJB! 6@!FX#!Q'S M:!;==DU$0,Y-P^1?0A)5K(@2Y 0J'1+UY6+KDNT!+]Z*LVG%Y)!Y%?=2]BKN M>$+^>>KT)V-M\$A^>AJ..M])N>ZO':W;)W]W:D"OYZ8P2#!+9M8X\D$0\C83 M%.\(*%XFJ<3-DEV-$KQ/'/D(D< SG#<$/Q+H]$#2M'TRP82N%C)J[]'I3I6(2T1=?V$$8N;\H^8(^PM$>L#KLJ=&SF MP%/(M8]/.'&DE(2E ,<69H;#M(!Y:6,>'O\."4WS,L3.G&L'QDK T@%9">S* M3@0)WM =H1=D^RA2]NW(ELZ;8?DTW3$-/B;_S?@F3(Z68(E=)+PT [\8R/#4 MXL%QB [RM?$0WD476L)1.5C"S&\#R0$K?C;EC$DV11!U&B'F> N)6B_-S+G'WEV@ MC@/R4]H5^?P- 15JIFBV1FEQN.&9.0/#\%>Z;;SS+Q#&BYRV-*41 0^I8SDU M14,VNW U!*F #=[IHGJ"$MF\&B$_ \!(H]!W;25J/V2+GEH<%64^"(=GW9&7CGP1Q2@.3:^ZC83E@ /W+6:%KT7MRW]%L@;[IIDV_9*GP M1LA(O.5#S!G^J5&17<#2%\5 E(,S0GJ2*"VL+/9"84PZF<%DS9S!9*WQ=^VQ M-_@-[ L/+)%Y,E=],LLY\\C%OXB5'")BU]'$49C>N6JCX%_R=^"RZ[P9S[J] M0"/"M?G8G1\]P(V2/,3.BTGTZO[]ATNS;*TW<"V#[+FR4CW)-Y < MB#?-YFT9:6K*T:6M*+M]. ;\!8;@H#DCZFE3 (9"%"2673D+@ *78]S_1CY; M*)]ODE>UXK+/S0)XNY=H"V80!JEL3W?*5USD:KB%9Q#'W^#LY-B4VJX*:E5< MZ'G0 [_*%&VI!O:8&#V#>2(1_#H+/"^,5:IRQ95B#R8(#S"*B@1A:%W2^*.# MVXX_]>:^%25@C/:>W>5*W]D.*=9.HKPE*!M5$'417("74+KP8(+*R#L':. Y MJ'#W"P(M>(6D-VWBX7[=IBT0G!;^'!ZH<:)4#WN,M5C M,VM4Q:,60:^W#*DILI MD0+Q_8P0%(BAV/!+36'2*B=Y<=>\KI=\7'Z4V42&"9%"0#I;YYM3VA?4^ MG!K(X(\T % ="J0K0<$5'1@J^I'5 ,9%D2: "AJ6LZ"7J=.W6M'LF[EP^F' M.C?4)64 M!F"H!]A0%5F. 8^Z)S82B[:;."V#, XC[IO'O% 6Z082[+FKDW%;YJ/B>XHU M)=1E/T8(0V&.OR,A R$9NQZ2\HIGHQRR+=0=>W8DQ/P8F)V]/W>=TV;IK4) MLIBRR3GX928[=V0T477]V)<54L$T93XGELZQX.6//2R7E 9@J I8RT668VH/ MK!04DQ&I/=-UE^7-#FY6+H(; RY!$MRN9-""49.V_\G5$ S-*4A^6UNBXA@B M9:H4O@V.9LA'!U,"VVCE$!3N=V01GDPPV<"37SHVPHMW,DY(2?,%C="4C)"H M9G*TB6>>8W5;9:TKBWT +\^-T"J$-)A+/.+&*YZ$VX 9.*BN+;E@ XP@'JZI M;Z.IUW5=G[YLEI;?3:)&Q66MBEP8-5RRC1O?Y/7H8DOL=F*O<^/&N>6K+GW86G?EBF+ABU=4@'P.$,<,ESP+Q%4QF%N"6 MK[CXU7 +0XG/RIT&XD^8#K%)6+*B#SX% #F2SZR3Y,)EU:2OCAU@V'#"JTOS M7@X846[G#6'#=/F.3U&]B@L_'WYA8'#Y\J?._(Q+WRF%/YJD^:#%8;Z'24C2 M-EW#M(9T:;O>5FRZ4GNFO5FO:&=:9L. M::J2'\-ACR4B:?6TQVZ_U7_HDD_K]"1:NS5ID7*;GC7:M?93V/G/M2HF+.$, MH3W;/'(R_H">+2I:9(!A_$[&4N8;IS)UDZ/HJN0 \$+DG:6L2M3B-?]<(E:1L2&B\(_"K##>*@GR.;S&VPO]8KK3$\YNJ MR:>/T?'1C=D\B((DMV7P4J5G6+/I\;1VRQ8OAA]6O?=7 M;(E#YO(LE-U;,#G,CV9>\R/L78MU#]^FV&79@X\Q/\HUHWP1@2]A\XEGL;CO MA7$+PYHAA"Q>!Y"H 2I\J4>(7IZD#@5"7NIZE%;N5 4BC:7P)WBXSXMN\F\1Y1CJ[_0=&=%X$=]IE[+K9!R7H30-FLO]XUZ]N=4??7 MUJ3[:R=FU'?[X\GH1Y JGUGT$34:(T=+T*,%!&D_49)^AF_K9W%T^W4&A9-ZP;?KI6;W$I!-.J<%5)8$6 M%=E%DJO7S6MZ7?_DU.K@'"G?.46#N@=3RUP$HX*B<8*+1\IKU:?=P(EVYWZB M#>Y[W6]DP1KTZ=H4ZP'^RM-S[,4$X27E$F?4)(L<.Q/ZU-L8(=&9>VM)]R(< M;^8RX[^@R"E]:E*3!P%O=DRL!CDFR)T0 M@;0),M%)Y>;(WX\^RN*]9_L.4TK"'5V4D;OC2Q8"O,DP3CE]GD1:4IO"IRPL M 8K2XZS8L:S+_A\F=56>_VYVY[]>IS7NT%F/-:R%+9_ I$?)I8O7EG[&OB_O M:DOT\'#V^T<9-9(:2)^B+&,<[?"8=S5%AGK@KYAEQ3Z(PU8D:Y^86%61J&5Q M.[J(Q_[4"A/$.$O>H$P6.@&!21 ,, ' .F,E;Q[G%SP!F4@2G>]]K\/:%_%G MAN]UB\X%XV>$O!RVQA77UHAWHH6]:*P;^(9'?((4)1?FE"UO95L3D;T-RZJ2 MU.0;HLG-$DW\3&GPUC4I2/#V9ZD0A!LU0:TJB5. "EY858:QI6YH B)^)QA^ M/Q,ZLSFX"LR1J*2UK0X:]HS%#RC? MF_H-=QN[[C=PGKODJTW?FC,/?>HG=:VG1[-I(XXZ1)F'VMR4#++52SB$E*%L MA):Z250!#^:/1.2Z]6^DXWV@IC:8'$NWS>O+,D/^5$26 GQ+(\JI/ MII3)*[)>T)-C>\^\3"UYF_MP"B3+ [43B*,_3"2+E0Z/R:NSI]:$K7Q$98U0@@]\IW^]_&VK STL;?6Z..]M/?_O =[Q^=X3CX\'.852KL%?Z\ MW4?>)O]8ZX702A_/GC@$Q-*QV0ML-'4IPF3MLWR/^T)ACG:..YSE";S77=/8 M&R9K!=84D%O6\1FA" [ F^P3J&1D?ZJ2Y0M%(.H3$>1OK&,T:[T@K"]0WU]. MJ<,Q5&BV,+@#WW,]W:;YF#FB5FX%!,@=NK)F,J4V8&E[3AG'57M_]/!4GXQ5 M'#[M$HY[AJ;E>=B<$H.$S0CL.X(*S4+;KX6Q;B]0UK/3^S=<.?TY$$OV,:*_ M7 2R"\W(7_X'4$L#!!0 ( -N57UF#D@LF*2P ,J# @ 5 =VQD;BTR M,#(T,#DR-U]D968N>&UL[7UM<]NVEO#WG=G_P/7./'OOS#JVDZ9ILLW=D6TY MU:PB^4I*[O;YDJ%)2&)#$2I(VM;]]0N I$12 A2I'#<:J;3V.8!<%X!G!< M/__W\\JW'A$)/1Q\/+MZ=7EFH<#!KAH2"R'(+L"+G6DQK^W ^HP(\7S?NB:>NT"6=77YZJ=7EZ_> MO[7.S__&^[BV0]H&!Q;O[/6KJ^S#3=H=#C[09A=OKBY>7[[^P7KWX8>W'R[? M6O>?,\#/%+>Y5PGI>\'W#^Q_#W1$BQ(9A!^>0^_CV3**UA\N+IZ>GEX]O7F% MR8(VO[RZ^-_/PZFS1"O[W O"R X<=&91^ \A_^,0.W;$.91K_OQ _*R#-Q?; ML:00[+?S#.R<_>G\ZO7YFZM7SZ%[EJ+(/FL,DH$_[\&G-%V]?__^@G_=@M*. M/$77.;*W\&ZT;9 '?GN1?#S[V[]8UL\$^VB"YA8?[4.T6:./9Z&W6ONL*_ZW M)4'SCV=/OAN<,U%=OG_]CM'\[].(BIPITPT.7!10S: _A-CW7*8*VZ_A>#Z- ML/-]B7V7*FK_]]B+-F<6&_?+9%"DGFJ?:P>O'+RZ8-\O#AN"(\)_IBC>X!6ULLT=A;7]7Y%-PEL4V9X?:C+C MT$%,L&."'"J?GN/@.(CHI'1/<$!_=!*Q-:5?LU0&=>SS;WUKDK1W9S S7[!>JHD-$AV?F.5BM M"7Y,!#5"TW&LSU-Q MCXB'72-L5J!A@J6W%(5'BLPCVE(RH+LWPC?F+2X!QY2<98RC)2)LET/0 MDNX(:8,!=7A6:$A-J1M.U1W<#/L>HO&#[RV2?2!#$8?>8=I3V2, 0D?HB;J> MKA?=V8[G4_30 4J@W;,)POF6I<79H;(_$T12+5MY46)U@?O5)IY-9W$ZGR." MPJA/-_M,#GW:*=X@=$V1GWO1O6\'C:7>PHA&EF6T2+>RGQ!>$'N]])R"&+=K MXWB^!.'$5[UGKWP M%J]LCVX"YG;L1^'98=S2&4"#CKD=/G 6Q.'YPK;7"2$(N:N+_G/$]N%TR>X' M=+>>6,O0"W509[V'66Q\;PQ&TP6B*+*_L %#3B8GD0U=P-PF3H9\^F-9#BA< MV:]03/":_6 3@I\0T<.^K"(^(=O^V(#GZ2\4\ZN? MSJ^NSE_S;,6_E\?2IF0[DA=$%ZZWVHYF^WXSE'/Y")93><0IG]CL2D^,07?"Z,B-GVYR,W&99BV-.UY$>MJ!VCE(*UD$K8^ M2(PP];'3@%%G^5.,6D\=;*_[&;.] _?TL#<0T@W.,Y6%+[]@/R/9VJ@ ME#(9T,7QB;FGLSHBT8:YA6Q'E\\T) &EQ-N>>(LE]9"^A$EG3F8NN'2+ MU@0Y7I;5RT&U>+X:> M_9#&=%/\*E8B>8-O5Q(-43HK@Y<:A;+%H8:A)0*LB=YPE!BK)M6?+P3[S,/WGRV$#P[3\A YKQ;X\<)%7J+@](>=7M-?O@W1 MPO9YD'[#1B]ILN1K*JF]KP?:9#6VR6"W!5\T157T*=O"%S[5-R-]M99Y2(DA MRKB)E=CG[,$J]6!%V"JV+)GE3N?;FBY#$N6F2OK;3D#TEV_;-,;408%-[4R@ M5$J8E&@)S+&H2 ?]$H1KNDUCU;9"G:N$RZB1PYG31K48L#YU>045=LK45-&9 M:9VE>WHW=J(QF2+RZ#E(H+(JD)0+8I#CDL 2L.GPH5!A*^&*Q(C@S"FL4@A8 MG[B\OHKZ9.JJZ,NTNMXD3J3WB/KS.7*BI!YK/.^Y"5("]:W3)&627A,@) MU MO5XC3;+-6T$M6>*&;,B;B,Z S&1T!^K0]+OG_D8=2UZ; M=8?)"#W)3GP(]+U1VY2/-=L:X,R,]KV;FSX7 A$I U0@*9UB$'/&T$QF6(O6 MO&W4&H?9BKA_TULI%FA-C5Q@ )*O*3OVOAX?9^$D+OV^C[?YR5O&8EQ-1UX= M2]TPA1,TAS0QE\J7F'F(MAQJJ&RS(8."097>0M/K:]ED&=+I$*,I.C O4N@HLY8T<# AI0LVN!E209UZW*V6#:Y"8 MUVY9QTR]51U"TN_>DTUP[UXI-3>:*52@V5S>0R*"!TL1\)$ENM-KR"UA*\P<6K M0ERX/KV%)4S6_9X[B[N_'Q% 8BA%\R6-I/O"RST2L MPKK@O&9-N=N:;P)IOMP[3'6]D6R$-""S9(L*$@*-4O=5 U)&(PP75D=(N Z= MA8R1O'.>*%)U"ESGKU'@+%;)L#Y0>S%7F4%6PY1RJ&-8$I0D"8N]7]"VC MI/@-0*Y4R7ZLID:8(Q5UR!W)8D>0]+9P-XFH^%4.D$UG @#CA(CG:06(D!CS MNJK@/M8BJ##K[G7&YUEA)Y!TE-VHL[M'2:"CV0+@;C>>4,6P66G3.0@@$A;;G":6ZK0.Z1Z8(U.0.14-2N!:IQ?V*O/MDYZ+J%KKVAY\HFNR2TNO-+\A= M>,%B@OSDEKZEM]:T"_U.%!:CTXD!I@EP$1I2)5Q*N@(.E@G5$"K6)[_*LJI' M93:G& V2P257 &^#28K2,0W(E(%*2#@T"FU$"U9-IWE;T1$5KD=KWB@4W3/- MK^@6DO9GR^$_O&B9W . R+4=>N%X?D\\A]JO.-E4H]$N_Z+5""039 FH6LVT M&6'>?FI*&#=F1BD]I3%HFJ32',QTXV0ZJ^C)M))N5ZK\9<:J#*H,KIP]W8<[ M%D5)ZB\_OBIS*HYK*JH0T@;F_108#C"$0J' MV ["[2UYW"EQ$'5K'GQ$?9AKSZR5,]""0;4CRH=KU)=J&^'8H\D@8M M4[[6:@F+)SOLI/4A#5M7\T; M(I!%GM5 Q:3%'A (HE3I&"F8E##S-E(A$:Q-7%[OQ9WFJ("R#9S8D4AG M99]3+NQ_-DR"4$_E (RS.NGE.=8@Y2\7I8[8CHIZL!T#/:&>?B(K&WJ9+"] MBC#M)@?9YI9$($>['6H=$V=IAZBW((@'$,OX2$)%-=MMHT;:[4QFTA1"P\V) M+R;.]L=(8C[:?4.:CMDR,9[G+GP0V((2IGA!7AG&1# Z=WE%+W!'F#W>EOUE M1G\*;8?7R @/H#=LG86:Z[8V9RMJH>)#.9$W&>%0S&9J#V%^X0A"['LN]PH& M$5J)8CIJH%UA@A#(&"&RJ@LEF)08"&N!4@I8F[A2U82@T[1*0M(9I-D^*9:: MV<^].%KRIU&DI7Y=Y1Q[$JK.$K?S"Z_FGR]$7<@RD=W/U*V?^AR)# RDCHG MNN!*;L%P18ZA,[@VQPJ)[NXPY'N[2LP@328#QA7;[ZW7OI<4$">O&I3?.N"; M4MDE<6-01.DDHU#4V0@S07L M+4[V4A_]AU4>/-J^Y)*;:L#,/U( &G_K=1\Q\5_%]_6UT%7NOOKF71ET-*NU M +?*J()#*AT\NQN_^:"0;#*[8594CB;XE-5>%3X91%M<2Z:ZM1?.W<5"_N(* M] M57[D.>'D7X-N"V?W[=-MJD\V4&L-X/HVP(SH,7PF7>]9 F>"NAT.R0F) M7(Q57+*OW2"C5Z.!V?<1T6LQ6K<"RGX77.>?2\V@Z1=[$P[.UM(T4.!X[&"^I$= MQ83=_[/]L_ RJ=H-MY5!^@V-,R1%35('50DI)+D$:;(BJK8(<1VRB\52NF,E M)52*,2"9SY<@#F/;'Y-!,"?)DT$L[22P%XT6WZY*#-1L X=NH9UHM:E+^ZY5 M??M)M+^>0' -C$H*VI;1[EN5%@G6#%O:J /+BTJH&4G52-P%#M-*05$UJ M$MZ>&6G) NOC817GBF"C6I@J0+(P4$0JE1R&7@-8MM3 M^TJ^8ST\CFX(,L3S%J%"V&RI#3O?IWY 304JU109, 2E28A!M8FLSUSJ. V MUL'AZ*8@1CIO"')DC=_?QN,"$:OV]"@F/,=KNZ MG"BV/-2YK2(*)G?SQ7CUY MON_:P2OJUEQP,K>7(5$<7$HP>Y8TJZM&[O9KF&91EMBG^(0L=QUMS@HR1L\1 MNS;>+?'I_?NWKR\OWUQ>6N>[FY?HSS?CT6U_-.W?LI^FX^'@MC>COTQG])_/ M_=%L:HWOZ&_CF__Y93R\[4^F_V'U__YE,/N5]K_R@[! UE:*;"C.H@<[1&>9 MTI;$B1_0^=8,\Z8@ MFDG$[,]/&A64E*:+XTJFA))R2I? =B.)W#28CJ,I!I6*Y:4BH<:H-.YM0E$1 MEE^)03KB/>?%^2H=1,UXI0;E&5[$W"B?*;8K'/"%18H:/_59M6_- 7;#=-OWM7=%>U@+-ZCI%K;LP%($W.B#0]U&ZFOU M?0[Z\2Q,;JS=??(^GD4D/KJ#0:V4(.IYW:+DWT&P[S5.L._?8?)D$U1Q'Q'N*(*>\,CW# M-)5RDF*Q&+!K.5 828VUG@GBEY,&1%TLV)DSO>-[XJ^W'J+]:^WB#$(>Y3V_@8>DSE6W7[PO MAK4M4ZY//'A-2!172H%\4]:P-P 3^T$VH:$3U4P KQ6<%_S;F",6]I\1<;Q0 M.M,WZ > X]3QO" A'+ST$P5N0?S*CH#/!$KRM6!$JD9LK9UB2KN/D/)2GN E*"A;1 M%)%'ST$)Z1/DX$4B5L[.Z@U'1\,>4\W>'6-7TA&?X*CB"$5)HG$HGW1*,,<4 M\D^=";E$%!R)R#+!#$^*]'A.=T,20>DU/:;\WGS8-UG8@??/Y,F7P!VOTTK7D)T'7ZWM8'-'86W_5V23\)9EG?W=4J>N+7W_ MP^75Y6OKW-J-1G\93S[U1H/_WYL-QB.K-[JUQO?]"?^-5Y7.?NE;-^//][W1 MKQ0X&=OB@UM_28?_ZS&J3$/DO%K@1\IS+S$%^L/. N@OW_I!Q"]Q%)64"KZW M8)I5CR"PN\(%U:*E;\:K0J7,8T930K;]^4V'B<*JD;VO9HLZA1(O<+"[FI"J ME\#.WZ)Q#,VEA ]/B/M9S4CB]\-IF"K&%E$M#5&:L[2FT$P MQV1EI^NDL#:I"OCH]4EZV#,."R;4EU>>E"SUZ1GHF*@BCV)0@]JO+RHU"8;V M@.R!YB!*GWIF40J" _JCDYPNJKWI>WUY5=[T3?HW_=',ZMWGT8WZFV*GQ)W$:'$4:]_/2](C<97UE0+0:%S4FZIG&-UDZ,?G<,KM#M&AI/G?"IO M1)6T ./7ZHAE_ZY0"55P\M(2-#7N'#:NBAAKA 7.-Q@\-H/&=O0*C/ M: O@ +BD6AI6/%>V1X:9U";$_+!D;Z$[.Y7PW\U#;T[YXU/^^)0_/N6/C[&7 MK8H>5#3)$V([4?B/I>W]F.Y_,*&+;5#F?XUB/(B?@O.QU,*16)\X#. !Q[KBW2 \CM M6JSI0'1"6:*DJJ87]H+>(EDJ]@2G! =P^+2V:)0$P8FRL+N(Z4K-WVO,= 03 M5DOD/;)=0')%F;V0!?AJM =P/K#)'JD&A8:BUM-XO4Y67MN_HZ@$CF?[V[#& MK1W9[(3#FOU"I_\A.P#!3CX,Z.*.'Y,5>X38E6BQ;Y-=M[5#WC_LA[RG7^[O MA[PZK#>T[@:CWNAF0'_:WD%MW?9F/0JW1="R ]?:HFCE^QE>&3>7[ 5HMP838ZXJO M/M JR6,J'L-5=627IY"H]*[BPGE*IT%*79WWC/[21V, M5S4 $)6OH8V%6FP%51UL;YF/%$>(_&(3]\GFHT[Q/&(_"IFOVPA [*"F '0I M,VHDPDV/TDJ4+0"X_PW-1$E6%]Y]'.$5?O!\%,[H)OI[R,T3^3M\Y>:BWQ: M[][$:O0)A+D_J(J6ZS0T%B_7IZIP&8CV3O#E%<9)*>)JR?Q*Q*>/B;=81N/Y MEQ ECYK-Z<2?NUK^%JT)HBYH>AB]MV(WZJ9GTQ]"[C_7U9<.$("\T"HU\)A, M@A.GDE*MNKVHJA'DW6YG-J>E2^"N,%+PXAK-,4$Y9N2IE_E C;N#/&\<16>: MLPZ.-C7DX!Y]"A:VN\35&QFR>V)V7FN3RR]>G4TH,D05KNO105;A/X_RZK/9 MF+RR#AID4M\VS:1F8[ZDG&B&LUX*M 1MZ'6TZSBD M7GH83I, CM8#O^(V +.<0H$('U(3D[2SR->F;T-.\%)F,4LP,/*56HI6$$F1 MB@YB^?T D<5&'J\O?@<07!$*?QM]+Z+;";\65'*(71G-BHABGY]X36[J%2>? M])L!"$-4<5>#"J-30S;)564Q!'#&DA92G,4YBM(\_O)2$AD!@LMY)5*: 'NV M4DMB0N3AN&@9>A6L!S'G*S1&Q'' WL,=&P -O4?D#B@4G4^I$7/O*.3A>>H$ MQ6P_0-TA<<2U@=OQ8U.W(T'VW&?86CMTK01?YI9Y'A<[WY;/^&R8UOARIOIU8/ 'T?79&6$Y MLE?JNL_:O<#PJ1HHMZ:4Q52;?=>!L6),[@EVD\,+U[;SW<<+9=5;52, "WQ# M#2Z\Y5!!I=F;.HGM(H:_NCYQ'PS 9K<%V>S39?8:.O;R]VJ-(M1;$*11-ZIJ M " OVX*$5!2:/=./'I&/U\B=(6<98&K0&YY64 NLLA6 5&0+4JLDT^PQQ#B, M\ H1?C:98A NO77%E4*J%@#2;BV(3$DBU%UD531-KZFQ %L=RL0QMVK_X>6% MX10TC5!44=6KVQCV_D4I?5T2X83TJH)+]64)IZ:VGK9JRA%B1:P,U]JUL+4[ M@FVKS:7PK] MGD*_I]#O*?1["OV>0K^GT.\I]-MMZ/^1;KP>T3;H/N"W './ MIX77X=[NOZY^VY\,OO9F@Z_]7%1],)K.)E^2U]5?ZJMQ6UXJ'XHK0QW;?\R& MW\EYXH7?%<%N=1,PT6T)^XO^H8H2.&V)QB6@R M_&9?A @*HXD=H>F3O5:Z\3)@ (%F'4TKOM$G)@6(N>37+DK!$(?A]>87Y"Z\ M8)&/,-2<[70Z Q,3:#@/ZM (9X84H*B<'A7P<.=&?1W."U=!JMGPIQTN[WS\ ME.*G#GR*80%,F)6*5PANBLD ,EE6>>)"2'.OOLGQ%D]M+]:9SD\%#N*8W]+E M5F?!*H(#<)IK2ZU, YPRQ!V.(YQ@D)SQK11+&1Q AK2V6,HT0!3+G??,0RS; M#6JE9 0M "1":PM'0 9$^7RVHYCAI#>9E: !9#MKRZ5$ L@07ZX.>!PM$>$O M8:(EV[ORR1BO$-N!-HC[_= @[I>_*8&C8Q7PL1*$K+\PE/X*/R*HR5Q5N+!> M%X:NB&-W'48;AAH.=*^($[RVL362/PXA! 'C!2@TJW(I:P-PHGW,6G<551BC*N^A(0Q2U>P$@+1%9 M>2'5I@F*'&4SLZX$J]H#<*!KR*Z*&NA28WI7%9.JWXVQ@%53BFM*-[<+>7FA MK@ER6(FH-_>2Q[WO* A9-\R! M$X281MCYSAX#1"1,]BZ4 #]VO6!QS\YF4K%%$?$>XHA9T@SS\O\@HL*@6"RR MT(K4I6FG

_,X@K=-_R1BM!98:" M&("^ W/-#>*^[8^KT/G1:H,@8H.&&<42P67.VX8H7$+APM"Q_<$0D[5@ULA) M1'8>N'<-=TI#N5#HZWG86%JLD\ZK M%/S.%:^8"F1OM1H C<28*H/=C$,81ND!9&W^9C<4Z#^A'^OU9 : MRDVBY86[2KN#ZSBXGF1H/# (UDE6B>R)KZV6!3>KU$!!B_1KF[Q>IEJO22V" M9;P0P8RXHRPT*).\57)D%=X&ZFQE2]&*!8Q-@#*T$"%6EE%23W@AV#U>WQ7HF6UMV=G7F5;+GVAE$HY9DQCV[ "04KT.N5'7N[ MLOSV-9ZC"SM/5^36*WO!&"V1!Z3MOZDA=KCWZN%^B@%&,UV [+ M_\2VAS6MZPYVSVQ:EQ_\W/QVQCM.=BL=]F:%Z,=:%N+WX8R*0?B]"F,>,XE! MR1*6!@HP93A3*O$S2"X&!4U!W8RZ<[8_6IN4P:;0Z>?*=PWFB-;@'?09\A2@ M'@-TH04>Q/ WEKEN:G8#H!PK>MVIKD0%F@?%E3O=[O6%*\ PGBK(O>M9KU=( M2QY>BGPOI[V7T]YT.>U9N+)3=1'H%:CV5S553J#J@FJI?E#-LDG7/#GRB9NO M$N60$Z:I!7KXY[J0(3!8ONR"B8]2XGLZU-U3HC\/K(;[Q&RDUH5(3W^-0PT< M5![YLJ$IR):;/O)3UN4:7=O'5G5PT)1+AK\M@GG>KIJ2^D9C]E@4-]-HP%:U-;XS .N$G>5J M:E!N&M2.K=TC!3;:+ANOJ;LI5GK);T'NH[/U+. KD$L$7P,M"PR4H3KVP=X2 M(*JS>J&_=3G?IF;UA9;N&"IOV",1N2A#5();JOY7=FZJ< 6PI04:O3D-; M5P@^*4Y4H?=HV./':4.*VP9T/5<%7"M$K/X.,/+S2>72(UOV:HVDE5L2U)\I MD@M07=S"7E?-!0L!MH'V"RI@'*08'"A_FK,JPS:D65!H%GA@'LKN6BA[86R* ML)$?.5Z1!(%ABG#]"OU7DFGG3TFY>"H;Y>)"96EW5@>4?L.>NL%_O M5EK-9W/Y\^GFLQX]"Z-P;_X:BF?9IOPPWK(6##F8#HO=<*?CF&)3\[GK\!1MWUTAQC:S+!RE,:2 M@R$?%OP=HI'NWI:^AQ=13?2C4K0OB[02ZXL1-2Z+B2@@Q2BI]E4BH2IT/+JG MI)J*.,GD1I,R8WHZ-34(*TNDNX; BF1P0O!>2V'8RB8:]5J-,&,*:T"HT69$6B8.6;&RC(13?#]96TF M1@Y;RHHYZHY[BL&92[^E#/M3@UP,Q.AA2Y994CW;F[@"3I1TJS>AJI2#6A[, MR#(2M)N,M6F=B>%NER>);CX]@RT/9M1-=V$DVL5IH4A%I)G8BY)%<2 RAV]? MFL-$I#(5*APPW-X<3.J)>J8NQ@Y;SIHIUG>\>(0PHUR&EZ9Z37#J8ORPI<_Z MQ"P[\9J8$':?;9JL[F(DD<=B42[IQ M$&LO7:X]\")=*Y]83JNP*7FD:5356]UV7!# I)"K2^4!244@[JC#IE4BR4L2 M)98(S<7Q9:Q'+S@% N\([P5/,,U6S]($J=G@DM)DZ71L.( CS->&S5B9R%=T M(L6+RYHHQNO=:%TDCW!_VFE;N#M-Q04I-I7\:)$M1-%8C["*C)5XPJAY,QU/ MPOE/NQECVH)C/<(K,QGO*Z5(1R?,27^DUQ+5:K$ !W"$69%^V1\0-#<1LNE2 MHE/J$7DK&30]P%^[9$RKD;E+ZMF^O1C7VJ56=SE#30\ F*-JV1HP8SZG1?&& MA\_;&6X(FQ[!0&N>CJ?$97&I+WQ\I PKT89>'XC4$0QD"T.&BJ1$1\@RV-%,70S:3?KS2< M:MNJLZCIP;3$RKQC17,D352CEL8G9H5:K %[/8(L7:P*5%(;)?6)00M91UV4 M>V,XUB/(&N'9A4TT!PN=*D8MAV[PJ5@6:JHCR(J1K5JCVNR-"&VNU=)5?E[+ M67 1Y"E-%I9KTJE<8+JI5,#OVUIW3AL>@19DT(3$+6FU2.JD[EDR" M%#B"K++39H9)DF2$[+A9%H'H%A=(JQY!%H$32IT#=E\P(\T"<,L-N3J$O1[! M )V*X8T>99@ZY71->H G!86;B?01#"QC%,$NHHL,!_IF.=6L5F)\:2#21S# M_O_L?=F2VDK6[OUY"L)__R?VC@-NS8-WMR,$B!G$)*8;A9 $"$V@ 0%/?Y2" M*I-60)9>;ZOERY1J+7Z/4+E,ECG=6VVA ]>FY%3SVQ6^7V M6$"40&N*]BW<)/;$&GN&U5K7&1-=8KQ]YYDY#)CZ*A)]95&FW% MB!_P-K+>,+J-D"-W5X[>]<2Z2EB_V%L-MXQ1V")= S-VQG :/?7$NJX6KL*/ M VR#]'1#"2:2K0^;T5-/K*M+"=*^/&CE#'W3X5J2QN:U+B<1)]9543FAN,CW M4'XX97B4F_&EE1<=;2?655]OUPNN:+-\8;WP^X5N2_&0CD2<6->($RB8= W-B9A8$'LV)Z-\51QW/0X,32"6;B^GS,09=@PY M))59W0W#1C<>^H38=X06')16<(T^7J'!)5$YW$*_O[0GKWE(XJ;MNT^?>GP: M>HP=^%F)J>_L*S3ZF21?*S/UX@KZXOD@#'QF.N&38>GI^_@V]N5@X@!IU+\T M+;R(DW@>*D\]QPS\STM^T_#*CZSG8",A-:=D)R$T?NA&_+D?\JQWYY97B<@O!O&,A MSJF\__&,F3^TLQ_\-,E_GXWN3]./;JI@3?[["?OTNTN!?L9?I<:K+T9/6_G' ML%4ZFUB!\]#0U2<-)>#%8KR,6[X5 7B3E_/G-)A8A8^M40\/A<\8>Q MP-$4^I1VM]IFXGHEF:=(J12S!(9@Q$VQ Y2%<\H"?E.RD(*3XEENZ%_)S:&Y M"?,9/>NZO#]8Y?!GG\E3J_+I*^=YVHLXK;=)13.X]R\%(3>%F<0U$T M;38[]]:_?3D^?7U*QI#C+?[RP3K!9>?^3EFXD&J$PG7X9D>$"W%@1+@.$!@0 M&/<,C-]3%BZF&3Q'PC_5;?B%FB![BT/3"_ %R$+;Q'4BO#LT(ER<']OZ9?#ODSU>GWGF/_H6-$,K@=(I('\RL'6_"S*OQ.@+J0>J/._XKS)&$FL2#2$YA7)$W-S[ = MIW200IT?+9%!:3&VHK]1-46W9-/[[Z<<_BES2*W\[R=]ZW^Q TMU_./O/V5L MV8I>//!R?0& Y&P5_(?_AD;.+\BNNXL6>0#R'Z+;:+1?T5]%3S[&]S': MMMOJ[M:*T3-)IV1,^JNU"0+=\4]?23R+(M1__OW]0GS]:(J'&(<8OR>,HQ@( MO 9V,VE;7"U# W%UI-P?HPTC7U(:ZOSB('=)U)RW&HAAE*>-6KD4( .5 WDO MU*>O&)[%6?KF0?Z.'L67U^*N:?)YIV+7U3S?U96XJ'HD9M#^ Z^Y]W/-O8'# MXT\4Q+WF.FH$VA^/C6^8!B?'T<)[XI@H]O9"D6>P C_L,AS?"W.:0G8D"NB" M<4TV[)^SGQ,0&9 A($.<3;W\4XJH8$W**W3W)E^7"6XT\H.BG <40=TU1:1: MNTRK*LD=6O> *E6*%EU6XDZ(MA87CI)-TPGC8EJ@QJ;J!%-_%IA/W7[BPEM/ MJ_.KRVO:3N%7;W#:2]#Q;4R*#H "DO M[6I>Y\)/7]$L09$_Q=XOB I8[,O_Y@NMJ;U#)81T)V?5%MK/2EAM! MCA:(;XONV[C\? M"7!4SLDZ4AG*HMSNJW3-$/NK$1$#S4_44A\**=T=PX#![X8^,F=$$\AZ=QCOOM M%.G&/7?DN<:!VL]_-C9K <8)6ZPI5Y>4.V0B_L+ M^2'7F!AK66*'/7VQ&H^XZ.4B11++XB2T1T)P0W"G0!O\+7035(-?SYL-P[ L M1>3)'-Z?=@&Z*> ;1JG;1W>J];4;,D:V76TEZVKN /[,#9:GP,'4I^O&)"(/(YW7,[H:AK88&< MC)>+4LB!]B(@D2R+8^<_?R"_0'Z!_))^M?;W"(959^."6:%V? %IYVB:W8C[ M?DPPD8(+;)3,/1),JG7>RRNXH%OIKP'1=WS9/*\N^Y 'R_V?$H]-^>>+G/P% MM^\7OE.W9OY(M"IT<]0+JFIS'3>< Z9)C,FB^.V;+R"D(:3O2(O[%:8[.:1B M45I'0'31;RIZ?S;0^0[ -#!(LE@606^_M$BJU;-T!ZN A8K*U;0;#5C:K*G M+1Q3S>C6RG4VAT[0<;H8M$+"4"88RG1K*E_;=5;1%NW:IFR# *9GN$=?'YJ^ M:PV ^2Y8%&$F>MHAU"D.7U*4P I,V=?4HK9RHP^0P8RCO^0L)]KV??SMB3.' M'RX0061VI*'Y/CIN$'U/GL_!(0CT2";+DG<9R 3Y!?)+2OGEG%;$:Q#,S.-' M72?<&F4M[#H=.7H$:,N-Q96TZ"QR@4I:T IYS68K[R6:LN.HH6Z:T/Z8:F-% M*B<-#1AG5%"?@'F"Y=?#<7V]I%!,+.."I)20WIK?="04CU-N<#2+$L3-FR[2 M)NP0X0^*\/.IB*] G,6H<7G#SX=(;MXA#<&JBP.1 Q"G[@?BMZ:VI?O*&%\D M8-A,V=@W=H4 M[?;VQ0472B@1JXA$%G^E.-@-&P+2!A-(%Y NKI.:\TZ^6%&]E3BJ]DVC0.2H M6:Y-LJ"D8,070-_$7JW=>,-\D3H--*56PD-6M6Y'8C[7I^:3?GD.__>C42.T M*SPH^9]-5RSIT5MI#7VCJ=5GQ!["H5HGR1^Q!MVI:I9=8UWW*37H585@'BF+ M<9,EC,J2!'KSMH:T(0#"_D%A?SZ=[]VX]ROVQ@TWTI0O">]Y "8/6K+F7J(5A6,/9 MTEL.IEP1BRDAT@V)+$O<9;V$5&N+*>*!HC;3(LE1,[JM.):6\>6M!JV!'W8& M7*_P0RH7Y7A(P'(8U] AGZ!>C9'>E[>O611*E:XSS55T"\DUY)#8#^>FRW(2 M2A_=SA0%+8F0,B!EI((RSJ=DOHLSJ$9+]/L+OX&4M^UU)=SJ\J@?T2AHB&IJ:2S/]J_+5V:[_(*D_& Y M4ZW.*'N/-746Y]=!9Y_S\[:L*!T)C9O0$ 2=Q4C\'NT5D$$@@]PC@YR[+- ) M"ED.*PM+8N0)HI7FBJC,:HTQ&E,(,'A&>B@)*SA^D&JJ.";X[7\_T9_>HJ:R MS&?TDE$CBA:)H_O#.DQ_M@CQ]Z$&EBYZ;5.-!C=T.5X6_5B[O.<[B@&*!VFN M!]8'I?_)@'( _NX__YZ^1WA2:>5(+,!]WUA^38G'FF,9\YL8?(&7E3OPEJ9R M':[A04WE0D =' (# N/N@9%RW_D[>]T\M73/K.0=Z*$$W>>ICJJ_OBWAL>T" MY[,L'G'8/L#PYV6#5;XX%(I#5$-R#797SE%TKEB:2UA<"AQGL@AR_EA)B&J( MZGM"]1FM?6^%M:WD&^6*N9PA@4Z+!CL(:\MJ#&N0"H-G4?;\_H,[M/3=ADGG M_3J;&VCJ2_L.-._ENDLF2V/FCE" M0%J M' 1K?'-O&",5KG-FB0E8[?3VO: 6DG% M;0?P0J0XDD06O<_&HJG6)=.J.!:BGP 9.*/F^)#GP?V3_V,S_=D4P"= #G5_ M40B\:"%UGZVJFD2)V&'^MMD-GK5FS<60*!# MH-^12O>;2$>&FMU<%;B=2+&[7J>W:P68/ =(C\MP9U$&F@6A6? B9;C:^?R MX\*;/[SYPYO_V?7!&,*_]!7EM_*DOQV%@4@5&:S:,*H-E(C4OT-M;22+XK!< M#B0$2 CWH#>^C1%8C5[CQ>YHC\@-K]H1M\WV!)D#1HC41"9+D.>_#T(;X&W8 M (^M'P\-I3/.-)I W,P1&@+3;1](Y:2AS>"\9;2?F[2^P50P#:BMT5B36WXG M&3F2;K2J_#Z4L+B(-II%Z?,W4'@T\8>8?U#,G[6&]GM /S>;'6XJ4!UQ9V/\ MN"EWW#@J)*Z@'8&>@06TH7GP@(18I)X]OSMH(+Q.[0E8&NV--2E@M;2KM/9[ MPZ$C3,Q6P[8TF:>6%-=$E_N6:7,2%E?K)K,D*^FV]X MI+:LZGY_A.@55)UH-:T^PCN ;^)2X.1]NCM2K?=>7LE]3WU&)5D !5HW4VWI M2(ECZ[$I_VP:YIL"V=U"=@O,29+DK=?AQ?B M&N+ZCE2YMV6HB&)+VJU%5Y1E=L!MVZMEP^L 8 ,;)2C*SR W#^Q4:VOI#E+Y M+FXQFS$USWO6X%:."\0!&BOO('@IE>L YHNK HZ]KRON=;+N*93V(ZBN7;:**X9AO(NE34 M^3+>(@JULE6O&AU $R#ND"0NT'$%0AQ"_.X@?N'@QEH#0A2$R&;1SHA&,"OHFQZKK2IN3<.28*TU>H*XNA JD#$@9J0HV M?)4SAN7B7)![A0E2T#B*,NM]NMN/.2-2.MDL3<(^? ]L5!3\A>9F[&:BC;R9,W0\(7-M*?, M>"U'YTG<(P;#\"S&WF4A.,@DD$GNE$DNDKMS@DHZVU L2*-IA\_Y8I,?%! * M'7< E42J*8:269JX2\=)JO75A^/11[5I/-JDSQYV=4ELI_Q&GKI)0X&' G\' MJW![)JA?Z[0%Q[)TW])LW\M$ZFNLGT;OH]D*M$#!*)F[BI*Y(<*$$@*1 I&2 M4J2D6MMX-'A \*#3/HR]ZFTS1K:"QYETE"^;VS2]V@-Z/F.8BP<4]5<#\P; MI?_):.L K >T!< ;SIW=<-*V$/#J#X$!@7'WP$C=Q?Z/F@ZU76VFN:X&YA(I M#]G,TWQ?_[-_O1Y+4]0WNJK%D33>0G8U3U((+;:ZPGM657<'N^[&OJ0#8#K:VY/?"NS[$VR"'6IB6[KN19Q69_ MU:@L#"S(+SC;R(W:7!BM[MF6X5UQ11=;AREIUFUZ:'K&>E7;SUIBU9R-.Y^^ M(I^14[6_?Q)^](LXK97L9C;@5=XJC6\,[#KN 5&KXD%5Z39$8:LV?#;7K/.S MRT:)?K\#\7)[7. O'#>:EOICM%>\\L0V:+A^OMOB<_EAB:.(G!*ROY3 WY_[ M^>+:?F/R#:;:=N&<7T !#E5F_KW!.^P2!GY^65N20!_ MY("-3J>3Z-\MUH;0[S$3I( O.ZZ+=&A'ZZ1$ M!B\P?W(RW57:ZEQ =*V\=?'^A&$Z9YS_A;>_ZGG!"P"^G+GA6=V5CE=59+B6 M\(;/D2JCS\Z],?>YA\RFC<8187AE,?BX1!+J.IFX[;^&=CV4F/7[-.-+# M^2:KT!^3:GMU2B+[K^A7?2U.'X UIV]SAPW^4HG_([E5U*[,\MZ$[Q4\CP21TF^GY#3-&3 MT>YN:IJB[KH3K^QW]C@ZOU&#U.\NPGA".SS>LQN\UG21T7KN=_$I!ZU1[S3( MO%C^-UEC$+NL+'V.Z(ER51>:(CTAVL%-FJ+>._-ZI3ZJX#A7%H6-Q98F6&DJ MZ)U/7XDSVZ'^>1C1.V6">;D#7L@DA_9;EW ]:0 M<]:_@Y98+DU)AU6WR6+,[WU4;.7.B $G#LQ1S MJC3%&/*FK*\:=L_%,\FXF>L]*B#]]HY@X& M.=U!+$=*+O"P!/ 53L)8Y3]1[,);S,)RJS_">6RTJG"VJRK(*I3PN-L@2IR_ M[32D D@%D HNJK#\C OZBBHYRFQ!BO*L)]/VV,G1[!QP :C)B-]EV]%4FQ73 M:D/DHGK=$.<0YRG2Y7X+Z*UP M%99JPG@N!H)?THQIL/:E.0 ZT.X8,DNSY,T#/=7JW UYB3E%":S !,["C!-W M?5$<:^5J"\WV](V6T>WH>RWSE^EXWM_0.'@'%H%4KD,*K01O.$W^NC&U\1O6 MXQ8.A9=(K\9 ;T0P;VF^,.O+V^AHB=8E^HP39XQ<$[;]-DHI2'DO=N3MQD+[ MLXY$Q"T'&21I0?A0[H#F1$@>D#PNK8M^''O01'LT-Z=V'Y$Y"D>4@HA4R3E@ MCTA#I:ADO^M[8(]4:ZQI54^[FB_K=J2;:K)K1V\%NP_>=C>QE-@K8#^&JRB@ M3VCFCV!^<:04M9FNZ*<:B$W-7'?*!Z:#U/V\J85;9K[/AQ(1=QS$V"Q!LC=O MS8 T 6GBYFCB?*KF;_%$V2[SS>*DYANYS7"V]/@@S,MSP!-4'.9)TN?W:S^T M#ID*J^=[.@UZ/ZWU!@V=L%W8%4.CX+ES%?7T9>U'/N:!4_UL_;&YLAEV(NK] M1K^8X_CV3N(DXKG_($O!6$I(*)!0;H=0SJ?(OHE1&D2O;1#]S1[9<5+/Q339QSQEOF-//&)/U0FFII;& M,^5?9S:"7'[V*3\\+M$&F[/5-YTD 5Y"+7FU-I$ 6]47M5IM+C7G$H$#W90@ MZ"Q&GK^A+:0(2!&0(B[>W_JM'.'/QW6FV7#F1ME"'+PP4A"ORP&.B+1- B6S M)'/[8>"75"W_[//LMW,@7'CE[3TU3P57PYC4-22[HMVXH>J;QQ09NX2^?GPP:H^N;I MW^B?IYDHIB:[0 H7_ZBZMS+EW9=X?X[O],Q1\4D2?;\X%,]"/N-@\Y]8#?E? ML+XO'OO=LW**9IK_O':)>'K"F1<82ZXPGEB<^-__\W(RW^YZ.<4Q'??+$TV_ M6+SCNF Q0N=:;NIJLI&39]&G?Y'-4-YY3_69Z/ [Q *OZOYD7 M7X,U26R9)6]S+Y;M2 @Y4YOY7XY_]O2S&,S//W2\.#C^BZN9,JA>\,.>'7?< M=U9?,/0S]?V&$^AG.KGC'ZVAQ!M#?4.LG%FXX%SXG[Y0. E@\/6KQ=WZ0 S MS@S Q =H>,:S_/7%UI]&Q'%%XI7-1:OX[66/*_OMA]]O26*E#[^,I%_Y"XS( M_+\,%O_EWS_LP0^;^8WOG[<2_.@GCW_:%3D^NR225&F*^5RU6N6Z5[_WGW]/#QAUF*;3Y+M>O"JV>%,T*)9B4S.CE M@;YRM5Q\I$<*4T%H%?E6CR^"KWI"HUKD^M$WO7[TGR;?ZOJ6YARHL M&=F*R-0'^1'I>671E@,UVC/UTF^5(+67+_9&Q>2(>%R>RH0\9:3I5"8E@D45 MB5$97*(96<8UE&)Q5#GB0WX.%YJ/I#;)"35>[BBYC5HIEZ1R**$2]N-(2<"T M[:(P$,5R8\&UZ&VIS=!@)//C2'.B[S21DTL@IJ U-.Q)K=:82UCRF70@YBVR M38^0 H:BVJ#/F*3(12/)'T?*Q8TY+#EUW; 6=1L1]KF6YG2BD8E/7Y;'%B[W M31$1M+;N=J* [$SMK2.A"=?U&_G=5,> M%GQ$MZMA:5VJ[Y3]/!J9>-&!VD#G?3'H(@5G8R&^->XR%!>-3+RHP\Q6C16Q MGR$[HSL4=MOV0B^%T*G#ZQ-S5+2K2LW0HUN(A/PXDJ*%3FO- M^HK8JTW, QSNGJ- M7X>Y4LLC]M'Y&D8C$U-J&!U>F \W V,WS4W:=2T8:95Y-#(YI8#8MO0J7@J, M'JJNW#%/-LIL1Z*24^([$SR4-]Y,'*[)F2YMJH&SZTATLW#*)!TR8GH7ARZ$::L30U'2UX:X;;$[&P M=?9<1T)/[.B&+%-X4:?;O+#C:GTY9XZY?80[,CDTM]WLJ&6[K/!Z.<=:V&AC M-&?14T\L*A-(F5Z+[S5$BF]URO7R M,%J!4\LZ7PRT06&R00KDR.<[XUFOL8R>>F)=N7%NX;.F7^&'E7*E,BC2.RX? M ?K$N@YVW6&I18^FHHSLA4)W2>X^0M,&NL(Q8ZL2Z[H/\5MI4L#QBR=QDV*6E+E6.AIY8 M5RV4T6"N[0=(L*UAS#R<>#,Z8I\3BU4.:E)+JT\$?B?LL,:$;G2H00?8/A)# MA_K<+>)5NR5:OJ9%I(*<$,)E8SW$V'H165?5JM:5EH36CU@%.P$L MMC[J\,98$W6J+0Q-T3(L/AIZ8EU-)MB,&@;-\+)B>R-]02.%2++PV SRP[20 MK1_@S6G7J ])M9UGJGL\6H%H*)K@($WH6>J"+G!(725RFB MUW8_>NR)[9KS M'N6OM.W T+NFT%8KDP+NQ4,33ZWDUDMD:K-KI-R4R,9\(*E]L 0GJ&VP&$\L MQ;5S2*Y',\7&)KB-[]7E_:+)3GFLY'A;P\1&5G$.AB;)K5^<=1?U MO-X6J48^$)0B65C7HK$G!,9S=$E>:CM Q\PL,$P6UBO?1 M.5G:;3I@:&)>A4[>[=1WQ2(B*.[6S_?E<$K$3TV>Q$.:\L5J(<_OALAXU.MH M@R85/S4Y+\EMB0JUW*)&O32UV]I:IXMD"))Q$O,B=@JU:RUJC$CEALV"BT1+ M,HQ#L1-#6:&7VZPGA8&!31ECU'.#43_2+XAOJ(U-*<\FB8,%67%,4UYYVI>G M+UXJG^ &?[R]@_NI?/O7X-/2@N+[-/TSBG]'7#)@O M+K\O'N]$CYR93OBD]3Y]']^COAR,*Z#7RB^-&D?[U7?79GGJ.6;@_WAMOIR[ M!7V'W?2E9>H/+'=1HV(J*F M5X/JX$9 :GJTC< @-:5A(YC/# 4W(@4; :DI-1L!M:94; 34FCYV(]Z9"O(K M4]_E)LV\,S#Q;!Q\I1""WUT$Q3'!#__[B?STFPN"H9^9JQ:"8/XP$*2_<#4M MTXQ^L? RO*UJZG,\R"V(REL%XW/OB\&'4>5CR 5[6W(!I0"R V2'J[$#U)*N#H _W=U# MLD;RWP0!?)BHW_"E 62^WPHS0L&XK&#@4#"@8$#&@(+QNXSQ6\K4M6OC@<1< M4#5Y3RY+K\ZP-F>@C=3.%,7RVM @IF MO*@]\-'54XJ!*X/G2-2Q?@HA]9T7!9?&M)KOE(PZP0M:/6PS;JY;)OZD.GV, MUY+K6$\8'NK^HA!XT=)K+K]5S L,.=Y6O1_]=#DY,?Z*K;J.6I 6FU>J*JU M?MUJH;@*LA!!ETV2R6(D=J*\"J2(/XI52"%PSD$1IXML7WNFJ: (&F1X@PI+ M!X8XEEN:\]U-RU&[*P0S2%Q *IMJ>'6&*.BY"5$<5G)( 8^FJ-8Q2Q^ C.:X M^3J6I?%3!9@@0_Q1H&4*<7,&A@"1C"F<:2H8 L5 >O$+CCAJ$3NL[FTVG3XK M6D)[JZRE C5%.U?FB$F>--SFU*XB\H87-[60'ZU=P!'LIZ\$AD8<<:J9!>0( MJ$5 +>(/.2+6([#O]0C%P,9$L=PR$&'?:,TVAH=-D&OK$0V?&+;X$.OPV,99 M2A)=VXV;@"- 60*<)+($^IHB<6.>JOOP3:5CDJ_GZ][%)'^5"WOQ.J-0?C_V ML+[S2?XJ]!_*[\UN[:\R_^YBDK_*JH/R>[-;"_DW[?)[DW[3HNYJBA_=RSS? M P6.E1_\J)F_=#NZ%X%N\^#7:CSYBJ^@G>GR1BYOBR)83S7D? M_^#O+] Z\O%NV#N?]T^=LG<^[P>6\Q3PX+7.NL>;]^/*^4\\8G<^[Y_ZQ^Y\ MWH\KYY#/;W#>*7=,/#?<0;'X WJR*;M/C3A#>:YYT)"0)D?$ZW?LIWCLVW$ Q0=8!O'G(RF2+FF$L4EUB#8#2?1<2=V(HN<;&0' MH9D>&]_EH'E=6]Z=A4'^&IEBTPHHXLA\\I>HKL+/_PU-EW##S88R3O(KCTT"R,WOUBM #;93U\I-HL19XPL MO'MLPE/S5K%Y@;"_7V-S6FP.NI5]I8RLAX&H;YGU7).!1@M"^B@\2U(?'M%W M53-!XBX=3)_S^$BLO>EF_K?G?R_T^ M-%4[ID)A]AW<>T>T<[8J *P?F!(,]$XPY7#7KPZJKKXUM$*_&&!:>= J@%CZ")7(,G*S$+SQF[ Z?4=11?<0AC1 M!17I5726( E(%P^0,GF"=@E^)X MQMN$6*!<*ZR7MFRWP$7O TI.(526(E'HTH$NG8=RZ5PL$.(U8(JK[G(C;;05 M/VRK<\_SVWE5!,"D/GUEV"R.(A"7, P"AD&<)PSB-62:5;R(;_IU%2DK5S?AT@$USO:3S+HF:O0O% 4Q&O0I#7:K'6T36"4I3VG5VUK MA(TZT?N >S2&L5F$?BUZ\):#()@D8@_# M07M^^@3D%@W_$$G0EYX^ ;E%ISM$$CR3TB<@CW8FW9CKM>PZGI=9NM4U4[;0CPP$JY#BVD3@*O5:4W; M0CPN$JY4B#MM G"URMQI6XC'10(\$^[R3$BY;Q6X4S5;=#]P_C^)WF9_-:K[^1CB"OL9'<7DWP0<86-0^]CD@\B MKI!=4S7)6W9?_*S73C:SDG>N8YH97]X>?Z%9*]/9:5IF&JGV,QU6"KX_M\7Y M*P$_A%?V I5^XU+GG*UV#VUZ^<.5FM\J9@ 6M><[BI&7/4TM.!;X5?QB)WRW MS55H]4>SD.,MOL!:I;V^"M2.A!)QMQ\RR[R:%0QQ?Q\&N?,7W'L(W)^_8N]' MP;X8T+4RVU5[HE;D%'4R-/JY60Q[T$H(SS(("6%_]QZI\U?F?0C87Z+R[D\))PI/]F$ /CLIZ\TDR4(%@(?GO?PO$]!].6' C^_WDA> M8!0=9-B8[O)B6V;P? S\N D2DZ60#Z__[C'M816AK M3)/C$1;0O2T#Q%-4N* H021HRJZEG0H+;Q?WTR WP^;(NM5"6FL['XPVG(22 ML6DABS,P/S/=/@!8"_"F# 1OA*6S6LSTV 7^C< ,NY;L+?/^D,]9ZYI2G*"SXG8.@ FNYED,A^2;3,%KJT=]1J'\; !%?G")G(:P7G[R \ -@8XOIKU-J+[N,OC&10&4PCYKV!#L7:?S4 MX2*.8&?LE_&0T(8F_[N%]D5N\&]&-F)UHM?;;)O(<$B1V'2IE@KV'" [NLNC M68R _7>A%Q]Z\=-D!'@SME&=\=8SEN:,@H$0Y876GPUL#F";_?25S.(DC-"! MIS8\M=-D1W@SML=[HU8WE643R8GDHKZ:%VE]$FODP*) 9!'JM8/[QGSQ16WE M1NL5K\4A'=ARHK?=?ZP-X?[Y"7KB;Y!Y+F,*> DQSE:Y%P [P3X:W>K-]>ZV MQP\G2(D2QPV19J-; PWL 7B61L\8\G__,(6.AAN$Z46N]>]#*=ZKA2+'8!24 @YB[*PRRWTTT,__1FNZ._#J;,:=T1FL%:-^FJVE,?V MW%-X*$,<#;^PUNY$2D[G9MO%;SK?(R)@PVKB:$4V=LWO:(C $5C%N;_]T98?Z, M,433,8MNIQ6*U+3;%W.H Q@%$&P[(4]IJ2<3.A$(<^47W'E\W,_->E MT:&!&(9%W#,W7,K-2B^M^CC/JQ;PW[$SV ;+O 'B"T >,SN($#%*" MA^=C'9Z7NG:_ 9_[NI/7]J-=4:2\_;"M4-)PHL3'9QSQ@))9!'U-N[WED ?8 MF/GJ]'6+P1(I:MP,%PHBZ8:M_"EJ\@D7"B+IACWL*6H<#1<*(@F>2?!,NM7& MU#_>#ZNVXEA:YJ^&XWE_9V:N8V6RY9S0IJSFW_#X3K,?^E6 MNWF6K@7.=L3+>&%2+-0WCL;'ZGGLB4:R./9:.4OHB(:FRCLKM9\B1_/="\## M"GX:2]JFR ;_: OQN$A(9>'V%/EU[UX 'E7PX1%PW2/@(;RJ_QQKBV7THSOU MF,;Z]Q=HI$E3'NOU07B!_-:K[^1CB.NE">9:9\:=3_)!Q/42J8Y7%]=+I$!> M?2LS<;3FV\^1$/30@CV8?/?A4)U]>G2&:99<,S6WVY@*AY$M.1XI> M% ?]/D_5[_T;HOS>S&=WW13PK"B_2$CCGX+=;B,& M.07:=1,G@ATAR._..73777W/"O(+13;^*49_3,R8PU3;?=T#@ M<_;35RJ+X,G25A#F\"R'9_EEXQO_%.8VX167DQY20W(*96&S1;@6O!# '$0^ MTED439;(^OMF/'\G6PQ]K''A_GD))D^F9K)WESP)\/B2K;ZCL1-TQ9F459C. M-9D?.M5&GB0ZP8B*+A\DL##0%$S#@&D8, TC=2:'=\-\61D6P[FS(9&I M#M6TF^,Y@#GH[$.?L:_/W<,:J MY7(,=)!9F<58>*+#$QV>Z"DT/+P;ZJ*W+U;#JE 2L3+>F.E&@QGM8JC'.999 MG,7N.L7RT%S'B0.189@##'. 80[7LCJ\QEH_-93F:TJXW33#&A+,N45O8+K! M;,A)&'6(;4!IZ ^!_A#H#[FNH>&WD+UKU7(#H308B&6KK[F=B25LNS&R*8!L MDDPV!87(A@$-,*#ALK:%W\*V[(H58CK$-&1-+ROKZ5X.5P7Y^M)?C?-Q=@&!@4R2Z.O@OMF0A?25:'I M_AGLZAU[[S7U.6VS?A2!OGJ?OGM-WTO;K!]$H*_?&/9>TZ?3-NL'$6C(T#T@6E#AN>-3/L;L85P?();?^J[LN-&RR^ZNZFN6UW)L, 77,:OJ69K,]W_^RFR&]H^ M87HY3"]/AT4EXK%C-$G^@-(37$7,"CM<7[$&0FTE2VXYE=V$",%+@NAN$O;O MA%EH, LMI2:1M^#;%$9#EE=QAR]TIY6]M:B5N2#&-_7I*XW"+%.84 X3RE-K MTW@+PKV%NM^1(W,D"@Y-CQ=3U)IA'$ XL$=D&5@;!I[A\ Q/KU7B+1COU+UB MIR4H:[%<*DJY[GA1JV_B4_R00DZC]YU"WM+\YQY6)HCB@ ;5CX_8^![Z> 1] MU0FFIG8Q[%\_,.MTJ,?5%R85I'BA%'7-?[5A>3_2K?K^FL9X:[1"\!XEK$-Q M#E2R.'H#)RCH?+F \^7JD+@^5YSVVEQ]85+!%9?)>?\%530P/+#V.WQO"#W$ MX@.\0M3QF"H.Z>T4I(I+1')<'1%7IXJ?A(!:7JL66V8[[[57?*/,J M270EU,R)'& +8(_!L@S[6@Q8RB,\8 +^%>TR=SY)F&]_MUL+N^-"^;WEK87- MR.]ED@\BKI!NTTVWM^=V_>?8*"RZ>UDK5UMHMJ=OM.\]KU^@U>/VDN6O#^/4 M)=%?\61Z/ &X6A+7]04_=_YZOO]J'(."?X>"/[&7!.B M[6K1:^TU-3.7=?MX1AF>&6\E2O MC_)TYZ_^<_N]B6+#0^&EW>&;![8@>XN2Z80539UKY0CHX(?KNPHW:--#OLZ7S1Q5ZQ;KX[F$XR" E*+/V1;ASE&2 MCFR9ZU/%K671@#5 L8]((7H0,4]#XN?5Q3SE":%G/1$OV53X DB8]U)-ZD+Z_P-'7=>_[DOV!& MY'UD1)Y0 %J:+\P.A_J/9_DLS.-#O%]@> ''25,1-T*]%YWE1'R]S5)4\H(+ MN>#>TQ@^B M@8L*5,Q[?1P4E;88.:D)IC.@MJ;4?MD:]ACL'5 #S'Q\V__%C MJ !F-%[?.O ^,D!&[=FD02 U7F:G0VF\&@FY*@?(X)#?2..PKCU4#*!B<*L9 MB^]C VW\M;"_,7[V62#R*ND&[33;./L%[ZO:[TMR,MY!=#>8MPKS%F\E; MO/I^/ZRK[_:AR#K,2'VG>CROGD,]O<-XWYE_(RYZNP&O_[^<3 MWHD7-)$B>-LNSZ*^T54M=GC&%VA/4@@MMS0;#H[TQ-;"YNJJC7J=CPZ.Q-[A M]7RZ[;,8;BL[\3>?9W+I;<8I(KA'M10ZI47FBZ@ZK:D7 :1$4BGTG8 M(NLC,QSN!,^)I(6'QO/O!CB> \[*:B.%[FQA\^5BI4BZY)X-!0[ F0)P?K49 M%H3S>Y,;[P/.R7S%AX;S[P8%##[GI=(< !I$)WY& MSIBT AN?SPP#Z]^(,SP'HXFI(+3JTL1*I5F]!D9L%1\NQP@T"#)'/V'WW MJRSJ9N!K*C3=P2Q+F&5YL]:$(XI/T%M>*H:6OFJA8KF*+!OKW%KPJA&],4=[ M @IS*6 NQ4<:[J\^U?10P34,$3]G JR:=]9Y B\A0G%*#LA!WQZU8R8XF"(@ M$\ :\@=;5GD<)PT>?&'.""@Q7CM9PJ MR 50*X!:P:V9/W[.!>\0/E%R987B3!$LHOY%_(O_>1<3G4P IH:DZ.WE6>:X=T M2R_C!+X'JN: 3X=V#IA["7,OH9S#7)U[R]6!<@YS+V'N)91SR.?WP>IWLK*VY&BJZE0<0ZB&2)'3*UIU MPDD$"L(B43S+X@A,Y$BU]>YRX+VNE>ZBX+U(;X@_Q>Y8R-$>GA\$1H'PN>*P M;8=68PZP2\78)2B859ENS]'%L'ME#]%%L7NA9@Y_BEZBT,BK;D$TD()8-"N, M61=K6'SRLC%Z:5CB )Z\CW?R7JCYPI^B=] ?.SF/0W8&-A_;6FM:PMA=!Z 7 M! M&\,5)&N9+0G-;&MV$%[WNIVM^CV,!..(S06BG[A'Y:AGE!)D3*2]@-8L@ M]T88:2)8; ,@(BJ#'2COP7NP8M\42-#NN;W0':'=P ?,WFAV2'J-4,NK5L-I2N9Y5P( M@']H+(F>T^;_B,"'Y_W= _]Z)HMW )_1"B03C!!=U%Q1*)5M66D6XQ/_:+0@ MJ==LCK'1XM^^/#6U,VRAHD5+ZS[M(8H]F1NPYSWL:5I&5A3'BH"YBV:8L1T_ M^C3?R10<.P*OIZG@*\\Q=56.EB13TFW95G39S$3[ZVM6] G>YW@^:2$65=\\ M_1O]\_37BJG)+L#=XA]5]U:FO/L2K_KQ Y^SA^-WB+Y?Q)+Q!?F,1T+_Q#H( M\K_@K5X\]KMGY13--/]YS>CT](0S[S1&O# N'9:22"Q._.__>3F9;WR34QS3 M<;\\)5"_6+SCNF Q .//GWM P',.#. 5A^ \AD3\DMM!#_ZR>.?=D6.25A2 M%19C&!*1Z"DUDPB6Q:0I/HNH>88J4X1%9CA-?SHLQ)EQ=]S-Z7>?'C3O,LA=) M1KTB-(I\M\=WQ&I_+.$T1A)$:F96$%I%OM7CBYGHJY[0J!:Y?O1-KQ_]I\FW M^KV,4,J\G 8@;Y3^)Q-/)Y[N:X\?/R_(]:?ZEVYG_(43>)%:X/V=IA<3;3E0 M(Z52O?1;)2D+_"D@U\1KOO$@/Z(;TV@-0V12D@D2E0@*1266H1D)F4YIF:)0 MEF;1(P;D)Z6L88EFOA", KX\T[9<.)FO?"N44 E%?AQ*;.O"=K+NJXB5'SDJ MRZ[=H-F1,(G^<:3EX;2T:^F&4>YUP^&\S'D:%D8CDP^EZE-W45WW6D;=;,VG MO7I?+OPQ$/;5HA/NUI+W*E5D4E MI]/&O)ZG.8E(ONE>XT*ZV7&JB+#HC0NEB=&S\_-H)/'CR)Q)"G/%5U6CO)&7 MUB:_9)T">&9B3LS:G1*[L5Q'UL1D/W'UEB*5P3.3]Y4=0,!6VMN+S,\?'0 MQ%*M6:/:-%F:,7:#IHFJ71\S&J%$)S^_,65-G,Q!QS>5F>(GJ20HV!P;DQ)NB"TGHXI4Z8NQZANV3)M&7^O'0Q)O* M9JT^GQ2,&1)PC-XU5KW0T.82DWQ3U%K-FF.<4/AZL\_EY^2B3JM<-#+Y^=L\ M5Z"6WK#.ZVRO5-G-BSN^W@%#$Y_O;8;C]4A9DT:OW*2&B\)X524ZT<4X\?E. MR]OD3;-7YGM+M(69VCH0]7DT,OGY)$YO!CY.:WR]$DR;8\*4Z3('AB8^WZ4W MBJP@0E5<;\93,K=1U#4?#TU(M>**2).P"P0_5#N\K'3*O7 [CV0Z^:[#?FXJ M[I36P@CR]LS5&Y.-*(=@:()^> +I"X.]V^)SG055W(W:HUHC?FI" A!=IFJS M96W*UY>K?6?(BAR8G5AO9Y7J>M_-B4*716K,O:]UP#H8F)K8A,(6F.Y.I M$1^*S*X[-<;QT,3$!&JY0@W"'XEU8ZTR0QS5IW@\E/EQ*)LWN7*E'8[$8#!= M#$EJ1ZI$"(8FUX"MEUC>7)>&?)#/B8%(VO,=/PFIA7?C-6O;#=QWG=V[+[@J_L]!T'AB;FI4W]@&G7=GLQQP]4*YR5 M/-..GYJ85YW3JM,120WYG+SCPWT?V366\= 3^Y7?5 >6FE\@.82N[R4'*]?G MT5@\.:\U54?(V7K00WI;C>/*K2)7V7; T,13&WVL$T0KOS6"YK:,#+1^6RJ$ M8&@""4&P7\S$I3#A]=VH.A*G7('WXJ%)@N=:_4F1EV@,P21?LHK;P-MP7#PV MP?!6,3]5N\LE8^2H?4-8R5,<[QS&)BC>WAJM72=?*?%8,VCQS=K>ELUH+)%< MA%P0[59WTC)%W5WFPV[8ZS>K,SE K+R**B'$&MPZ7 M8QH%$G[JQ%^Y2PZAIAJ!]#1O6:FP(P4#]''JR!^9QKZ_&Y05GAJ.PGFIM,'H M8O0*)\[\'3LB*YA.V4:]MNZA2K<>Z=-S,#0Q,6Q/SB,NF!!B.8^.>]2@/"T& M\5.38LO+0JTV:K60H-N@7#0L[!I $)BD('!^H\\.T;S.[W2MYG?TNEPHQ2^0 M7 ,3:S2UXMYO&X45MAXS50TO[Z,W.*%+-.F>9^\ZS8@6]\6*8O,^5Q+CH8EY MV7FF8@2S!B)JA&'*:C%'H>T.&)J8UZZ_- +$DUF>ZC>G?LDM]B84!X8FYJ59 M9B<_7,_&1F$R*,R&3J12+>9@:'*_@GE81F7H@$'#NA=R"= MB<,J/2N/Y(I&OM*?58:]%0>&)IY:I+REAG>]-B:Z+-9&MT>B H0DD^$W? MJLC5AH-H[)3K[\:T7F_&3TW2_7)>LT)5LB=BHRVPCS'3 T^0J4NFGU=/"P M>E&J\)%"[*OK^+')5Z &U:J'VG-+U.:J5EK8^X7O1:][XN17 K$UR%.H+UI^ M)Z])3N M_0X8FI#;V9RW.(TN(/R."_S&R+/E?J381D.3;ULGFP&'KB*MSEI; M.41=M$.G&+]!\FW9?+Y27E904[30:H7S5:ZDK$().W%$E_J##6/YUE:4UV97 MW6PE91#A(1J:>%ME8) #=;?B#4N8]OL\JAB%0OS4!,HLPRNRRK;2$G/BWS0 >D\H"7P#[0NBNEL@PU&;F^5GY$C6 M.# TJ22$#EI>Y[0:DI/7(Y.CMT&M$C\UL5Z5@%EC>;6I&D&NUUYPMK"N:/'0 MY"*4AHU6M$8NCEC#0KG#+^8[HW\8FU@$856B%NR^V8J4=LD?KJSZSNY$8T\H M"1.E090'#-80Y:U4[&[8KE(FXZ&)B2U+G5QO9$W7QI ;RO5U;S>=D"$8FIC8 MB!/6(3);.$:!Y!QQVQ&YA(:A/IS2AKPDN])6+$+Y!<@UV+ M)V>M]:Z)[,KHN,/DG&['ZH (C>2&-?4+05^C91KW+*/ZF(M!$,3\XKN2_8V5Z490Y\W/60Q]PL-(7Z!Q+S&JPEC MY3&T(T9*XH@:UDM.7HU?(+E?Q:(2#"OEZI(O$(L\.6PX,PW(P8EC?V\K\Y*[ M4@+>HIQNF2Z96FD6#TT\==<2"O:^N]N*5GW5J-Q$.3QXA';[I[@Z=X M;*942;4T%M I!X8FCY'Z:M7S&=K:&,)VSNN3<"JW=YUX;.(8,:6&/%DR^[;8 M6^$B7]L4=L@P?H7G8R3V8CY[ P]EE17'-.65IWUY^N*E91C8=X^.,^ :4@Z^ MI^]==4GG#I+PK_GNTZ<>GX8>K,H_#:"P=%4UG_Q!!/:9>#49ZX7CZ<7SG>B9 M,],)GZS03]_G0"#&EX-C,XP6X9<.Q>??RU// 9$#_P#?(AE-S7=EVP/1"%_B MKZ*_UOY"LKGH5W^?VO>_&C8#4E)J-@%I3*C:"^HS#"UT:-@)24VHV E)3*C8" M7N@^=B-^77SK?1Z[R\T:E-[ZW125VRX;^/T:7&3*O_(^7;POU176X &W_5&4?Z5*04E/^;8KC@E^&/> _\WI(Y_9\[(=L_JS MQ&A.40(K /%7ZG-B]"UL^>^E74.Z.ZL*"P_V6Z8[*.F/=["_LS9XRLP3$--W M8HUXYQ$.S5+76X,T&2RNLP87MV! =*3_IL=\)LX[_3^^Z$6O ]PILGE3][S4 M;GCZK_:"O]#.W@[F)5V^J^]HL\[(IVXJ6 MD?U,45,TT+4T@['9#.B1^J$8N/8J?%A'W>/M*-T==3^^H2[G2<(L[L]R;*![ M['PK/7=OY==!= L'5E7'!GTCN:WN/8\Z^%1B;THSEC)I,!DX.+UMFV)]Y6[* MW9DJ%&N_WX#WQ0<#)@P;V#S17NX4TB%=\,P!ZT'1>L .?[KCX-XHKD?:?EV&!ZKF.:T9 JT DT MSS_!$M:^&=2+?:DH8I.1T31JC17;!LWW2, 2-*2(#W<@7'O>'T$1![\ I(AW M4,2W.%O@?Z_:1V/-D2Z\)1,4J)ZK&CL![8T=61LHWCQ]=$$1AL/9%7ME4&-C M75M+J%9N@?Z?3$07#)FE61)2QH=2!GH=H'TX91S*+J:+,J(/R?R5,IKXEG<= MQVE_%[UQ,.L=*6,[F:]7LM'##$OI];6.9FR-;GA]RH@6.OKH$]SAXM4<,W-" M@=]-ULM.7;'6VQ%0-4"O'(HB$L3Q-R0.J&L<\\?311PIUS6>@GV>K+Q'QA@- M9HM\:)8XQ&KTFLTI+YC$-@6,\2-1M%;\ANZH9M' =&-:'$UK7#L?-^0F(BV# MR)(TO)?<(5=\Q!;"BTE$%MOB:AD:B*LCY?X8;1CYDM)0TWB9*.SS$Z>&=/EU M=TO4VD/:+K:XO,IJU,IV=IAT'K@)76EEF9LGT+3KNS>R?2!.K, MQ_LBBH$K@T?UZ< #;$?:7^]MMOE*N=7ZB)!H#GWG>;<^)?""LS'X[>:J^C>R2CT M;6NL5621U8QZO;$V2GB7R\L=B8ZCT-GSW<<>#U;I"$"_EKTW[73RT1KRX^US M.J(4KJ5'IUV^H37S36KZ6X]-)T>-IB-QN$&TW+R\PW.5N45PT;')?/J*,6>T M8SX>OM(18GTM:V?:>06>F_#WZG+]<%,?,.TRCP1+ M88TXU:7O"F&DRP%SZ^O*W&U&N ;1.F1\)[.2=QE?W@);ZY.1=>[*D6Y^FWZB M^PE>?4_>VST;...I@1MAR7'[\G:H^PL0YQYM1?2#^+=Y.9)E\'Z:[<5S.X'O M7*=4$H-]WQ/7O>FDI>)5MK<*)0:8./&D*^7CLMKN_("#T:IIXX)[#5#EU&7@ M^> ]O*X6Y][VG=_G XO$C2#?FJ#13$F+UU=&<>4"/C@9I@KI 9-I"AHX@;H MX*+&W(^EAJ)04\A&V%.1-2<2E?FXE1L,.Q$U,)^^TC0#R0'&I\+XU#O>P8AX-IW(8B4$FDH980C[.@OIX?A,8 M?GH;1IE7PT^[S_B(AW$ '677\4X5$RBLA: Z0I75_N:;JSW_KJ^*(NTW @C5F'.ZS1Z/'C! M>-_TT J,AX3')HSWA?(-Y?LVU<(WR/>MA; "E2TW!<9J4![@V5J=T;;@:^TV M74CW$[H*?7LPJO(&HBJAF$(7] VXH&_-2'RMT+^^\Y-/CKU1TQ]=VUTMFH07 M;7I/ZHAV,0UU-<>9V_)383G3""K3@$;TKFG7?L'2U1_E-!J4;^@9>UC/&)1O&+D#(W>@?#\\?]]&Y$ZZ/2,_:?G=0HJ-5@,E#%$? MU:?XI"BOR^O?;P4<72:K\5VR<3HVWL]/>7>QE%1^7=(57IQOR 73D5 T;MV- M95D"YMM PG@0A>_&;76_PGHAM 8+GRNK2+DO+(8R5U-[_3#&.OUKK-]86!BP MH@6VJT6OMM?4S#SB6E#44(V>LI'CUC!QR_-HFC=:W/!J>;B.&RUB[C#X"[K: M9CS'U-7,_R#Q_]*%:.@D^AU[VY5W.!W&-RCF=[O#1RWLL<7\J))!,;_;'3Y: MWQY;S(^FN%L2\W3;+3A%":P@KAPD^ O-!<-<;:'97J14'^X?1U-&C_#&PSI) M+,6 D7B[:'5SA>[OFS)^]FG@MA-I^\*L+V]/W'KTSBPONDVU*.9T.NS#E;E-KV.&1M MB82N[ 5"+(?Q<4?_ZKC[M8G/B@3,U%(4.P>>.?WNF:$&)",2:%.-?IF7S;A" MG^QGFK*K+#(8F\V [?K/OZ?WX\@X?V#=]\C'(^2K3C UM51"_^-+\7&>),P^ ML%(6KG5+#!4&BJ$[&ZW2\[I68_[[JO&+#SA4VSL4NCE!#^[:U]=*2>XCV$Z9 M"7J!'3.ECH3B<7MG/,N@=((@,G>#DQ1%,%X=4-\MS+_.&;1X]:F>@3O>JC6D MG#CB1X.ZOYKK'=XD4C+, &Q!VW'! G"^[^K3P)>C#>L[+<>.W6:.:49#JM$\ M0=W;$SRSZWEMQEWM"4-W560_JPB88<4\ XKNX3U%N^\O>C3M+9?\;MA;\"XI#7C^#\OPG8-P*,DO>Z4&-D9T7EX- M6SN3"^MS0#@@$?O_L_>M38HJV=K?SZ\P^IR)V!.GZ.$JV/N\.P(5[XHWO'TA M$!$1!.0BZJ]_,]&JKF[LZNIN+5%S)J;'TA0S='X;S7GVH'YP ] ^!YMTG!R/);[<5DBKBP\VT3@O:K#,A 4LD;B_=SJP_Y.Q>$GA]&6E]] MJ#?K[_P@\#JH=G!YJYEM22'K_#I0(V'.2AT'C6@GT;RT"JRA.0RB1N1$ M,=30P--AGQ@B678%.3H(;=#NZCQH4^&,QFP2[@O23BY-^:*&!Y4T[HCHE>!5 MRMZN(PQ5HD)+DM]02@>@@.'>. .0@GD+*6XLXOM8R]Z9PS2@JY<"]D9,A6<, M&PK5U@XJ$1G! B99 (L## 4_M'0MQ4:'XC>;5O2"!9BHXXDO#4]\LS+)G8?, M-:;[K3^G.HRD34V^.:DOO&K_["4.#G81?RBZ<#B^L-4\U?!/'A UZXM.5UYN M&#.L%SL%Q;+RRAB@!@T/B+@L"I;ZHX.@.Q]D"K.X7BH*Y*8A(4Z]]%Y$R&U4 MKT06A:84R@PU%@NLS_1B1+AL_:0[MQ64D T!PB^>Q317O44VB@J"$.I>=K7I ME$4;_T.*X@_!H:UNF$:GM2'Q^KI:Q/OJU@J8O7G?W),K]8M1N?U!X/)%-RO-B#R7]?W.!4/?"U:U4W;+MIUEL>+;O5L:$4=)E@(!.6 M]/)0_!]**XS2"B/]1FOFK:451OJ-]!OYA"FBZ<[KQTDUL=$%K[6X8910$==/B0T%0* @*Z3T^?3[@[2N!@;A S7H:=[&4+4#Q=[55$>WXZ?$0?,G.'5%&JS6O4%Y MC8O6UE[(]6;0MCHRP<9Y&Y]R] 6O$#Z>0:+(J30#$5IHT4*+(J>0?B/]1H[D M5<.H/LKYJXQSPV5GZ]1P95H8[UE*E/1A[/S!6*N?>7\W%FX%*Y(;<9;CS%^6 MX_OGNP%PR^1>J@P8G8V@N!T4MW-O$D1'>$A-;T""*&X'J>D-2/ AT#2%<3NI M/J7X04T%O#U>CIP)4S;K.H:MVW.3E/._OT,%.ZBO-7!/E7HWBM.:%D2ZI%1$ MF@^6RS[!WNZU648'( I38\W 4S9*7)H@KO4 1GX_*;*N M=2GOIV5-4E[/'IV>7"S,[-IZD J**X7S@NPC':>+U]:#5+B%*9P79!_IB)ZZ MMAZD@M1+X;RD>:=UJ=JYO$F6RB.B:YG9;C'DQ.:4#]C.;^_@?O1K<$,'=B_B MO*]L3Q6?ZSL!+O'Y%F[PG(CKW'Q/\QV9R,4%<0G\@G5C'A&7T+K]!\5S4XY+ M:-U&]H'\VM2LVV=F2']S?2W;93TR@IJ(EYMF>;PMR#(YTN/UE?W9^OISVG0% M5,[2KA4W!Y\Y_>:9D0:U .BS-0,?YA4K3ENF!)E::&L9DGO*0-'\WW^F-WJ< M<^X+LW=8K?D7TI,="C:?+QW9>*YK-5::M_'"IJD5N08KDK/?]ZA?_< A!=DA M-=D)(Q]-MT:NLVAV)",L4G-56C&C:00&=<@W]I0CDND(SU?I_="NF:96K5G8DT56DK'0@7L% K ME4-8\8<;B&O;U-FQXK@!N/:X;A8KWKZK$JS>JQFP&O8.?P)XXC$7;\X:'!M6WL[-AQ)/VO/:X/ M3FW^AWCQ;A:_)^97S7(CS IAE5#:"W5=[RK\];$#S#/XZ1,@4LL2E=*PH^S, M4,V/\-5P3]:\&$1BPI],>A\W>O\->1_G0I C/7_M<=VL]_&CH&N>TE63TP,\ M5)KV,#>D"X2= NCX'C%ZX:XL,?Z&,@OU4:MJ,>6JLCP@!OWI'Y)\(DZD5$=N MQX.#!MJR? \:8]EJ^J8FMW&CWR,:TCZ[R0W_L%K")>Q]7%7,Z78C%O^F5\YMTA[N/>Q'+(SA_D_5R\UD(V8 ,X8-I2S MK1VT)#*"149;N9:ST[1C0S?TU(7B:QG74NR[.1!^L'2A%ZS' D A]W)D"5ZQ MYR% \>Q6(&U[9 FK?:W0ZA6;#,5>J!Z+<-3XN%'[J.]MH.ZGKH_L>G5W.1QL M2N:*+_ 3EEEDI1: % (>D+ 3M\]<**PY*HEF;2)E^]FL MT^"K7FMZ?6399'OL<)WO+?'5VMR)Q9PWPQ:QHQ)GN:4IE.469;E%66Z1?J/5 M$V6Y1?K]H/J-O,,3WN&8G>4[);-."Z)6C]J9YW!HPO$^K".DSM2 M6&!%.;% M193U6Y1U_*'HPN'XPE;S5,,_&G*DHNJ&E>@;DG/$,%LW*CV9>]TU4VS@K>JT^6Z*M17-M$,1#$<%,$VCX;<*)U,NH2,!@6BICD0%9W7 MH_/Z&SBO1VJ*@O10D-Z]2? AT!0%Z=VZ!!]"36]AT;^#J#.XP<2FD(6"]X%? M:*B,MH6OM;OAE.\ZV@P=":! *!0(A?0;'7G=YI'7U>\#W$945-_YP2_'M/GT M^Z.TK@8&X0,UZ&G>QE"U \7>U51'M^.GQ/<33G#J^:W)6:RT&0CEDK5M%WR& MWM9YF61@Z!3YA),XRO"'8J=0[!32;[30HM@II-^/J=_(D?S00*J/7MOF)]W=CX58M+8#Y_9R5EOG+#XG;N38+H" ^IZ0U($,7M(#6] 0D^!)JF,&XGU:<4/RBIK';Z MF)AU5[1@<'-\)8VJL]8?E%0&.ZA#L??&Z?C\,1XVG$)W5#77Q65Y6@T;8532 M93(;5T9FGRCZK=SRR.P?WNQ3Z$3=-J?T,XL5YORZ$3[C;C.Y8Q2V4U='1Z MD'VD(WKJVGJ0"E(OA?.2LLPGOQCYJ:KA*HPSFHC!0O-@,T];:+8/]@6'7=61 M9J&WZARK8M)$J+-ZKV0[[1X]Z?SVINU'OP;W<&##(L[[RA;LY<"L@@>?V-3Q M[)#H!P/>DG9C"O>\DD=YVPC. D%\^B?+)G-+HW1X:-'^L)"X:\\+6K21?:1@ M7F[1J;W&HGUF1O1/%U>#K#3H;B>BP.(J[RG>ZPW6\TZ\N+(_75Q_3IBN@+Y9 MVK4BYN SI]\\,]*@"@!EMF;@P[QBQ0G+E"#3T]P@]GXR)/N4@9+ZO_],;_0T MY]SW9;\Q8 H8\,P)IY:6!@M.K'#GST[&^[(X/V,VLKH[T=I[U=@(JUG)6#H: M)=OX[P/ JQ\X9" [9"8[8>K-PFQ?$$A_+X7=[:(B=8.6$ _FHM+,=!/!)&L M9)>Y30NX&A=\;5/Y9A;^YWQ<[K7'=0$(>.^"GG+[CQ\-,Y-JGG_H"7 K!"* MH.UX< +X(/",:1@H0&!]I^78\1F@8UF@216,$^;J/ $7Y373,$-]S>$*T12W M>.1+^7(,%[ H+ITLBXNPXM>V$->VJ;-CQ7$+<.UQW2Q6O'TW6U5=IY<=3;/F M<."$F+L0JGQ%3Q]N=/DZ23.%W!175F-_V,OU_0TL7L'%]7)SS!.136XJ$';\ MVIG!M6WL[-AQY/RO/:X/)@O^$"_>S>A/71QG5;70-<5QP]BKNEBVVNORG3;S-IL+6H%$YX!@UMEI^3.U[MX(6Z,%KB@])BO$HA/9'KC+VM M77;W0GF\LX+]KATYGA[;.[SK3U)/N>R;'$5\>/&?^&<5[(&(-T#9MZFF)BRAS\^A?%BI2=_XQIN<\O6/WE M!;O@_&8(.*O_RKQZ#>3=L1\C!+FP=?CE][?B^&JY6U79RVB..,Q#.+@5G\ MVMGCS'Y]\UN1)&;Z\"'0?O4OV"+SOQDR_N:_OY/!=\+\NJ*]B!*^]8/'/TM% MB5%8IG#XWZPJS[3<3*:U:5:>3G.,3.5H?$Y--7R.,Y\.$Z$\XW8OL ?3IKH8 MFKW9FAOSX9+#NAV9D G\^Z9=GU.WB\+(%8;CT= =%R?C%09<.IG]OJ52[+69 MKF!W3-%62Y/:1AVL] YHF7RHY@RZ0F"%+6$E]":]X:X<%BH=.:Y'_FW+O3W- M>[)CER4L(.V2U6MN>ZFS'8BT#+Y\Q5FZUE2 MO]@P#8[1)QVFY9(F_'F"^K[I=*!0+4[MM02CRQ3J9-VS2:LCT\F>6L4I14TV M5"3T-E.QOFV2@I^%+>GO6ZYRH6^V?#G"LT++&>I#9BN68,O$F%:#;7E8K;89 MH5['"]Q HJ-A(0(MDV/:*N-";U]N>!*VW(WPXBY/E,6X:6),A,ZPV7UC8 O9 M>:Y5+ PVO8FEPZ;9Q/"WP$S[76TID9II18-I?3F>\C(C)WY_43/3@ JM#8'O#03C7+FJKX3&[D* MW^1#73[* MO-.!31,]7;*&3TECW1.4K%8>[M?3J<9W9"[94W=19M5\RYB8/8=>:R55-UM= M7N9._7Z]/==PLM/!M6VGMFL)>;NPU&7NQ.]+^QF^H7FC*(5;C=Q@&Y; ^4@^ M^*S?-LUE-[U"79=DO+ZP5AY!TOWUM ,<]417VPMW4<>#MB\9D[)FV=[&&3$\ M=.D3FBJZ5G.^6\[!SQ<+DXK?K\]:L&5B^H>Y.FGM_%(H*"& ?L_H=Z-&!%HF MAU]0RYNNI+LM@9PZW8#%6A5^HL.FB>'OEJ*^'+0E6=H-?4(8BKL.OXR 224' M51PRTB;76RE"3V@M=3YR'%N*FR9&Y3OMZ63(89*T$@6VTRH-*E:9ATT3PUJL M?:$^)WL:#F!GUNZ7#5)Q==B4^[[II)#% G[@D;BA-/'<;#R<$N/XJ+*42< ) TX1T!^.&Y!7'T[ZI$=1\D;/*HS[P D#3Y,BZ]>K,6LAE MWPSY!HO+M@VD&_<@J;;9?M.JV\.")JWF>\-TW85'-T 7J&1OC;+:T(8$,9#* M?4=D!'QM\$H'-DWT5A1R):NE^)%47[+BOF'6AIP;-TWV%BAK;HY;4ULR\)DZ M(/VZ%G;TN&T2C1N%)5=CJ*4 MMIN86V5)A@)>DLG>\MU.@3+%UN4$#:#,&(I M@;!S<=-$;XLNF?7):5B25LPD,*L3L':+<=.$Y52+M#2G!G4#UW2F3U'L<+^? M=Y,!V%-;L57TB%':=Y=3NY(UIIWIHFQB8YR^;Y3$9AI+&SW/5O3TB(B** MVR8]LI'F]1IFOBUHC%_:SI8K+=)!VQ/>PXH)%747[!E\MV::4JW6[1@]'C9- M($UE49KJ@B2$TJI6+&I#S,RW"G'3)(!F*:E2SO*D!%8'*RL&^*I:B3N0G(1& MDY/+DSI;DM:MW40NM N+)G#T8-O$)+A%;+YU=0XX&R0AX@MNKJDAZ,*)Q9Z@ MEOG1TJKN37)"69U*T=%$M0.;)@;&:*W0ZELA+ZUKGKU91I,&58]@T\3 QDNW M86P;Y;&I-$I=R16+,[X;=R"A"%%H#/<0"A,AKM%;JGY/2QNFH3016_:Y/A5'-"I& G('15)/-.29?PL!45 M3#_?;FY:A[8)"*V$>P<\CO'Q]:1BB6#5W[4DT-\3ODR36KBXUN1%H2#N:T%8 M:8:T%3=-=M?O;18817@KP:B-EKSCC*59P,=M$[-;K[%KQY1%UR0W$ZM!CKT1 MM@'3<,)'Z?G$?.-TRRVS7*P76QBWG'!%'39-*-ARCN^"++>(\%6GEA?;G1D_ M[,=//=%;U5@ZHU8K:QI3 R^/?*MC064\Y7SP[?&@A;5-4=+Z=HO,+[>^T8UD M\H3SL9^KS$RG^#Z^HJ)Z*=S5Q "X">0)CT(=8I6R, A=(=M:Y0.R%DR8?0X@VUT6U(QM04FTUZO.^%HM0$>]\3 M+D5!7@LC"J]'0L$>.;;F8YOL+()-$[V5><8V?6JG""+1U%UF@XLA$3=-&&^E M2U;&>'^#"5FU-J\1LX:QXSJP:7)@68/?KCVS,91"8;9S^HV(K@-=A&T3 QO6 M9E7"JC57$EA/_(K9L_I+YM V89.VO..4$:&U\$)I@!=Z8[93-D#;$V["MC%L MY!A2;)G*OK#L8X7>0#)YV#0!=@VS4]K4EX0H&!6^YWC-P6H,UASRA$?!&?VL MMIP8)4$LFDUJTU@W._L(-DU.0KOA;*@P"BC3*#2T$5V@9L-MW(/D)!0UL$$9 M$=X4%^DB*^"4,(O8")8%3PRLH13W0ZL]#Z0AQY>W58S@1E4>-DT,C!M6N=)T MVLD#GR;K#$IMR>GGXF+CB8$1A#(2:,P0I- 2"YJP)76_KL.F"460&NK8\A7; MDLJ=]GRQ(H%[,XN;GEC).O*XCE?!+V/U3B>7G?&F6HLK&B?&I50(8L75RA5I M;;&NFI^IT1[L!<@3I(4BJ?/M7!X/I?6V("O."BO33OS4)(H;];8BD@1TO%K" M+M3ULBG$3TVB>&?MB$6J&DEF03#=S;"]5*32H6W27>PJ;74SWC'F:C!0YXN6 MK1',H6T"Q0LU6NDR8E;##7WH5I<=?V>Q<7=?4#PFK5_(W\/ID^I8EN+ZVI?G M%Z])3,B5'GE2R 2J!ZKQ6V8VR>7A"3HU\)Y_]?@TXD"#OO\"QYMYS%[QC*^> M[X!GSBTG>CX]>/X;@P=Q7PX\=@0FX:?\\31!O9R-%@O@@0?PL8RH2!(*F M1Q/$VVG\D2 ^2! _*S6 !(&@Z=$$@;RF5 @B^YEZ,Z\.$@2"ID<3!(*F5 @" M;>C.*XC?2+GV 96'WC-J#GR8R,'V09<7KWM#\]LY^, 2%=?-EG#M.7A L5^[ M@NH5AGSU>JHIF(/'U/2KU@^[PI"O7DTL!7-PTYJN.A9\\_]](C_][O#QS[G+ MHAWGOG&[^?@C;Z74?963Z*82Z/YLS%?7^X>#NY^16@CN[E+L#ZCI=[2P_T8) MS131$\BF[X2-^,4E'-%2UYN#-!$6UYF##V:@6>_JU]G&/X+H7]IPCWY])GX^2U: U(LY:@[>^=;'\O2/"A_>]]&_4+ MTM._O21H2_9^OWG"6C=L- MZ\&QSBA2A//LZ6Y8$PY%(S-_-1S?__E& M*C7AYA>-OI-8,G[O;N+7VE=?_EM5-6T^_^#-TUNCS"N68JM:1@DR14V-*V)F M*/PI0^(D>58;N/8L/"OZN79''S^<"]10]..-DDS7JE185;L-2=S.&D$.:]:% M^+A+D2UGZH$B%9[,'$\G$Y!()Z(G/9"Y91O;89 M7*6R:@K&?8Y:JHL[]8^=7%E \&]K@;XF0459KYSF1+&+ \ M&0-1@D(0X8-E.P]Y.9Q6IGO4F MM:I="J)U"JNS;ZNE4%6JHXU4%I55)ZC4E_8 %E[D %RP[!-+< @RS@H9Q'4, M[>R0<4B[F'+(R$ !$N0Y]D^/J['WLL@=+BZG7&/3M<@]1YD\TXO'U:V>EQNM M_*BZ,\-QO=V.6B-OJG;2M[I)5JUC.^3 %L1F,62Z?'9YFH3Q M3'5?4&,S9X$7RQ%/#$Z^9>AICR1Z%GDF&S__P!-FG#F0'J0IP*^!BFCG]0?TR.%4L!HRZ'74DJCXN6O9[J_;'QAT!QX,%!UR$\ M@%EU9@>]%X[*'#=J'U6Y#339/X$,#2F_91S5T,URD MT"72FS0;5F^U*S2@FQ3SKL!/>HMA^3W2]:J'"Z=YV-#79IG R;C*+A,H6\C, M/E.RNJ< ?_AN3I3N.A89VO5?B'L]*#7R?9OOQV$Y PRQ@'L$]^5XMKJ_2=WU\SAUR1M.AJ ML2 8^9W5+IG1QJ]UP)H)64>21JOFW<7A7HN:3!>JH%43K9KGY321?M^[G!]5 MOY%7>!E*]+R>7"47.,.BA0=207?J!5S:#;-%'7AR,3'ZMBMW8\&HD$:.,S$X M\PP,S_4,%4S>D?]4(B#S#!!]K [G(T+OW,A14&H:B=&W@E*[+YH?-^.AWI<] MQS\5DUI:SQ<.:S*2T"L7MT)'45HUO"-S<1X'/'G=$ED-"DI%0:FWA@OQ8>JO MP (>8JU&K5%638.?F\U-89TKS2, "R@H%45(I#Q" O'"Y\$$,+?@ETYM*/9C MGRE.1<<<;CLC4BEU2VT2^@S<*7 X'S%\YX:#HE'O@_^ZH:9W$%H)72-L"JE6>,G]A6O-:%OX6KN;DY.[#JE$!U\HW ^%^R'] M1@>[MWFP>VM<[[5B__K.#WXY/AR:?G]@W-7 ('R@!SW-VQBJ=B"'NIKJZ';\ ME)@G.L$"%D.6^NM&(6A#Y^]PV?IM[^_& M@@I;6I QCB7OK$/)NUNDX,]-[EVO*-GU%[ [1^TCK7=E":>#XT-J?K<2/CIE MCZWF1P\-J?G=2OC('3VVFA^))*3F=RMAA.9?^:1;4O-TG^+\H.:,LZXMZ671 MDZ0=+?B&5^;#0?7W*ZJ!+>:AJ'KC=#B^(I:#3JWHCH4L+;?&]G 7K*8=F<#C MVC$Y"B6/1ZCQ6#[@C5-V/S/XWC*GAK-(FIB[T6P[D9MY=>GRL<&S/S/X^RZP MWE0\=9&AB+BZ.H6JJ_]2^-VW)DX!$Y\YX=324FGCERJ_?K[+>Y.]UM\W!H2! M&^*BMY9\L=Z8_G[EN?=77V\/Y,9ZX? ;::75%HUJO<7UNI%,$,?RZS270[7D M/B+.\>H&]O5B=*D%CHO5LBMAI6K97=1EK,@\Y-PTS468>7"M(>+@S+9F/5H60A3 M"#@DN7$P4^H6<2,?L8S8%B?$1(> Z-*.?R)(9()FQ'H7""P].J6>';0^6$L MZ=6'BH+QT$+[P57FKS[4FUUH?U2%GFS;.._.7:'G]J?FQ(WXWCJ%Y:GIRE29 M95U^+H@E3)3%LD/4#]0!/$J@GQ@N&;J'%E@$-LBK/P_8N++I;KG2CC -LUB9 M>R+?W_S<6Y?O+ M=>P-6P5K@[%Y*61_L_7K44[1R^84I>6C[?<=.2M3^'DX1'%=V1-]DBN9PQ53 M'K4,9I#=_7X(PIL91>,/11>.QA>VFJ<:_LES"6IG60*I[[JX8>:R]0TG5"2I M P]5R4__H" %E$STMI*)H@@\E'+I!E(N72H6YASKUMNT])9IEK::U6R9=3>W MC$!_FE'E,IDNW[N$S3MY*9_K]%P!&TORPA[R)F/'2QAWJE@@P@:4W!(EM[P; M"3[$$H:26]ZZ!!]"31_>TY(&FWEVJ_(S"2,U5EIA_9X_OJYWE)7KF#/1$':#Y6*11E74<95I-\H4=:M)D!'<,GD/OV316LF2IZ*DJBO3[4?4; M^827H$'/Z\?9-(YE0Z\O2.2NU9GLN^/VV(C].$B(ONW(W5B$)"JNC@(A'X$3 M/5=I]4FSN*='I+\PR_:$IID9;>\\72;H.$D#"B5!T9 H&O*.)8C.Z)&:WH $ M46 >4M,;D.!#H"D*S+MU"3Z$FM["HG\'X6:HZO0=A)FA\P 4 X5BH)!^H_.N MVSSONO8=@-L(B/JHLH-3/&], M5";O[769R,9E(J@MM"NB=RLUJS] M/B:\O]RTM"F6BU2WVQ4*@FU,M;DCM1; &6"/Y:89/'G/&=6,0N6F_R2F\>I# MO7K-J-0"Q\5J3FFM;GYDT98IK?#FPJ<*;"[;B'$&E9M&A>E08;H4@0Q'JZPAW+3.0Y'"RP"&^357PALJM1:*Q4U MKFKN+%]JCW$ .8,4>N+*II^K$LQP8"J#>F%N]O>$48@]\4.YZ>P3ETT6D'V@ M#@V4..0&$(?W3&<.>#3&$6Q4N%$=PR+,17?GZ("J>R+C>J,L<.>QJ. M6;O:8)TMY9QU!X("/"A F/!'FX<['V0*LU>E&1/>)OI'QJ"B5;O#4,B6=*9= M,D36GOU^5.*Y\*$S4V26E<@)7E[1I:6XJ0_JLQ@?XCP1%)=%&/%'#/Z=#Q+E M"[UU"3[$4H;RA=ZZ!!]"31_>X]*%[J;ES+HN3IH,)>*5336B+U/(^U>\)+W> M6"Y(0FI(H5[$>Y/I;-89QM3*(:,"=8&,"JG*L/JK'*QAJ\ _-C8O).PYN=?' M.ZNZC7RMB,I]@\J-/Q1=.!I?V&J>:O@G(\C;DXG,R7Y)-XV>MZC2-%7AZF!# MEHM97)2T#R7'1'.BC@%_U%O&B MR7WZA[K@,2XD33! MY)9$F2164Z5<-Q+H @\]N3B]QENNW&W&M8:P:E7@9%QEEPF4+619G^E5W5/L M6RT0?C\AJ] L_WIX:C,>&-P-EAROKVR'1K" P>U $."-^-/\]_FK3UCWOA7. MY9(Q]/"L/Q@X.[LBC#@>C#A.CY&P[1O-Y8Q"5!\E1!6=X:,S_-2=X?_*@G7_ M].*K^@M=S0+=F_6=WU_ )AJ[&97ZM88@3@N%;,$;1L.*#AH8+Y/%)Y2@24( -T(=:/\W%ZC\?C MHU#(F^ +WPJ%[+Y81]R,A[91]DZGVZ[U:'96J).6T"M-AVJ1P@H%'&RX",@8 MTLEDNLBR4#PDBH=$^HU.OF_LY!OI-XK,0Y%Y2+\1?J/(/*3?CS3N&_5/;BW< M#&ZUL;C(/+S$^\+C9;0M?*W=)K5^/V%FZ,P#Q4"A&*C[ER ZFDLU(_]0 5%] MYP>_'//TT^^/_+H:&(0/1-[3O(VA:@=.OZNICF['3XDC_4^0^*)<67LT65@( MY0TUJQ9'LQ9=CV22/"29(R_)X]^YI:&X*;3JW8 $'V+50W%3MR[!AU#3AW?. M+A=$]5$.E;N++#UGS=OFNK_,*5TBJ^ZC#G2H#OGHWO:H;C_6JJ4%,,6I MV[7U(!5>8@KG!=E'.J**KJT'J>"D4C@OR#[0^I&">7EG@>.4VT>:3XU^4._8 MK,7%W_?KUCL-6NQCOMQND+&MG-G.H3I7W+7'2LI:I*?[U;GJ!>5A5YYWQ>4 M ;[M1&''K-1^/W3DU0\<;G(>;GB>L'6O7'+MEDX73'&W,H=,=M:V<6#K=)SH MC7K*TLG;X)G;M("K4;K7-I5O9N%_SD?)7GM<%X" ]R[8*;?_^-$P,83F^8>> M@ 7?"J$(VHX')X / L^8AH$"!-9W6HX-1^% OG0LO>;K/JUQW6SR]X/./.JT^0G#,>U\%5H M[42O;;J=\1]F/[K$>F&1JXRP@SD M*O\$,]K>O#W#Z[VE.;1I;+X:%Z:;?0K=V[6PFHBUK4\+J]%XN G;=$>M'\P= M,N8YX@EGJ;<,/B;-_Q/_[ 7$"$L\:]ZS' GR59CN08P]3 MO)D9F^=_P3_/SU(M3?&@62[^GAF^:RF[+[$(CC__8H-QC\#?B\-! ?Z9 E;P M#$8X_B_8QU>/_>99F*I9UM]OA6T_/^'"8B?IA-BSBE*'J8[E M>%^>8>C5Y!WGA8P12=>PJ:?W8O!Z>=/QXVWT%P^F3S4VVG/,?GWS6Y$D M9OKP(=!^]2_8(O._&3+^YK^_D\%WPORZOKV($K[U@\<_2T6),5F>J3BMY%A< MGI$X+M-S/"H;GLC21^W28B//($:P0VK.^O&V([SB#'%8;C2+? MRI2[HM1^.AS=55N%SQF^5SF// R[(+9Z8J-:Y/M"L=<' M_S:%5K\GE@I\KU)JB,.>S# TP[+I'3D805%H]81BYO58,E\'DQ%+&3B<3#R> ME_&G<"A_&78F6#BA#YP@>/$EQ3V5; 5X06!A/WN; ?K9TB M%)S"9[3,$ 0GTS@+#)W,,3+.:12#B^0X7^VW+2,JP%AK6-Q*V'B\:PV=Y60J\3*9;&ETF:P_]4<#4QLU1E&O M7<_O\0BT9+YO:9IUIDZZ4UHJR,:4E55Y.!WI,I5\9MG"IAV^JMAF6:H.B@-^ M:)2+'= R\4S6JHY:^574%,1EX.%"L]B6#%VF9?S[EN+8&M1'57Z'KZ*5X]EK M5_"KNLPD6[I\A>TNC>4:;&1IC"YA1)4*(] RT<_AG H,;BM:N-C8V&6!M>16 M SXST<^RU%P.9)[+"^62/U4.1E@DHV M)0<")QCU+6V6NYTQ9>6+HM8&'3@A_!FS;#:).C^6C,X(8Z?!)++[H.D)Z4N; MN=L.QU0@K;WMWB))DN8-, ,G1+7MJ]%XJXA;TVASRW#2'+3Z/'CJ"5FY0DYO M>*)I8\67F(G5 M:$AE/]>@YF(I@/9,GI"600BU'3%I^@)6-D=#=L!/6R8/DU2W0^4*CZ\R$'396Z>E>FS;68&MY0EJ;:$!5^Q%3QE&HDC7&FWYAA9X(H6SBKI.P#6#^A+B*_R1OK7;L!UI]M4'",&M.N M@J>>4!>AV'6W5%8/S"PVH#?[:3ZWK$2P::(#P\BF2'N?-P5-Q51RJW=7K*IBL M$TJXF#K&-)0'OE# ;06CK>*B"920.J&$V1)5<:?]6=VL-_UY:5QJV3T3]/6$ M$C*KVK*CSG-=(72EW;(LE.@)!9J>T"QJQ0>=_CHJ2CUUOUQ7J)R'PWD]H5E[ M!5=[S?U8,A6[7]/WGKZ@>Q'P'Y)-Z7F?7V\UOR@I>3_H1SNV,;([,GU"7<2] MK^FE(MZ20K"?',Q!;=$G=*#8E->S>5=BA/)&+.WSX^ETSO,R?4('C&JG M:"KRH"J5-XTA5V-*6V:JPZ:)E=C%^]6P*GE=885K$WPLXFM\WH%-$TOQ:E"A M*M9B(.-#W]>X;D!MUATP R?4I;JV6]J<$AQ\;>'=EK)5V2J 8OH4$#7L_FS2 M:[M"MNAW1U:_H[E9\-03.M )N?%4:Y&4M)H0Y6W%VB\7JPYLFAA6=Q#6Q5&E MP>*]<ZR^*J"8;U5;-BQN>%.3D0N:IC M68KK:U^>7[SVD2'1S3OZ4UDAMA/,%%!-[SKS[O"0X>]_L2![#X M9^[-A"BO-NFOGN^ 9\XM)WKVT)__QB"G_>5 D5@$GY*OAQYMF^V]\K4=ZPP M^'Y[_W';$N+WZ,4_/=K(,4@0J1 $,HA4R '_S))($BF0!/F9>?-H&0D"0=-C MR0'_G'WSYA*2Q*])XA?37?W4:_VX4>=@6,2[QWU1#_'"I\CGGP:P+8)O_K]/ MS*??79G8SP3[?>#,AUX@S?WR D3M!XB1]*^!YXXIS;WI#G0-@(VUYG\Y-_2F*B'2E9:@ZQ1+3-LT' AN-!&'E07- M [*+U^SJW4Q$ZK8EWRZ3+S=#X.V@GZ^9)_+ZW\S6))7:_O:9SH?[1/]S]@7N MX]S>Y*7%;Z\LOCWRBZ7V(T@8A_@JN1\+_Z#E'5GW-YM./R>MQ/967>2.QWW@4> M&?8=&?;;YY\/9-AQUD[RVZR=JDF.Z6*Y9>+BOM&:;TR?G."_G[7S3Y\=L MBVP*'KZJ3M36N-I2\W5X^2(+=O%/7([YN5W?WM;^%WV65^6?X,UF3P/25 U+ MR]C?.S/P8_BF"ID!UW,VQDR;9::[S%\AO EMV/]&) ':#"&2 )$$R"ZN;1>( M)+C&@LN]9\$M:BY89(W82\H [RJCK&"6E7W\!B(,4K^O>,/U_KGPGT_9$(UP MDS3":]L%KRTMSHYDS_A7)GQB'](,>M%N9C"DN6(#>2_4C+T?Z7)\5Y3 GW)4 M,ILX(A@0$"#:(;6TPV\"P;8S YXV@ED[=B8M#(*^,+4IHNH;.#UJ3GLR!QTL6@F=W'_"@$* M I04L3&W R@?X*S]%J ,+&FGYSVE@).X53-(9)E&>Z>M9IK MGA!Z$*"NT4T6456J]J6?#/0!?7]D>L2^OV=K<.)FVF_ Y M?2!&N* 56^.UD%7KE1U,!0C9JB<*QQ%9A2 D56WX__\.@3PP7Y>* C,PC26 M0HG6=[N.9G1 #R%/]43D3E6Z?32:ZJ^R D->8&A,!NB$#Z;P/S#'O0->P>SB MVCHT7!A7@[BK.]AJIA%#4\=3O0-*_[IQ=PH:/8PV%.T>,'AQWO9@S%NP:UO* MH793;/(G()4>[49=G*XTS!Y3TD:+Q6R+FSI,FPS=JF09E#/>'4 ,%8*--+-1 MUX:-#W#!?ALVNJ.F72CK[AXG^6F%Y0:#T KC;.O %$_R]%QI%K:\A0Y+20#WB*Y0"O$U+VTCB 20G,K1B)KZ)Z[HB4T5>"T+EJ_4;/\B MT>5H2XFVE.EDHE($IA] 2O46BJ?EH;D77EG[">PDJ$7>E7OK'KX3JTJ^OZ[[ MRX"/N_GI'^:)8MYQ(Q;14 @S[I*&2A%F? C]6[,6._T%CTMY.?"NA;(7=:M MV>-F!W83^%OT$YZ]F,>55O>JL%!L'?R28;^^\.[[6N#'%_HL0XE!Q#A&2,6G M@?.YI@;'7'K3T#=LS0>MU75H')+4G_^>_"/"ZJ.-^>+TU4V$V"*&YE'&?'&2 MYB/U_89Y"))^ST+YS.G K#*:L8%E !$%@;83B(*X/PJB:JN>!G831>WP_U7[ MV?B[+[;_UG4+3&8:Y3')8U*9G=HA.V&Z'A?!2MTQ,\%F+Y^##T$)@I)T,A,/ M$"#S3OSX'C8FO+6M*5B!- ON=BICN_6J/HYA X;'/%%4DM"\W0B9]SE=!? . M'.N1D4"L0JIW66G$O^M&Q%P;[*[B+#T;[= (%H70!Q+2/![:[PG,\QUE2X9X M:82+GCQ6M)YK2)PN$\PQG1#%)&^GGCV:&,% NFP"A<7?S[EFI0WZAKY042BZ$-I(/PDD]I&\5 MV_O77>2I1/%9?.+A\V6XP.Z+&1,,TVG14)Y0J468BB"3 Z.>J/?<5+@O/JKM::YBS#+: M(>G (43&B7TP-?0\S49,%=JB(J;J5KRIHSD_YQ0YIA+A[5F,DO$.]92'M2PO M)695F_5-8U(?:^"W;]"GUU&9<)[4'1'C2=S%6*H/5Z));X?-O@ MYU!*[' !]_.+@J1E.[/%$B_CH0_VH=S1WV(N?V,>@0D"DW026M?>N%V/Q4HB MR/? H:STL-(JL%.AQPANSY^/^;&B0^"(CQ!SN7O*.?2+8>RNLKM$#/LCHF*: MC?_NB*I'=YZ>#;A]L-]3V?Z7,VW?"F:>N=*G37/)F'K0YF4B3GI-/W'$.RZY M(G8*H0!BI]+K /TB?6NW)')..=CAZU\( M=YOQ'@P/\/W0\T-:K!\69G:I MXV-FO5CLEQ;N5F*[$<2@.#H>)]^Q';P55HS*OD<96EJ0415_D?DKA*5.8#E> M%Y:6F8$_IKO7R;G!=&P0:78N$$XMEES/PTOME*0(7C^ = .( M(M8\HD-\! M9)U5[:]AKR] < )@35-A1H2TSIMAP>U3;GVU&+< P%+QN27WE"7>L;E&A!O" MDS-X<*F=DA3AR0<0=G^$)^M2(S=::BO:U-:>W>HN5XQ,Q'@"N3KZB2#N,I[L M':>9T&>;6TYTK(=BV!O-_\Y1.WLY%+2#OD)(2"JGX1IQ96F<",0L(;NX=K34 M!2?B5K@.@GS/FMD./76A^%I<3&P=&NY*LX,GX!;.@TCQM*=#Y3'(*BT<:Y8Q M5I )T6 CQ'F@H(#;"A2ZXR.HYXU%6]G%MMEW>%@#T-/ %@-L*H)=VU+L@+=G MPK.-G[JGTE"ZBFFU>F9/;FQR_&*\PVQ=)N,,X-DGG/V RD$ NFRB+N+#+HV M"'P N_!'(+#D:KF-L)F4\!Z+L\)XO\(DM@-!(/OI'_:)X2YW43\5H4#O=)L\ M!W1P=B0:?#"'WSA0B&2XE\U4VFN4HMML5W>YCE!0 DC0 T @SG\%;JMDMD>* M%6$NU-?[:"QBY'#O )\K3A'^GJ-W1-,@9+D?WN9VD.4C_+@_0I9-;6EN>F:M M))57M;Q8W-?%.1XC"ZQAE[SK=N=$5WPX%&<,!_.?4:!C[!MPX/Y3QM8"Z+[% M,3_*P66>(7;KID_@;P5B[RK*!TX009[]* F9#C*=FPMH>42>*1_ZAJWYON:W MM$"AAC^\)&+;6.#E]ON5M,K)PV[!C>JD M";":.QX-TN\IB(ZH*@1#'Q;I?%^S=/.^XGE@B,'TA2/5J!JN-'/DF)WAQ+(9 MPQ!P&7-/!/$>&$HYK_7K< M>I2ZJ.-4\!SOC*@YDDD9X-M 1P5T#-9P!2]]X# "K7GZ MKFJKH*6QT;K:5 FTYV]V7Q8\^(#2,V_\9KJ1B6?F\*;.L&98ZXG4H&,)[D:' MHX5A&OA3EDU&J=]5G,:O\Q>V$V@7*^N)-F4H8O]VB(QK8_('1%AT-?=H^^*\ M!2W_QY4 )QS=G)JS;442NY6&L2VT%Y83R52<[Y?(O6)6Z66U;,2E_(%I;Y"=.H[RR9A^@1!\S2V7NJH?[K7M=,FP89P_=# MX-1J0*8^2E&#MK6(T4&,#E)]Q.BD=OUOOZS^1;!^58_+5P&N7B=< &&BCY?Y M8,F:QI0A@X4W99<$< &H@PM $.])T73W7$S>\3PG MWQ@3;,-"\3:-XJ8SG@ M.W-%C:WFD-?.L..\+:JGS0R4M 5MM1Z8J$F'EX%L!MG,[= 3CYN.I &C4\1Y M(5XX3_@I'8RI+9>%:E40X M1=B),N]^Y"G0S]"Q6,-X=5D=;21ECD=#F6JN&P6 CG&B7>8I2W[ ;5J$ P^) M XC/^<#SG)_A0+80!>U)T GQ77W3)YJT'6KY& >@ET00%XW/O2$^I^T9MFJX MBI5Q7YWW'*Z]:H?J!"CIR3WL1--X]R%U3,VU0?0#G*E#9*+6@);]8OS/3/FI MD_%R8Z=&:YL60L+P9\L2-V-"7J;B++H 1K.HE#8"C(\"C-315-<&C _PNGX5 M,#A[6R^W@TI!,OQ^WR)LK%BMZ1 P8"(1)EF0]>X#:;XM:! XJIEQW%@5M*WF MJ89_]D#F1T3'-(/ W=5[2A$]_]%U"*#]BK'Y^L+1?$^EX%P5G7(_'$PQR5B5 MF=70T-O*HB-3;%Q]X(D^040A'@JAP$UQ3BE"@8^N&?!.%!"74;MN]W9[(6RP M+K/;,,MR-T:!+"Q0?X_%I/^XW),?G] YJY5C'[VEPYF>MG(M9Z=IQS?=Y_*: MKJ6@]#5HQ_D@%%6*,/<:GAR) MV_=W3E7%Z6_C8@B! P\$,X&RU>(3P8//I7L*JDY^'I2\'^ %],/QR M10=209&=I4[5J1H%B ]#!6+2Q)?=\BS=O&/W@P(QIW/4_;! C%A55I.A/C&$ MPC3"IJWM2MH%'9G&CPP;PZ) , 1#*8$A5*6"HBO7*.,6L*Q+FEO;F MTL+7>8F', 0=1N*)R3U$H2KH$QJVZL&HO,Q?8,;C5_\&[\6NXM/!8=2 V[T! M$PC#^N']1Y25&P6:>NH2%6MA,L_C\EA0&LU=N2)[Q#X;R301 MNWRY)Q9_QPD)(O<0IJ0YB.T!/*\/!Y(?>F^4UO:6_7K?,>LU$H_6O&=OQ!A1 MLK#8,9-+AFG< ^'WOI/7]SEM&27(3#7P8!M2?LX\X\8"0HP?VFHCQB_]3B3O MR^(< O\SUF^+[C(R<<_ R_TQT3#S);4QTZ^#]:?RJN,5E0X)AA TOF&,:G9# MYZB.3,=YU4GJB3]$^R$L0K3?#6'183=+RHMN,-P3XX%L&BV1I?T5T^ & M5_([3V!1;QX5&[6>KTL::QG]"$+1*H)8!)-ZY)YH[AV7JFZ>^OLU5U$#;U_, M27Q(%/X&3"@ )C,GG%K:1Z')KZC*_UPX0N_C1Y]R+/W*!6JS_)S<\6H'+]2% MT1(?E!;C57J@="[O!]W9>+N1=OY>+G3:7K,TT66:BO.D44\$GD74'D*/B\;G M(?1(HL=Q4]CVYNT97N\MS:%-8_/5N##=[*/4H(?OV/*Z%.);,UP#![OI>YW% M((+H 1TQ\HGCWK$IO$<:KQ>ZKJ7!,$C%RLP,7[4W P@>$V?X<%@8] M7LZYX<:1L&FEX6^UB;+>\1 6LI_^X9[P]R2%O9G]_CN=(M59:8<\0VA#G^H= M3QH#OM!UI(_T>J"I]J&E_ACAYK.JNQG4B1Q>+O.C=JZY=-==@'#L,1\03J&P M F3V*685S_-GIM6!1@^S7#\1S'MJ!-T> M__-GX0!@-N*( ,/> )\Q3M]CSTXF\T$Q O>P-4SE-%PM1B#M]3P1AX(,Y=KD MRD<:RLVP"N^*(H#1BRY<=L$J"EYZVNQ80^*RA4T?S2@>\X@5<0X?F0+%-8#O M'!0)6'MD,[M1=W.Y &(")1IAW@$#L$?TG M4*:6=@9Q&:8+!J_B6LP)O@QZ3["E6!L@ZB!D)__/K(7^S@S?M90=E*#VMV78&K8X/.T=O?B-P>%_T.?_S(S-\[_@G^>NJ, %]2#. M+/Y^'DRL:\?>O]R1B@<$_GX>WV<*JL S"N'_@D-\]=AOGH6IFF7]_98?__R$ ML^]5OE5PDDYH.)N8G/C?_WH]F*_;+4QU+,?[\GQ-[-7D'>>%C"%8U["IIRDF MILS!KW]1K$C9^<];EMQGZOD&VI>7FV94O*F L_JOS*O7<$X2(ELI6^S5M!T1 M'[.T>?#E^+7G]V*X?GG3\8WXKH^G60"X-MIW,CM*/'#<+R183+\5.$U\9I,2 M/[>Y'K*1O\(?);/P(-+_=U\LG#1E^!J8'P!PZQO3.+[UZ9\^U$!(=!;@PO&Z M;(QR3LCYHV^^G?X;51J/(MS+EKBBUGS+55N%SAF\5,STIWZL6 MJWRW*O3^[S_3M'2W)?:%7J8O9@IBJRBT>D(1ONJ)C6J1[X,_2M46WRI4^4:F MUP=O-(56_R.[_[(_S[QC+'])MA+.@'BW'#MW[P^&<[56)_1.R6 M^59UPO>K(I!046P+W?AU3RSU*T)!;+;YUE@FB$\'XSAX)JUP!42@GF?[]:T[ M)7JZ8AO[^%%?W03P!V_/VI[FP_,*^*2TH!7X8#?,EN:?I!]_1L$-MQ@=OM)-A,^)31@/>G NZ&WBA=BFL M>Z^>$I\SKZ47P\-7^67$4@9(,',08:S(;SUL? EK-*##%WR)2TG\>)!#P[)F M ,/+8#EU =39ZN?,7]!;(?&_CY_%?Q%_9QPOOFES_+!P<#*/'_X[8_@9Y;G\ MA!=G%O&;[0%T4ZRD3:.K"AMY&?)H%!.J'5GRX!4:P,=2#DQH&T&TR-/\) M?-O8 ,W*@%&$?N#MGN+ON2%P\M4,6,^!\H'O*$%&L:R,I6TT*SX\TQW@U=A0 M'P%B^S#OB1-ZJA9_V;#GG@*>%:H!4-*,'5>7C>D_W7G61"?T,X>\A4_Q8(^C MS"PTRP4_\,H^#HE50!O#BXO2PIT3[)*V<:R-=OP0#$*#I3@.\Q*?WF4 $&@9 M#_X$[/#7>7F9"+#[R6@VZ-4.IB,*O_[8U\%]-Y;/F?X"R$]?@.\!.6L:O!8% MY]#1/665 2H#9@Q^#[P';%K=9909\%*=YVGUG7D0*=ZAU\#BE6^^\GH>9AH\ M[3UT9Z998'@>D)P'1*3-GN \N)ZV /L,\,$3Z*3M;&+T.TH/S()FOQH4$+FQ MBM_-:/.Y 41JJZ!+0&I #PZOX^Z!QRL < Y.-4QE?9R>I%0_7\>*^E^G"!H$ MP?[M9Z:>HX Q.UXP!W/N0&&_B-AQ-0#8X$5D! LPGG=NPWU-AR*1U[RK.*W5 M9B44=O.PNRMVB%HN.OM6O-HJ?;,7QWQ-A?OQ"/C*8"U(Y'$/5U/-$^==#0X: M>GF]0W^_9@K #RM"2_$\N>5U5;W(U01?B]]C)R\[% MO-17I'%CAYEE?*MY$5>EBECGLG/!RL3KF3AJA2YT-RUGUG5QTF0H$:]LJA'] M@5HA5BV:"]1-P1S.J#(VQ,H!L;RP5F2/HZ>_58HQ.\MW2F:=%D2M'K4Y#^N6 M/W(J9+)9#A6^$PD]FM]ZW+*7U4= *8+(.<%2_?(;SR$E8.GQX@X=5N-#A[YD M_B+^G1&^PNQ?)/SS97&)WRN\K.)P 8)K-7#\YPH$N!BV=_#K<$V<:D&D >0' M*XFOO?Q&!JXX /_A7( E33L$Q,3+>' "3P'& \@$W0&KQF$9>KT*_?XB!)=; M _RL"K[O -?:/ZPA%W>V\_^?O3=M3E7;&H6_WU]!K?N?+$0IHHB*(U-?OT[&T!08[*R-)H53M79*S$XF7-T<_1#,&2C/N%$4;.0 M[C%MX*N9_/=4A1ZM%LNY7NKK?+QDI!;-?IYI2LT;*<6_>/4)[AF(?B%C+491 MM"V91.;5(!#2#6 BL)LHR8EJ"+I)4@&+1:B 0FN"_)8,437-!.07)F1G"\IG MO W(!2R+<"]>^P4CNX[O68QF/U5!;OC77M+^0\WVE)(/WW22DL=DW.T:SUX[ M2[.1$;\3^VA68L:\\$%LT $2%I0;"I$ M(1)[@KHY?E9;R2HZ']RW5TM#>K @S2$1$RY2X0*&(>B87R:"K"M0G43;1XNX MAR0^X5\Z\TQ .BUBYZ4@0=63@R\V+''F>SO",MR@0!&W#]+ID$L>NZ0%HK)F M@(ZT.F_3&Y+IIFDFQ M9)M51R_Z5$Y#,@U2';S;,.RU@Q3!EP6ZYN2EW7*"T#KV71IGREN_H_=[T5,65+!WJTNDUC$ZR-I;RRV&WD+K95#'-GEXJ/?T25P;5P*.\_!.\90*)O-EM#- M1+GE?C/O1IZ;W+4.;A1!JM[O20J_?E'6PG.N+L? ]OJX]!V)C3$9<U D MO62$SC:638M7.Y(YJY?D>43/\NN*+*X*P_8TTD:XC+R%RS!ZFWL=P%L%#^ @ M]U1.AQ?>GD**###P->_>-Q&&W#1O2H6U!55D@!2X"X+!O6;?@X*(C0%L\4+S M-TE^8<-UN6/-%7713F2%2+MF5HWZ]EH +JPS66F0'5FT4%!W3#2RFW7UZ?MH MYA=-].ML.%'N5$?B>1IUR@^FD\,JOV664E<;PUV+;C M3/ZYLC:NMN-)-S_/BLG)F!8T,9J/QHWI,Q*QS)LT?(FFWR3IDJ4"*D*'H(8* M=61"W#0QMSW4[CC,WT^F?N$7L7]Y^QY;=ZUQHA[I)>F^+'1K0!P6LK.KT?&+ MWFM(NX3JSJ425E&:K)H?D7T1EZK?.I%NY;J)72J\H($Y IDQX+J]WM7( MAIM/A[N\D%)Y>36O/DOZ?LNUIN\A&]N$UF^"4Y_PS\C1D;4:LPF^GD[LI616 MJ(K M8_&JE(5/>P[6DJ/%8GCV0G>%7I]CI$JFP< 7_'NP:1.GYT-;@Z>4H=$)K5'L M+I6Q$C'YP&$]5UMXMJBU!_5A=K%."L^3_$+;SJ6KT7.E%RN,RID-U$T:P^P^ MK<&[-,V=4[6)+$*O,$*VU5:B#!Q[EDEAI3;Y-;EUCLN%S&RN"O5)C :5 MX9SE8_U8(W:U4^^F2FD4983E CZ7G^6K+_/(ZITZTUV4O-7<'.\2LV9G49_M MFM)^&QF-N$=6\G)JI0 2J])XL1Q$-,L*/Y8-NP>B$BP6%EZ4*RT>, MMD9KS8\H>1KYF)V*'9UKJK,%;%F/?>J9W]6IC[.OMM5V.ZRCT/ M2K0\8L*I63M>+&3>+5..;E1*2A@I(,)@,J-G?>%Q(OA>/;=D@71&R\X>#X,-UZ MG"0D*]'KUC?NY$7O&J ^X:$(6"(GCNM'3[0S[*I@5M;=#)T#ICX?5)+C6_G1 MO14/#/-!QSK]7LI!X2K$+\@[+*L$AWXW>0 MM'!]L.&)L2*:7 H+0 'GP-BC(1B&M5S9"6TSE)&(IQV3R*3+):7,B>H>(IWT"=)_@:N57OD/>@L[HQ C?//;3 5_P!C.TM[:K M@PU0+9(:B")7*K3\O(W7#[DCQ&*$_"V:EL=#*>((H23#U^C41->6\&O0?#Q M\8FZ#\,VX'9U(A%;0%0@C.4)#MII*N>&LK.03W5Y=1"7D*7E0=%\&4J-5#?> MD=9,M,Z9K=3TCV#I8T!'4Z;G M)!6L$&Z)VNK0\B$2K[N'/,23#]'YMP4'N9N0X'#"]B(QUY+%Y21GD2D^%TO]AMPMURO#:'+]LMN6;V4L>ZXNAGDZMCBQNGP! MS1?5Z,/I*?_Q*:A@PW^5/56$9B.0KJA>LV\>Z573X&)?!H;\M>CU]6(_+PX( MNOJQY\A.-89!I37XCYN4FN/::4^](#K_^:]U5]BD=;['M;ONUVK:$_$HH3V$ MZ92=Q&T_:7<-Q_U)J;\ZV@K2=R)*__V3*I(Z,U>!/SQ)'0I7#:?4T?-FRGZ1 MFTY+7NCY"[0P<+#PD+^+1+;;O]R7QPS?;'L6*+@38L6C>@;R"*",%1"1\46) MJ-9!T]'?;0L%Y08ATT6#\%9DS*8$!_:KH+T#ES"(B6W+3.R./F2OC@$T6H!W M;[9%C[X\!BJ8R";UET'\*"AUWZ[;D.#CT%H7[?QL'5*8^K==?7=IJ0M;\;YE M3TV A/*L0\3*"OG>@Q/?T1U*3NP%O.ND.0M+4IOIV>%*V+OXQTF\*MX,>N^Y M#4#)!.EZ;NFR(8<(>6D,2$B2Q",$X+'J/R#TI0S!DNW-2!Z?FC'4@GE[^!/"LD7YPDC'G>@G*/ 7;@H*\Y M"<5V&NFQ:P81 .1]%=?O(+/CP-%,[! 7-F<45*!0SKND8[SI?& M68GNO61X=EBH:O7B=C[#,<:+$A=L! 5I.#/:+7R>R 6(*._<@KBPB M57'@'SM#$'%!&OKLAD"WOZAJ2-(?753P[G'O'"A"CNZ1A/\>L>OR['("Q"_V M9<(FSUTFAX(^ROGFNRZ5Q*N72@*)4P'=*G:UG-ONX3+U;-4Y%926J%+/\9_B4@HL.)WW0T-N:2#YKQ\ :/^-B&!<,&:+?DB2 M2R"X;;(%YTFW! 0U'("7CG,/6H:G^ SNBMK.T%4&MXTSFF;:%AU-4)"8QSUF1*#+$C#I5P!D8 MO%/:>V-?;TKX2,B^M_TU+'8=^B\M%?TRMT'"O@W*PI@N%PJ [5IJEFTN\]VV M7O[TVV"W-%*K[* X[\9;T_ D)=1RI?$7N@VHZUX'QYYL1Q"3X1!7NW$NW"_O MN5+JHJF]>J,;2TAMFY##"N'Y8JH)PEV,+U^!\4/=8*>#QV;YA 0Q9;+1$&A M0D(Z=I&W[XTD-F+'8#S2DQ1>'\(B?G&*DP%T@L0ABND<,/%$\0(J:77>A]!Q).KC M2.(=I#$\%)#Q[78(R:IVMM0Q\N#!-,VB-'@^QY+^L=MZ9_N@.Q@P:Y$.E/O)2*[Q+3%I::?+?TY4.B^I*K+ M @T&8E@6%6O5+DS?DD 0)1\3^V, S<\-(&:A3[JS%^>9 M,V)DTSP-V)Y_[I6 [;T/>WK,0BJ2-I.Q>GZ1'V7W:GEC 5XX<\SSSWUF\]+D M^P1/Y(EJ\3V^UKU-%^-?[X>!Q:CA6&$$)[9[#'?F0LT@3=M+B?Z.K,N-H,NH M6Z>Y7Q&'X K2"VG?HVVP9]((V5UCT*<3>8?:[(@PU-/#CIIK$*\8 M:BH7)A7UAU7\7BX4@)NJ\,"&DQEKG&LG1$QI)HHBE)1-<20VN"KY[$2/'O\75%,48MLI>\HU[C/H>Q[#WL =FORM/&6$ M)?1&U+C5@;KCDQ3=;7D>0]]> 1W;2^BDVF'B@B>-$J\3HB1HL.M0K;"_!S]5 M#;MWGXT%Q_7ZR@/(&X *!EYYY?$;[:X)I]C!;M^_H-TK&'_[ &# =0S[_.?? M<<=NHJ1]&DZRQFJ-[7LQSMI?W[%]Z'ZP*@GLU.CSPA848TM), KU;]H^M+@W M*;C%FQ*AR(W1@6C]D^E%OD8]O:2]I<6$6-BT!!SXV[T]M"XD'; MA^JR64W-IIK)6T!MA0NQ1+O3FUZO?>AIO,IMB7VXE ^W.;Z\L3Q?:H:)6V9K MJN*_^U%$RZDW(:WW3/_$VQNWYMPJDOJS+: M8G'T$FGQ5CW;[1?4Z4MUVY^O2[?JT>GST5QV)/D'UKS3K62CUG:,8"\&:S*H4Q M;E)[;%7Z/%B_-:SLVQZ:^:*'?O\PUC=0;K.SO1=FM:-PS)=RW)WVWXGWX[6_ MVIZ0U_Z,O(NG?[SA9+R+H]3>81;;LOW@D;H&KBZC>F_UTD]B7\ MI@+>"]/;$/N=8=XY\=%]!&Y, #?C%OS]A0%$AEI\E G_8,KINM[OCW+:-P-. M<%T&U^7==? '"]+'$ Y_,(!SATAW<(^? M0*_F!X;;]1CX"P/H M]5F-P9496+ZWUW1_^X[\(V$9W*&/J?!^+X"]4P?^+\X ^7+56^]-A4F]/Q7F MTS- G8"=/79E(Q@FM13FFHXZ%;]6A.>F6LG&(1%6HC0\'1GNC!H#4; ,;ZM@ ME+^.DZA1\BWJS^ND;&G*H;4IR01^HCR;\F13O_Y>U4D8/DMLU!('(.T!9H=! MJYK;[4C6T'8D64KZ0LG>QBE9ILH>=II0JO)I'(8 M0U]620(W6MF&+10T:%HI3HUSYK&X'2-P+CS>"R"M@^;P6$?-D-ZS?9GD=Z-T M.^L,;.4[BY[^'+-BJ@JAR"E&$A4@S9'5%(&@\:GSQ#CZ#*=CO-,$3&TX[W M%!IU?6B)+1L+G/V("JDAXE9X=I]-I\Y#-MI<'/OXZ[1 X;@^X36N$PA-8[(D MG:-LRCQ3I( >=!N.'48/HKQ]PRLDT'O>KH+ [4A.]WW8*-FXM;(Y7"!MPF>: MI1\8V^DL+IPTKZ+LV@^=? ^UIT)8M1&VP0[K,[F>/Y M _)R#%^,/CP>?6^,Y;K:..LGC66"'^@74WX-@(&1C M"O6%V8=( 8.S>=1SP)D?C(3?3@1VE?[Y!3&)&N!H'P=QZR$=W-7F/2(EY$P[ M0?2+*>DL&SZA&""Z\Y$7>=Y>%\*!/'QM_66'040"(;3)5_J3CP4%\[,Q \ \*E7" M# !1"D][ ZN03*.XD&&W:!#FP \1ARU.P?Z1A;MORP%U"](Q6^: -2QOWBN MY E7'?EQ:\L?M P>8F 8N*4%Q"5.!7>/CSKRD4*C_:4R(T]9$7X,Z3:(G4^+ MAYSF2(>")+?3TZO51A=?["LOLLNQCNGME=HHS/EVL=%1"SW+A$AW*%\'ABPA MF2BL("X0?.#-0CJ(R*9GZ@26V[AD0=%4E'VO*/;<>OABW$W+'J[B'(HH1J=G M5B ^R&I0;M@R31LCU-NYW^??81PZ>4TUU#U*TP_T G>^Q(.?CNJSR+D=RB,6 M@$U^Y!%363UW=3&!.%,1V" V5^CB0O*,O. \9]MW(X*:K#I^0ON[WJ<\ M36Q>I3I\/)LSI<-08@$IE2NX9;MS&R*$_+#(8.>F8$/3."GAE!SXQ[]\RXW$+B%QI.L*^_ MXW+_AE_H]L!>5UB_LVA<.]*-B>/AK*/'=@,A'?D5F\SN-DG*YTE7NZV&M(PE M4EP.QJ0QP].]R!SA,5&LD.U-^J'9?4\%U!$=.'U.?07[[NHSSPKN$X?5SR[X M2M$^A=IY(&5Z99O:%[VE(:1;(ST#*5_8V%NB..E*>>.8N=[ZVE8ZJ-6F MT[KST/?0\+7CG5L2Z8?KE,^ZO76)#Q"]$+X*7;(K?U$M5KQ)'_7#7ESPX2VZ MIWG-.B'SV4@O<[M-' +U\>PWN[LN(B-=LOU)U!0RL'KPCOA\#-A'( %;Q[/[ MRET$E].'T#8A,.H"P(:,Y:E3NVP[^';P 0Q34T#.0011 M] =(QJ0=GX^8B*\7'4\45L0O\"G>UW-BQ7/RI6"7:Q]W:L%LXY@3+D&N9@*" M,CP%4)S6L47;\,=_\_P)HP],-=2N%%M$+A9=6P(;LJZ-X[9K/CC,(4S_:UO] MR(I!'D(T4Q$L[6D"Y"\.O8R!VRQ&0EZ;\])/]EL37DE@%[TCBQZ>RO'YB[J, M77^8!:"<#1U]?WOR=9OH"!N2H8D>;Z6S432O;JH>[%HR3Q$W\;:!BZ!I@QS[ M8PY/$.-@F*#]DG>N8> U=!XV#'F=M-W)Q%'1Q98Z][2>G$;K/58T( MR)D,#6U7[ -#KHX=7@NUC7Y?FX85-"5'R9&9BPZ!45^$365;WA>*UG Y]?=H M.&XS:NCFJ(4$'6X?BGZK0M-W:2WM%J%97H^Q.7:I+=A%7VPWED.I)$^]/1LB M_GZAJK64--/^LZ^-@!UDK4\Z"$"V9S'CC,6N3UQAV4?H+Q+F:=MTW\!XK.N\ MC5NWP4.8]71X**0*2BRK]L+=<&:3[+82DUB:W:(I0_1)NX;_(&#? ;S$*6V# M=Y=5.+,-I05?KL9YR8HS!6[(/2IXQ_-871.[^1$=9XR5F:J%-45IHO99Y\#[ M>E3VX*T]X9+[R/2,7W"+V*]RT!-.Q+9S-L^]Y-QVR.4B[J'90?TEH9"HMB+- M^]&Q3=UVOA^[D#U^IK^Q3!B?U1;>U%P0$%V7W9YXSP3=M*<#^)4A$HPX:B[V MUAO\M\)O]JNR#"?T!PV3@SO7 >ZKKC5'%$MXO#P$/])]O#@X<;3F-#>,@YO[ MVYVWG5O.E?#D/G1NZU> 3*)"OP@XZJ]#A,EV_;D*[@:1K].AG&A#]COL*Q3@ M CW?TN[K_Z:VD$:PIN?$V' P0B3W'HK&^G"&VU';85ATT=MWYRN0Q$-Z/(C M,WKL*+L.L:7O'=,)#Y?P)!]<](SB"],)VJ%@([52+ -W648LZKK[0S8@#OY6 MYQC(70R/^$K[+]_:F%M)M&'O1K?.T:-M;.!T A*?0=N FT;'L7?F:$VO0>P! ME%)7'5]#N\!.CT'1;_A*8R:OJ"T4Y5 _MX=#.=DLGI$GMM[J!BP,>!,0(]8F M-(Q'FF\"-)\Y'787UGN,>!29VT#1+Z@SQ!,#(A%H)\B*21P'88![:= M^+P32L*S.T@^ADUSNG04]W-IWI&I=@C8;'<,"+JSAX#5+/ M0E ,02M7-F;VW@&:3BT"TCD0.=\(Y9P$-.V):"3EXTY8[F*$N-%CU-?3SLH@ MU$NDE=<#XVH*]D0?XO5R;M?3BQF/KG>CIX>5EH)T"!2_\E[72'=0?:Z1)>1V M*/,QSG",&VW%\6Q!P>J]ZE]YC6S8*I. G$NVLG(YV<3CMGAM[TBH8UL+>S^6 MGOD6AF/($8I%5X9C&!,3%/=,1=^R5'POH%D0MH\(DQQ6$%VF$A5!A@1$]5X] MW;&4?34 #PF'C(;"Z4NZ-L;K$6GM<[@@'5HWR!0-T5I:MOUZY.]$<4.<6H<$ MHB:*EGX(\J)A$AC$\-: B--$XGQPQQ7R/BB;XV#^@<9>1S1Q21"*%9RI M6*X7U$U8\AC83B+*JX!#]Q2QY14T)X7D4!Z2+?!N%#!%(59'+& '0.@L67FN M 'L&%P2>K!*K#+WTKQE4!C0=2:V0._G!&=B(E!0@_6U[A!"@!$-3(1P@A#>" MK!!D^ERRAPBMO^OUF4^"*.W9*"T31&F#*&T0I0VBM \4-FNYUQ^\_NV,*#=AVYO[/P:>Y&T\9O/U+/B+[BLG[YRH&L1=[PWL M88>$KTZ":*,X:A7RIRS#+3AZC6%G1%Z(9^+&\WZES58AD5:K C>>3(YE (\& M1<(A AY'EYWZ>MA)S/OL)_#8%1GX"J)[,&O M([[$+A(T"@S'AAU'*7DO^E5$F99N*AT$)+Q?L>7E;,T^(C1;#;)/L .BY6+M M_4AW@\BNU>''K3,!D.T=QPZMU.O+NC.5PBY&=&*O)1)7"A$ M1H99)O93((-B ?8'4Q8N@3H_AP['-K4M'O_NV>WQZ /\K M<;M)\\D#]DQN M!&N?.NZ&TQR2A]9*]7"XI84KK!8 >V:6JP,H?20@X*1\J&>/-=U-+]\@@L2: M,M%P/BL5\?L3>SK.&>;(,^IIG2,5)EK&OI$73;;,>1_&]J^ /(6+0 MZ/()2BF57/O.]-1X^<>;NYS^ %X^3XV <;D-EW-N8.[Z5(08$O'0(-GD?,YL]8E=W$<%3! MX@-/L@7RP%KXEG!<^9[L#Q\A^%]["#60UWDD&0Y6(UL:>;90 MRK-/5/B6]PE0F&'H8YG+6O'TS\NU'=,+.0J<7-,#OC#*_DA M)A]#Z=X!,P'?5E 'M[TI=B$'<=V1A*J# #KD,9TZ<;TS-?U>!,=?X"D..?'< M0)$"A87KR/#^W9E"*D+C#:%+A0"Q78!H]J?GHO!LECA>L)-_>LYYZ/\FE)Q( M5KUQ!Q_M&D$.P>%-DD+OB8Q! M9!^GAKM._A//*\GZV)-8T^%B1 J+#$G$D^] 4$?FJY*XX]GCN_Z0TR/Z0.]^ M67O5V6.+]V.H>Q+LW?MTV<4WIUN'S_)@&VP/ QJR&T'7)RCI+3[(*. M2R3]'EP[*/7"T W]^@A6/N#4$)9NII[P1DF0>X&1^-/Y]+DC_ZP7#D=A<,(M M9"NXSNTUCC\;PG@ 9<(M"B5N:X1*2)\25I_\ZA2)FB ZMX\#F0/(I#H*2P\/ MG>.<+9=U2"@62VB_U]5%*GHW+N=T8S?N2.H3TG!\P*0@V76IDKO3V8SK+(=O M($EC:#^XXHB(*?\JMN)"TK \GG=[?Z@VC#0$\&[ 8P^0J+-!9 +)(=%TDK'J M+:>]$[[3LL,!2'PZQ553M$WU#*#=FF>2P6';;YZ*9?^A4(7N#,U5=JH9X7D@ M,C25),ZL=!"VJY,=0P5>FO:6#"=FK )D8T$E6T&7ODY$,(D^G EB''2ZMPK^ MSU?WWPD/66\W!J]ZZ6S1+B6V$RP0+##)0?EI!UGQ[V[>)R)T%=WG;K&; ,UR MV3;LML(4N"6[!JG8=2O-B$:F L*N/C@34\Y."$6HA^AZ<^?> G-OK3%B#!5' MK'W"Q%]22TPLYU%?-L)'=AO$4'XSAL(&,90@AA+$4((8R@/'4#X6%;E/G..M MRQ/L[.+SW[KI':\O#D[H"T#\%[B5#TZ+$9U R SG8.^]=R_V?N&2H152XDC; M**A^> 8/.ILE7L139\03U2;VCV%KU5XKRLZ )7:"A!*44'H/-GN=:Q]RM&N3 MH4XO*V&O:ZB=A;!#ZL-84RVG.0> 6IZV!\!M0T!>BAT6\!N>?AL&TAJ4CVSG M5QJ/0*/%/&2'XZ(. (T= ZT'7XO2]J#""HW/=]8<=-O949O6UK->L--9 M8YCFDY8@<;\XB]6>ECDJXDVTG6U6-$(+N#+!>28#85B?M 6HGML5"@-#?ZZ7 ME":[ (M*<TXM;;T5"N'(>V9VXAJ%"@H3X/&1F$IY F9^9\=,VJ8F+M+( MQ$#8@W_"&W1K$2*>4@1C/>P6:&-F+=A!=<'7^/QZUI[^^%<]'>7II*D?(D>& MV^'(("EOR'7Q!G\^?6>\<2X$ZY.<(-IM>=!+C8Y&)!O^Y5!E8OONS^*N81:V M^UISQO%QE4O6)JVY_AR#N*N]B;N)^^Z/(+!.W,"8D]$2N/A*075D$Y3N]N8* M)/?6=4$93KF(UQ=DKX>%LG%)Q-@1-U^VG"-UWMP(]J+*)7&5\6?S MZMOSKG^!VVS>J4\@O9U7.EIW19LY>JK-1\SMQQ MY_G)P13V\!JFX][&CJ^)_>%1BYN#FQ-5>VH*KB2VXPC""G(D<>$AO_C4R7Q$ MV%0UN^_?<2:IX:H(=R)=SG'8>IV7J$ ;0E,F!.;&-5#G1!QF()YEA60C' *$ M;LJTI%ECPQUDF.)D/"%"0+;PY (XG$3^VM@3=Q-T120# &Y)WNQD8 M6"QN4?C">.7=3DZ&FZ#OA P/PM1YK[_0;(RS@*'.A?PLKB-50P:BC#HNH6K> ML#:9H#0%4K,#Z2OLOL;=&-X7T2N=%QT8'PO2PZ(XSNFZISQMD^RT ,>-Z];G M>I-L5Z@5+!*=$'7PO3Z1Z@:##AFZ* P(-4S\3F!X^M@AZ;RT>TK9;E$$=9PD M;)([![T.9Q13*VNLP-/B9F7H3R3; SEW+-.^64B>N45T0#*3UA]YS8 MI#-E?C"G>[G9<.FK> ['WE'R;"N^/S.>LEI']]3TEDOZ+GFY-V?<*0V47H;O5FM0$V623ZG3NW.)*,Q.P;H-F*!ZP::(>K'+KN;;!:W+ M=+XS9"J+=$ZL2-,[P6E(#V=R8JZU%\*Z"G;*8"<(HR:$4_0I\BJ<0D['&=PK M^%H2Y8W.Z6]Y^Z^\@6/-PK.;&_1MO^WJIS[DCTP>"Z(I9Z,ID2":$D13@FA* M$$WYM&B*@*_O40HDDU(J*HWH2"0YBD8FL=&88<"(2:2$V#@28=E$\@>A4O*- MCCAZB1659J(2%[J";DTR7,T<2]9TQ(S8XR?%HF$F:V"87(2Y[-:H#G>95)Z# M3\:.GZR;+84OY;;[17G3G'58)\G"TFE>[S%CCDY M4FAPR?A9_&]?]%*M)@VL[G(]W!6!U8>_3,_A_]F,][+%0:-"6Z 79E;LE.UV MSN*?BRR8:5M,Q+M6>9!O1,R.O&&WY_"?CJ&MH@B>NTRIUU6Y<_B? M%I/SS**F=_CZG.LI,['TS&Q5(\5;YDJ,-&DZO&ERYR@E+69: MD7"LFJ++X58#E&.CQK+;'"5.G]2K7&XE]!LOB_SSN%H4YG1>BB[$Z*@$HBG(]_3IHY7F M(@;B49/FVY-:(\QG\X.: 1]E3A_==*WU]CD]7"^64^9%[1>BLJXTT:,GP.=? M3'I>B.I[>K]DX])ZO5SDZ2UZU(&^KZ'U=;RY?I.JC5KJ >(C2I.I VTT=" K M&Z*BH=QCHP-?F58T>T_OI:9G>^>>\R<_IQQKT:7TI!DA/=WIBS"S56:#62^5H*V'7-+"R@ _G1^\FT*4;6\(:)19YBC/_N3!LT*.#>]9'SG5$:@Y(G-_#:'KG3V*!HSC> MFY:O+:1\VKLPAB1NFCW:?^^+B3$D'[*\..WU*Q0)$/ BV*=H M/$#$ R""B3\ED@$F'@ 3@6QZ$$0$LNE!$(%D4X")*V+B[6GQOZ:W?MZID3W] MX=C@3<7RYX^KORY4H-F$/OS_?K _/LJFJ2E,0)=\!H4M>(E_JRB'X\@7H MXFM1 ?O05.#-5/(302 7'Y#^?Q?=)&OE]+\G_'\U"6A[I&RU@5GM*.Q&I)Q\ MB@<&%O)(7E4P?F%8?#+AL%\:6,BO'0C3AQ>FCZ)DQE[CE"5<10&O0R@*K?+[ MJQ<7(W9_R2H1%&@XM"&HDO&W&[7[#<[P1N9$$0!_&/'VS))Y+7AWO;OBSB?T M$?ZG\#MQ,=W[W/]SA9/8_N,[',7#JSALYXU71YYBOCS8:Q?F?:"ZX#T#U=RL M>0X.CCFOR4 *=FHV-*G2G1)>KH^9R6:F7=T64 M1!3Y\6\L$F+H^$G6?,#$ 1,[CM9OR<2_5OOR&5QU(*))*7.#BKZ9]HX+DL+P+$S;]6<#_C&*=3O>EVJVF^7V"V:37 M:B8<7G)G==2/;NF=^?4M?Z*0*SV^EN;_&)+R?E;N6[+FJ*#K*AK1XY[V"ZA' M+T#7),AOQS+UP(X9_-<3X5F>%V?59[%]O_B\J9/HR+;T2U7<\,[[@>?),Q(WU]=66FT4->ERC6_72\QLQ<2VHWC@ M/ K$PXV\2W<_Z_W%PVW=3]>4#^FL(.QK65->Q ML6 ;M51U95O'WNZ7^B^MW M/J$;RZ$DZS/#QZG5NS,S/[WUG&_+9VK]G.G?SJAKTF'L,"3N:(X?:0UESTNW MFW<91'V4 ,Z5=2;:XT992/'4T6 W=Q"./>XKH-T"\GA5TE80 MM_A$7#*V3& W4T-SV]QB0]_+<6\MU H-SZ=3_*.=O5TZG7:P!+P6!J1-(0?E M_6VLV5L1C&.5_XE*'R;4NUM&3<).,;(2C$/GOE= [)S0L/LL;E#+9G]P\[K8AHY(R=PW%$$UX4WF[NZT!+:=RV4&E1T]7NP'3+-=THKJ9!B4P'YN M"2S[Q 0EL(]05!-Y2EY,U@\0\6EE9I%$@(@'0 2T3R.!;'H$3 2RZ4$0$B_#Y!:\!%?CN M2.;IL0L@KU?O&@C!3R#_7VM\^)E%BD3TBQ>M5MR;O7^G[D&1"Y.'7II+? M+&4-Y.0?JR9\O' U^D3?OSO*YQ:N$CZX=U)/SM)5V;1T,DML(N_0S]>I6L5W MP#?,64)>H7N?^THI29'[4.C],XY.)[V^&DM-[SO[%?!-?'69"CZ7LUG*'OV: M>]';6J^;9>AE(2;'ZMO56&I_/'_IU5WE=&5AP+/1>2I')^M\6UO%,X.2 M&E6RGR@,E!*=E,/E[)C.5*QRF2^EFPMY2XIHHZ%(XG3.WI=2^U&JE075/&H& MD;X5;!W'T"8F^N4/4.,_48A]ZB&O69]V.6K]I\BHC^DK:*+UR.&2@LTD\-FV MS2*.SI+;QW/Z/%]?@'#7V,SZ_7B,_T0Q98W*5FH56Y1H@:]UU@718)FU7:X: MHT-T@KZ=TA(P]^,R]UMAWS^%N3^H@+R3NPNCU+PMCN+%KJQL!U)8GHPWT8]7 M7/TR=TN-(KNCB_L!+8CQ&:.T%E)D:A>Q1J%)DHI>70NYMT9^R N6?7G!@:'U MI0VM:ZLMW]+:^CW/B\M9WH1[6]"MPHV7,3<7?'+]M#NUPT$HHDV:_M@#E40UFX M<)*4?@%*02BYGK[S+439%Y5;W\\!<^4.%CG",UB*M=#9ZI.N 3C# &8:P%4 M)XK6TE)0C2>WU"!V7G#IX!EITQ^VM_0H/=1Y(3$0Y=ZT-*[ON%$"*2#Q4"I^ MR=T;L.@?RZ+?T(URY2X25^11;C:<1N78+KR(=[K;D018%J,A=M\2%W9]K(J,B?.#H$($Q='UCZ-Z-^S[;?7+O\]Y? M"/Y&H,C#J!W,ICB@#7G4_89M5;66F_$XO15WO%6.F9%.,K6NB9]H54T*2M?B M:F6CNU?X4C%J1E;&8CI*!HZ60+;7[;\3ISJW<*E!%II;5^4&]W] M*+?6S9Z:!I^9,_-L:85^M"2&N^%*NCOA.\U"36M"X4)<-HG(%W;9.!1"X1XX M/_YM6V,3M5$-S,!O8 8&GIK?]-2\*DJP*'N_A9@%*QV^ 5N(\*MO&(P@$\FK M\F*?YV7 2@P8](>,NH6G1$Z=9"@>O>1##MCYCV7GP*OSNUZ=^_#S>"6*^8C9 MB2V6Y?J(WT4'0[8_A?R,'$!,*!F_YF";!_$ '6"%.F.ZP,)>(,$#KL!,"\RT M/]@%A&3D7]]"Y_FP=&QF]J-!FS6T;OUEF QWF$8^O>=&#(U].ZE0/'DJ'O\. MQ$8@-OY@[\[MQ,;#Z58?EAO,\VZ;[N0$L[OOBKG\SBA/3+&)Y 9RVT1#B3,U M!']_7<>-OPVQ\A!^\]BN%F-=[W/MC][)>;MEZ%6TX3MB&&0GL0F0ZE8+' +!;+@K/)S[X/=7Q8\GM[S M6\*@D&MV>HFU+O$L/^R&MPEE ])8&*"I-(D0_4VFTA -Z4 \O]\Y]=-'U!15 M4;$D,NM#>*_;C)(-ZG^NS"@?GE#A89S8=5+LSE)_G%!_3=#UT?A9+8EZ3#?X MO!@'._5YE:Z,IC_^99Y.,T$HB$+% >)-@<8@.+$(:!YQLV:MU6[;?F:ZLMCD MU=A(&X;9[5V@-F-+[*:QSVVZEEG:RMO$$-2'6P2UTQ"W"S5MXJ<\L%NA4304 M[IP,Z=34#@E]9,C.N M/UT=(T(D-@3K?RC/SP@H)SA#@UL\9I\0IRF]R<44\%Y= S70D4/YOIYXY>X^AGR&A0S&A^-K[V1_]^+>#1^1 M=LUH>-;-89BMR>3E2[UG>P7*Y4L5Z/RK7JW$:**MS1:Y5Y-NX+^6E1?YWK/_WWS>?JM4[?)OJU*E,O9;E:VT^BWYJURO%+->! MO^2*-:Z6*7(5JMV!'U3Y6J>-AULFH!Z>\K;>>OKBI8$M39[14/ MC'E>8-GTBND^S'CG*]ET?_C0SS G?$#^"(63^!=Z@OI_4*RB;_Y]Q"%'K':P M"UQ&6YFO+N_PC(!OGM%8BK("*Z9&B4AB/(HR,3 :,S%I1$_$9&P\3M&Q9/(' MH5+!T6_IIL8DYE9ZO+"*PIP52_/<=-@ M74WAD['C)_MIK?6SMB3]=\V;.Q:4P=,/0RN1JF*IR0 MW::;\,F3-;D.$):MZ(ZF07W:ZO#[*5=6FJ/(Z9K3]20C:*D>5)X&Y4V9L>01 M6T1=VNCC)V-C/2'K0Y7N9E+-W1)R0Z5>;<(G3]:L;&/M2MI8C^G^?&%,Y%YT ME^A/X9,G^P2+G3Y^Z6791;]?G0I+(SY@=\U1[/3M,RW#)-@$6-+AYS9C:)UY MN#] XW!/GGP>+Q/F:-]F>786395:V]2J1S='B=,GB]U",U[,;#=T/[5;K.E2 M+K<);T?)TR>3\VU3'4O3S2),MS.RFASQE39'\GS]3[*#4G$^Y,+/_+*Y?QD. M(@U!JJ.@^LF:-?[9S#)6M4#+]9?^WAPWN%@5.XI/0<^%K<2TQNL+BUN+D4(R ML:4+.!9U GLI5>[/YEHEULUOE'A2JJ2D7'.+'O4#?X2(/!J+14._!MLK-B;P%,O MV%&531;3U380M^?(?ZMNFJL9.Q\N0$3KEX1)JU<8(Y8Z8;Y(4MK,IRT^M0CS M63 '8SFR+"*68ICC1[NE5FDWI7F)SNA[8]I6Q:D>X\[QE#;-,6HWO\LNUC6S M2:\;L45:Y\[QU';48.8R_=Q:E)>-76J^R%FLC+CO9*-;9C0>3:8CB9<7G70O MVI@9 VL*GSS=Z'Y?63_GXHS1K8-<,K_5P\-R?'N.46N=N2SNBBJ@,\G.H#A( M-)(Q87J.48>KGI0Q=DJ.[IOU#FTF7N@P?Y:I&M&)F&'#(+T0A 6_J/7XLEY" M3YZ\/:V9;:Y5:U46FZ\G3,%IXC96F1 M1&]/'3^9F:A=,(M7(9NN$JM:EAM-(>O")T]!KPT6[?ELUYC2_9;Q'-E7C!G/ MGY4H0BZ2*4=;#8'N5VO#\&3)5HM0HL1/C_2R:6M::1K;T?)RN%@G:AF5!JC* M^F2C*U'C6O/I>L2O03W=*$ZXU7,%2:D3T(NE7+N\SB\'_'I>7H_'T_#LA9[" M)T] ;SQ/]>RDG987LK4*EW;[2+8I3DE%E__)EEJ,QMK2WEJ <;L8KI4UJ\.B M)T] 7YF%)YTL7^>Z+!C$RLUR8R!$T#Y/3A03UH.A6J\NNN%Z4:U&>W)#=.ADQ\4E\%)U($,))41REP#B59.-TC!F#X\67YF#)5"?51C?^ MK";'62:]CCU/STF>0G._7R]7-:X+N!1(&$*^RCUOS\F3&LF$O$E2D=KX>M6#YF[,SH62%!AU/#Y_)VN>GN2_"^3VS* MJ]F<.RR[Z\9,Z'<'HTTTMSTK)(SGS7;-QA+-[M)ZB;75\)*9 MEI'D8:(G,M)<]%2^S#!=858?5(M=$-UFS\J3P59?WJFUDX#<8U9C[J9W"BBJ4!D6^;VG.)1 MX[3Y=+2QZGP_/*VO2P(OT$LD(T\7K=%@M!\5U@P/PHK1'LUWLK0]*R2Y9B:E M26:F2R^?3:V<7>=6UO-9.5$N9RILKKQI+^(;-4^S.VLU*2 Y<7I+*ZD:K\Z, M/KWLTY5((IN:M;)(3IP ?U[K])* '^V&LX[^=UJ MR5M<8E 83];ML8B>/ 6^V)/2&=7J1VE!*0W3=+>9IC?<.15)7_1Z+:W9JW3K MJ7!O9A0:HYF"F?I$IDSHBMD6U52SN^]NN$:O.*^.)]PY;6K4Z@[RU1Z8=*UM MH3&;KS9"+8OTKM-%BY'-)%Q;"JN%O,ZR^K-0K:^ADG1&GTR@A\]P?^Z+ZR7^72^S0L0 M$ZM")-Z33.PG/R& '-?4P_'1/M.UBK7^?)^77U(Q_.BI0&OOYO'>=E9=A(LI MPRA,.T('ZO*,1T.2=S]%8C;:_EHRDY>-]V+](JL*7397R6@=O?2)=(U!R9PHZG#O5$46L)]=!I\X%[DMSH!D*: ^L;?AV05V MC)S.1R[GK51_F(WW%_M.IKUHC]R]#LI%\'DY:_8]01'P QKC.(I*)5>TR%& MC6 2T)>?^Q&,7WZP8ES48_*GS7%M+\-E$+^=J9FKF.E2T5K&\XMV9[ ?Q;N[ MQ7#1)'.2(VR(86_85NW>U!MP;3"HYS'*9G^9;1< 1"K5N/',YZ//%MM9C*V: M-243C2-TB$G%OW![5H_2,-94*QBA\\B='#__D$$'U]]MU6%S5YHP5\;2=6BL MG)$RG<*XV@1[5>7;Y1G@<[V7;!GGW4/E@(F$(I$;=IC_PXGX>W!JT)SU=QMI MO)M5*\74N-7;9&BK/@Z+X7S$%/9;4OC"1$-1]OK]VN^MQO++E:+M :"VLCE# M;;_@ZP*7PE*.A!!TTY_R6G!BX!7[K1O\0*RX& M.X-KS4&>%^HKO:..RB,Y:;=G0/?[)5;\FOZ!%A@+)L"7O6;.@!Y8&5_W#QKO6D>7S^L7\SAN%B.,$1'X>/4E M,IRGDV%KMR6#5IG()6?9%S"[G3B^((J0NDSX,I+YAV_EP/3^S6[\?\PXHG/3 M.1YJ]M"7-MUM)N1<'H1"Z0UK(;N;1PT]NELMY&YB*JV2T49W-"735J,A-AD- M#/> C]\W6>,[\O%M58M?8>1RMC@V8\MLEP>%\91KAB=,.6Z/6;V-6__>2G0' M37)'"@=6/!1OWZW /+JV>73W(3J?6(YP][/>7Z[=.B/1TY_N=9&VVZ_GW%C. MAOG,HK(8UWMS?L$YLU%CR5",O6%:8L#[C\,/GUC4SWI_W;Y[C^"[FMW;5 M2FH\"N=YH&I0"@UD8RAN[0&GL2C4:-[TF/P1,[Y>K[>]ZU@O;Z]4IT?J^YNE MYC5-VLJ*+:F%W"2QAG_F@I:HG]02]=6*[N13 MXF(;H:#;UV?U77M*Q0-$/ 0BV* WYR,@(O44"Q#Q"(B HNEB3[$ $8%H^EZ( M"$33@R B$$T/@XA -#T$(@+1]""("$33PR B$$T/@8C44RH8MG!%1+P_M>## M[K_OT/?S+<_;Y\+@\SO)TT^)R-V;>GZL9?C-+N< YW?&.0>W@R2TH 08_UX8 M-ZC_4@'.KX)SYHEY[&$0%V:$!,K-UU!NDL<@>+UQ_RT$VA_5M?\W!=V=81%0 MP4>HH&'IXDPP (6ZU ;D\-W)@9/FEF$NX=>,@!BNHOY\86(XG0<4:$5?0ROZ M%,. 83X\R"7UQ-[?&ORL02YOL,+=JQ$NB8 66&DZ+OE&:><_KWS_<.DP=\^J7X]'J-4@/""P@O(+R \'XI M2_Q/T4P.738^JI@,"IO8EMGE-XMP(;L9"ZNQV)M]O'W4!<4D6Y* -BW-HEVK MN1DP/<;81C93J)@P['LTDU_L@?<@<1E>A3\#^)PZQ9UV,YIJ6 J*Q001F.M[ M,N[=[_+NGHY7/'KWALO]!>5'33B7>P^,VP;Z1A:!80M0K;>M=<.QYSG?GN2G MY4$ZQ95R'V_!=4& ]E:RM&HU+'Y1EN:3EKX=ATOI+1GGQX02\9N,\PN\I0_& M2X&,>4 K(."/AZ&#@#\"_G@ .@CXXQ>C&R_UUU \:\V^KJ+567&R]Q)+T M8IG5([7D/")66C<)/N0FO6:LE^0Z"]:$!RX5VN49AU14;.._H:-^S4CG71(8 MODM(].[=GF_D$K_[N>XO[6[7Q?J"?.(S\5DE.DE(-#LL3CIRNMYE)TTR!I>) M,"$F>I-Y.M\H5'!WR@XX-HAR!:0;D&Y NE^<=+&=>.]SW5]/NMFDGPMJ4EF8 M99)9)6%T@6+RDMPXP7"/WY8SUY\Q$HG[]G4\8J0S M0PT)EG #>\H$:-:L#/\_M!'"[#+\HZ M\G8\4=Z51/BO N!Z>#7R7;P\"K%K$\_Z!OK5A%]5T%LD8>_\/I%U^,$2'FR& M/D+K3#1+A[]-9,0+U-H2=!/H%!#$&;4'@DZ9&F0S^-%25@&UG0$T21BMI<.- MPEW ;:-A'#+\KG??1942[(Y$: 7S< Q\RR7^\1T@!'="Z6!J*8(.H0$V@F*A MR<7N^\ &^7YP'H$HZZ*U-*!($>$#,V$#*$T4T; >";X&@G8)CPO1!"6N"5[9 MGQ=:?A@[KY;PED4R X@"4#AI2UFD@+J1=4W%:Z#-J)KIO!:>0-+@CN!'U!@H M,MPR^@S":*E!6"GR L"CP4=5_ C^CHNQ+409V1X:5(S1YVON0R$Q^/0) W/. M$//E0N.B"C$QQ73+&09 ?1<^?W!.3H;7#*C(&R =]D.VTT&R^,Q '6T&"OHF MLJ3CRS6;+VG+E^XV&*CS60-UR#2[R!.3##J:?OAVO5YK6?8I$HPQ^@Q$O-59 M@GF*)NZ(B%/HF]KJ9PR"WM0%U4 *]D_\$_PV^(L.A>&?_OYF&**?XO=L3!Z@ MZ!U,=+E79X"A^V,H$'./C:'4TSU[S0<(>@<+W77@88"A0,A]>0P%0N[!$11H MVSG&_,4#^8Z/0*G1)_B]W1'!ZSRCMN&90,,/3:& K/T ML3%$/R4"A>"A,12][^C3[X.A7VRL\6:\^J'[WM\F,GSU7,.SK>ZO!@2W^7_L MHV,QV.A7GY%RFEATU;;X :T<:(5]BJ:^-*UX9X=25YVX==GF_6*D\C$@O&5O M?@L@O&72?1,@_%&2\V- >,LP^19 >$OW_TI "-3K;ZM>?WSJ'/O$W/8^^%V5 M**]KQO6&"]YXJO270S_]E+P83[P[^CE1M)86 11< ?90[_ON>$B3S%'EL$<$LT6/(%U[%]=,ALH/8^*G9?G[$\OI'&^X6= MA) 5+/5ZP]>_N'O],TF'*$I?&%BO2]'?;0W_=6$2$% @>QZ?=(B6_H5A=1/1 M$S_IW/.E8/+K]/.[&OX7!E8#+JA)@>[_:+K_;]JZ)YC^J/'+,*_QQIL)8*DG MYO[VT<6V+W_)*A$-YDRS#$&5C+_=QB]_MB_D:O3QJNA\,\?V(9PC;Y$'[AYU M3!4?DX_W[J%/V@O]O)KPN\-Y[D?O'Z1Q7%?V]0#EXX//@11I2!* ZKWEI &D M O:['J1P#7D J/=6!@60"I@O8+[@YGM@2 7,]PN-!0) O=LM_.4@]>E&'RF( M^'J NH>40E43 :0"M?-ZD"+U%P&DWEN@_8T@]>AA+6<4"17'ZZG,TE]J34,>B5,I/N9-.U(D/F9=+O1%JECT\BO+!#G#Q_9O3.2^>% M2UKA>'&Q'Z1'^J*E\>-<M*63X^$T9_EN,$ X8_G$9WC/_ M]X8<+_$QN390N#6=STMF5,QF):WX\='G'[C0,U5)6&;GQK8+ 57IJUMNSTXY MR-^IX$+_EOS]1BO:@+\?D[_??Z/W2E-ITXL^"WPFNN;51%CHU6>(X]'TS&2( M3L5NP_*?D3%X-9;_"@F [_(VO3[@[P$46P_AAPT@_I0L'24DOI_LNP:86$I% MG@"7O"/B9FP402ZS:$]EO;)CMQV31@HK$_WQ+_-$GPQE_B)!*B$]';>0*_'TL%HN2[ MB9(K.21.9,EVK6J='X'R'0-),?-M9!69-=L/4P7YQ5JN5EYT:1F^WSN)N=SC$Q4 4D\RP^[RDEYW5MB6V"N6P^JFYVR-Z,=D/=HOD8MVO3OJS M;'@F&DB-2 5J1" :@M3O;R :WJ]'Q*I@56C6*NNN]9S;/S>C6[%10<("1TY" MT2@=I'W_5CCED1CG06(G%U@D,QV;-7K=%NAP5#6C;%1([Q;-VS@6$\GLK"%- M&B5^+=':V,KMC"J#5&@<18E>)KI>O--D[?23*3$*5)EVVHB485B(+$_ MNWPE"S9 T59 HDP@SE1-T:;[H)+EZV6"/=RM%)2V_*;/U.7,CLN8+70>1T2F M%*8TG#\OC.Y^%5[F )>3S5+DGF M1N9-D&3Z* P5Y*L'@N53/"ETM]$D]LI<*\%9]"@,2QJ&%8)JB$ M"41-(&H>S6'[EJQ)BWJU%"Y)]&(?R[?'1752'YF?JL0(Q7AN])QO[/CXHKJ: MU'?B:"HB)285*#&!9 E*9P+)5,XUX1\O0^[V\#R^S+U5MN(6R!L># MHJ'8K=281ZBD>8C60 ^8??\YW8(^JO3?PN$Z?1'C[#2:!KS04\M=,9.8Z),F M8H/HCW^3?U#.><8RX&: 3NE P3+!F,FK(.?\UW2%^PU"?DC%P7&L/BY8OI0S MQ&'1EI=#G:K#EWIKEDDMH[0PFVPZR5X^968_-6G=6C\/5FQ#BW;+W*BLE^+F M7EU-1PR-7*RQ9(B)IH)\LT"\7-WC\;A "83+#>T3=L&.Z\LQG:?+0F\M9I?E MY5S$XB;^X]](+,2F@LSW0-P$XN91?2*7Y$UGOI6K>YW5%\M"55)Z EMI;/:;DKU1+/]7#X^3TXX)%U2@3(32)>;.5D?%RB!=+FE-C/EGSN\ M\I)9+.+L: .TB+6*=;9(WB!W:X0),70BR+\/\N^OFW]_B4LJF>%B.K!:5I=5 MY4EBWE!3Z>*-VAC5"TIL4%>F[86 M,YTD=CS@'/P;Q(3N'0WM:*:@4+(+&4K F I2[Z^?6N(W "+0 ) T"X'\LRP M'V"N..'U$<]Z?VOG(#F!E)ZP>TYLTIDR/YC3O=QLN/S4^(UIF(LE'V\ENVRE M/ALW!]JH4((F"(/B-ZE4*,GLRG>\,FYJ5G5ZU@I2 5*02 !;I!4 M?O>3?E,)\'ZM8"!9XFY45CN+_;,AKZ5TD>.C4R034*PBG@@E8\D@-?S:X8OO M=^Z[#1JX^[F_I_I[MYD#=^?OAY@P\-%S8Y_V?TT!WB37V-CQOKQ#;8[1"HF8YTW/_; MJ6>.6($L@GZ&_ U5684LNR7[M3_Z\6\'D2"E3:@,4IGQ1 R;3X1_K\BREV*^ M^%0,>SC5V/=*>\=C39'@'_O%2B7+U:A\J]YMA*AB+?-$<;4LU>ZFV\5LD6L5 M^?;__G=\>9'_'>O__??-IVKU#M^F.G4J4Z]E^5J;SZ*?VO5*,5MO-75Q4L"=YW]HH'QCPOL&QZ MQ70?AC1^("6;[@\?^AGFA _('Z%P$O]"3U#_CV+Q-_\^XI C5CM M6=[AF2/13 RD\8B-]V+](JL*7397R6@=O?2"Q$ M(O1H'(FPHRC-I$9)1DB,$F-! %%!2"92R1^$V@7'&.,X+B_-^D6KNVQ5"\UV MB@,=%1ICH^CQDU8LORDDTWFN:RW6;&J97ECYY^:(/7V2W7<7:Z6YJ=/YW)Q> M[UZ>PTIB.XJ,V.,G4YFXV5PDM7*WKBWV+3'+[TR5@T^>K)F*=>:YYVVI0@O1 M37C02.K)5 RMF3C99[1FTF5:H+MRL66";"^S3>:GH^CIFJ;:5"K=0CE-AV/Z M9J^.BK&FM!W%1O3QD[7RJC5+I <+.I[0UV51-UO#31,^>;+FFBODZ7%N)/#" MR[3<2&W*Q6R3@T_&CI^4"ZMU7=WJ*KW7K!C;88:930RM>7*BW*2UST ;.;P0 MAI56,BZD\T9M.HJ?[C.1'@N#;-1H=-=2O0$V['.O']_")T_P3AO:@-](H$4+ ML_9@U5O%2FL6#4-RUGP]:2-KZ9CND)\!$AOV,W0T3RABSY:-S:;92767]<9. M7(\R\3'3//8E9.'"&\P51=4P=0NW1.14J0 DR+=3#MK]&\@]P,C*AJAHAJ6# M#MQ"6M'$Q0^'54:LOA_$YP6#+R^,7;529(J=QI0X1;!$XLP+SV&68GY0P!"% M%=P:W 6XVE7FR ,G&9<]T>8N2<#8$Y7E6\4>URGV>(_X+=;:G587RU]7,MYN MO_@JDU6H7)H_(T@-\%H9$_R_HU2/&8"WZQ+>JGO*,N#[1:CK";**LC^ #@R3 M@K0#*,G%/<84FNK"D9(-2-1-^P8!7,_)3(;\7!5^.CDW!'XT5$"TBJ*F5 MI48%! -F= MY-MT/D4"#9D M,,@$EO"OE""*9$D$ H@*N#<#H!X$*DX0P M@V^:"?!<8P!4+]K@V43!F%$31=L2DL&O0K1Q<>,&.J[CI*0T#!UT?!W,X+$) M!.'O<)=H6W^'*$&5SBYLF/ ? F>X\0M+H'=:*M3_%8@K"1_;.37"P#DV@"J> MHI B>H0(YYQP[SJD>+#2=/2Y#5EM!9 LAK@37'%)&8#XDFV87MJYN_I-R?QU MFJZKU+LN&L9[T7A^.W1\.+U+6K*Q\"4 %FVQTH(@:&^%U5%.X=G[* \Q5H'8 M2N_M:\F;/>A/+X2PS$%0VL\YG5FVXWA6VE93M#5*+<6DE%>R,W\;\I\(,TMX M[)DD[%%V(5 O794B6*'W9^&7#'(-U@1='W62='^]2'1"A2B< _Y'DMU^/P2,A#P9(*H!< M383>1=#,D+"!)T:)C_#2@0O"'X0E%/4F.MC_W";N\X48(P,-B'8R9\QX><,MI0T"C)(C,Q<= J.^")O* MMKPO%*WA2F&@,($7AA"3O[A0:UA0_^SU]7%ML?MJ0_*"7K2.7->-75(M96$4UY M*0:XA(8!T0(BJJ:0)[*(MPN-](ZP@_P'@0AW<%;&QOGG4;)83HZZX7E_N!?@QN M@@0"\5- WDXC"?VNQ9=;ZG)19N-;591*/!4[03.!)Y$"X$4#;!!X;P+F<.Z MMOPU$PGI="ZG03&*K$>?9_Z,A>L$R6P3QIQ!KH0ZDDZIL@HH+'J@[0KU+>F, M%+ ]]GZS$[W8=B"XY]E?7 ,,.'J\+,: M,(E.U-'2H*,+JC$!.M3USU+5;IYG>]9VL^<%GA<'@(Z8\SAFW]-\/4=#(FB] M#A%16]G\_]G[TN;4E23M[_,K%&>FW[@WQKBU( &^/2="@-AW$-L7A1 "A#;0 M@H!?_U9)@ %A\+'9K8[H5- 7H;:@'P[([KC^Z.2(DO J!*]UM[$2$S(\V<-VV3*BBT /; M#@OM[MWK&-]VZ,LU;.!O UV!H8TWES87#V?7!3 76P&\W<->6Q)3WT1?RH.4 MI/&:(/%*131<002>/=A8WS]>G1T5=$^JW,-+?P"<#,VY'C.U6$8TROU&/==? MU-CJA4+:.\?^Q[,3WK\)__C)7 4W1V"S=7B)G +@(C\QQ;?U#]N3@H*UFA \ MV1.\<]W=>: M).O?0S"WY\W+&H#VZ.1I_2IBOW/BR/=,7;&M_1/'\YJ(5W23SKKY\6-!P#XO M"#M)&-^\(8H=O>\O&)'&Q0'K+D9:XA7$@M8LP=!7 M/%";.^7-:_AH&?& -3>T:,312DH!:V[&FMAK+-":B[+F#TOZG/0U;TF'Z!_0 MX:)>W;>)$#U- R_GF_J<7&KT M];*%]Z)?DHAC.:PI&.5MNGE_^@!YCZ&_I_0'!C P@($!# S@YPW@#2M(U$GTR"3J43G06Z?%BB[=NOO!8T@5#?D\E74E1V,EM)8+-/-C,S[B9!\[0 M3]W$O]P(^DYC1D>O:OTEK1))K9%NF[S6-_^&U[.^:TAO6![I S)DC]Q0.)OI MO+]E7[\^UMH9NF]2P SDD#0/>71XR[C_X1@SC49[*IZ0\SDL)R7"DU F4CUH M9KXZR4\6STG8A@'OSJQ[-ZRX<\NHJX>OD]]T>),S5SP&_#Y@^KLGI+ M7!5FW5ZO5]X(/T^4?WAU+;R'0[0>K._Q^=N@5&UYM M1@>*"_>&X51&5NL<@[?F2C\4Y]+9):R_%/WU.WRLH_-#^N=7P9 _SDA=R>'^ M/CI<&"C=R0^C.;D\ZT68!MN9#3O#6Z!#6A ,6^QOEQBZ$$2\)ZY<$0_^N&6? MS*6^RM[I(P1R[AH %^[C\[YS%MY5\^/M,Q,JC#K,HI=CIF8'E6?&)%UPJAP% MRQ<2A+]G^=]G0\<_3L!/93T_Z;)/913?C[L7!!J#0../"32V>NVDS"5Z,T;$ M:F@M6I4GV=%-H*1;+P4!FXRPBCA>'E/>.<=^=-CQ9LCS_@(YSPE&2QM-/X1' M4S0W7/1J=<:>ROP0S2F,3,,RU0"/4E%_]\CSX=% $^XW6GLKU/IS3<(U0KN? MM0ERN%"-)QAMRE)L>&IT&G0A8]# )D1__8Y&_54>_]Z#]&?M-72J(/I%VP]] MJ43[!PDJL8W:K?/QR/=/8",8\O,9+'=6D%Y2@4);ZT)3OA*2;@FJ#\JH2]I> M<4A8;,K8JKIINA5$MRJ<[_X1%JCTUS];%\#;*H+F?>26KKI1BEQ!Z3[.4HBF@.(;$Q/['7 M90&]+@N;2H^0ZI^I]/AZT&8&O&8F6P*O=:8HCG,W^VK+%;K:1:;-)@6'25;*4WG M^7H5C/3UQIIHBET?%)0Q6B\G5'J6G#1*8=AKS/?,)C,)T\:B[3!X(IL0.;H0 MB8]H,-+W3%VB<*W8;BERBVV7%O%ZK==*'NQ*ED,71$%,BC5'UF#UB5S:!T;X&SJ." D;YG+D9X=U#-3VMRPEA6R#"7U862@MMW# M.M_(^)279W:RWT!#:%ZD:WVU.DK #F+$_DA[,9A7U!K;0_/IG#EJ<:EI)@1' M4OLC:9MKYPM@)]](OE@?%2>*P[#B2*_T-4SO$LLJQ%G[ M(UM&CJC518%AJ<$\ALJIBA!IP)$^RH]F;2/'IZM]F4=ILE#,9IB1 R09];\^ M.JR6LAE*K*)2GL]KADCJ8:4*FP'XAE8(F<*!7Y) \XT*V)>Z6B6?=]R^ ?M# MR<6DW"JT.AP3RO0BS3:728:3[E-]U->56BR;2J$DJM+F++WH9M%JM@I1IV\" M[457K8KVW&)LI; T9'4D#J9@681_J&XFL'&Z8H99=5AD:DU2K%1@:_8#HE^K MJ,(8R+^*BE0ZWEC.U702"#1V0/8+D72D2L^3DKS(TKA-SQ+,/.; H3X65!L. M!IPI<83:=)%KQ#6'G2I@ @>DOXUW^IE85X[(^:%4CL]:60F*9UBWX%#_68R-@N7!6D0E<4% M'^?U L&I%?>I:Q9\T(OR>..\/VBSAY\7&'^KC=IV>?)5DS#/C_?Z:[E-X\"K M]?YV6ZVU&^/]Q41Z(HP)K!MU;=>>7SE5;@UK"-G^K!HZ[/-EVBI8@=LS[(:% MK+>+F!]Q,S^H3%VW6%50F,H258G"8%S+R\J\1 >5J2]7-_@D+V%_H2 G_Z^\+.V MXB)_%=X3!CY= .V[&_=U6>];^M5E 0?NP&7O 'Y7%K:B,YXLN#&:;Q6=>D8# M]PG!OZS-B_I6?(RK'Q=3[5W(W-UM$;;3Q'K/'?2(M%5/]:QF\<8DNDOI61G( M!Y:>A#\E+[N*Q+L[;&!*[\V4W@9#?+G\&KP1>/DJ[:=4X-+5U@X=.-SPRL!I MO8]O3OPLY$31SF]&]6].AK/?D_A<$/W6Z_Y,-9]/!IOOZ2^9FU)87LLXP+HG63N9QA8<7.8JNGG%\O,5$E_5P MF5'1N5VM62)EE+Y^>Z1NZ8(\ GHM&J8W3["%*S9D2L7+[J$-7%+^R8U:R;5$NE 9,E*D"NT&=M!M?PUS7TY'-Y0/*?7[Y M9$I3S[U>XD^0.AO0>GJ[>#PUX2$6>?+:]:G3_8O;QW59F(N52?P@0X_87,N[ M+/:J,?4")40F158B*G-R,6BEAOFO8Z]C.8'>A;+]:V9P>N6!=\ULWUX*H5Q< M'0P[!IIO8AF.&,_G91NFO0.<18;]E:>>X,SCBICJV1=YZLC\^K;C84S'">!5 M#YN=5IX,CUD[RC%:4JV%$K5[,1J93(;*Q@MX#;6GA%'@[52])T.C01TV&LA# M![;VM@GE8YA:L$OO(P-#5/TLX?PO"70\>[KH95KLO]]8/WSY?P3V(R-QS M1.8& GZ/\9M/"/B]GU+N;6&K\U:+GR,]41,'DH7\)I.VA/>B@BK+>O&5+AN>/:Y @[[GD$*8-U/.#*K:M<5]][F$6="UB/9 M)).M8:RJ2GBL'R9KX32\T$[\^HUAY 5/>IY=]3P0\W*9Z-DCB/.558T9 Z:7D>.8SA5O3[]1L0!EE5>PRMKMV?#%H$ M,8OSQRQN;9IN[?)]&-.X-6&"(ZMK'%D=L<_:7,#+F=Z0DJ?ZM-^I5,RE/*"Y M*$2&8<)_EA\$G,X?<+JU$M[:.GT8D+HU89[3.MW/J=@1NS1R*(:?MC.Z7">B MNDDOF68Q7 5VB3IEE^X]Q>A/.^?HBX5J_+N7GMCDG MP!\MXZET&ZLI,E5+VM%RL4=;D:\[C^>U-JE%*P]6IN;100/[L1NC&? MN^:%.F5>'C#!Z$\RO'.V)B)X] ()WC+/3-:!LS^/@]9X;+/%U*+]GR5!;3YAR/U,BXT'-;V;OI1?XRP/Y\,V 7VYURW\LIQM9@NV!1C9S&^,A*F^1I_SSGE)7. ZX:9*,N+ M3+->-HHA(E*J0LM#G;0\#Q.ENYL,\J>WK$%RT77L(W*Q(PUJ<^\&.+[@I\@U M )MAVW:.*]BZ;+-.MEP-AR4T>ZO<[P]M98Y;A@>BAAE,*T*2G2'GH'T3V$JW M0GB4C 87^'YTMM?]EPB_Y%'HN>W&": 5G@N#4#;$=IE\9%A/:7JE'N[>*G_[ M0XNA5:N#SJ(O-)A$H<0)98E,9J@AM!C428OQ@!&U>\_M_HF^;G"![W[OT@3E MP8/+8M\\JWLT 0_*@P=Q@Y^9XO/XY<&O=A?T&6(09TZN_-#%&&=S:B@Y<$8L M-9CH\VX<7= 6<#&\HN%1?U40) A*!#E!3U0T_&&MTG4C'->R1XIDFO4%Z_3D MLCWI#.?]R:,,&YUL6SQC_&BG9] M1N%9?L&HI%@.3:/%9'],:II]YB? IZX@_E&FZGZ.SSQBE M+FHY-91V:FRY5AGS"YEW)I)KE*B31NG>,Y#^),6\+DXLET$('@D*B0>%Q(-" MXM=":>-)5.K86C/'\A4*+TA,KC%(W7.Z.#ZO\=UQVZB@O#:9+OE)"%-QA\/< M2N)1U%\?+DA$"BJ)_]A*XI='5+T)BD8$(5&3R[&XTEM0)3V_<.[8@ S8>2]% MS L"RS?R6;L[R?>+W! :$.JD 7$QU[_=5_]>CRO9*F"W<#=&X-+3\$&YSQHG M0"[(*DFS^=4%RKXT6_\+_EF_0%!$WH#(;O1/7S(G"K]X^]=B=9X4$45'^.7;ZOG["V75?$*&0K@F,A[?BJ!ZU ML8A'KRWJN/_^U_9JWEW(D* KNO&VMF);U%L1!G<-VE ,]0R1ET/\ +S^C5<< M?F&NUAH!%G)M(-\VAI!P0[N0K/]"MGZ&1/'Q3.7GH2VZK>QG2!$'UMOJ:^O/ M7-NW^5 W)2@,;VX^ ; M>TQ;L=S2)V\X]DKMQ_-\J)0[KA_@PL [!XRC_;VK+ZZ-?O!A1!1!\@"6BPW62)E9[PY]3A#X5N M.VZ_7M4Q5ZV5+122= E)U\ILY07)EA*O"%U*(G4V7L\FLW0MR]1=A^W80_[3 M,_[]^^2H4KG!U)%&&4F42TFF5&>2\*=ZN9!-T@WP2RI;HDN)+%U Z@WP09$I M->I>I@WV#_)7PK,O8O_O,TWG+U;CP>9CK9_XKIB'#=9*7EVY#P$9?Q>EE=R_ M?[BK,#X]\/X(C)/P%QR!_"]PB^$W_][3D#U5>P=F<%PM9+-NH##DX%/]UR*+S[C%!7[?>*7)^W\YNPL'J^3$V(>DRFJ&6[*PVH%MP"NY_#]D45U M*G7KXV583C?DJ85-Y=R"I\%()_M<(6D,.=S_S*1= M:/.A4KXDUS,,[3BE07<4=\!(WS.Q3-:@XF8<1^L14FER83')R578LF5_I-R8 M=8#&C$RVG'9&Z?;"J8Q#0R[,H?LC=9$8U>@>YC VERT/>)$J: NI?J4Q<5*3@B%93Q1J'*D_^T.VT?; MRWEF)//A_(1LFUHL1<"1/A[Q)3+*]@9$A%U0JM)&LV2CEJ,Y-Z-[;YYMM2^V MHY3-4%2IBTV)KJ)/JQSE?WN].VW4&AFFR22$>F\4JR^;R27LONP;&6*7;+H\ M1R-LO9]CA2J5Y:LQAXOZ1\[HCFY5[#*+IN?C;B>93)5;/=ALRC:IE^DDVVVS172"@F']H=Y:T9K&! MF632DYR@=P?YLJRY0_V"1\>;26INTG*KJI&ETDPJ*1%WZ)JC.RCS,_T7WS'_ M L^;LUFU$6/50UN%93FF%9.VVP'T,E*V[61\PCER MOPG_^$G/R/5(-L#>"U, 4*_P$U-\6_^P/2DH4*L)01PA>"AR!WSPMJ7O(@_W MDQVTX <+J ]-6\9Z8JL78MZB/Y?"',%>8T=OQ6X!F:WGZ^"9 R!T:ZJM?P_! MJ,Z;Y\8X@$XGW8>5J[@#@?B>J2NVM0^!KN(V>P,_+QD[/N#W3AY?8WC B+M@ M!'8TE!PPXEJ,P%[1P#;=!2=>8UC B+M@1&";[H,1Z&ODZ'7Y@!-_QHD_O'IW M$K=>;]71/UCU11'BMY<D^NCQ MRE^2YD$?:Z3;)J_UX3U'Z=M2?NM[1&7;,F$:(CR9 D;'<$^%3$37D(9HJ$A! MY[6SB?>MUWJ#NT%N\.76Z_Y,PNTG(ZOW7I_G2@FW\!0SNZF+XV;9.DI?XZ#. M0)59Y=&NAQ=T;0C,C>H>?BXFXDY:+CSI-2O\PLM]C?.:;*Z^WM4&V?E"F409 M:M0-M3&2'J6IK]^VW)UT@C>,!6"65]3N0$YM-%K@R_V\W&3JHW)'-"):M=Z' M:2G$K]\Q_(5$_5??SPL?^'IL(.C;",WAP+*!5/35H"FJ]@!9@51P%3$7W!JIQEXUG=6=./6=/G03[\U86Z/SC_O MQ[O:"O_X573N/F#U\QJC*PV5;7;("(TNW37\0.;B(<;+F6+I= ME>9S9AK7N)A1KZ6LY?!:QDE@Q"J9B1?2S,+2[3HV&^=(#!HGZM=O C]FG#Z/ M!C^2RJL'%/9+;#9TBU=<:!@$#0)G[*Z#!A>&96(_/L 7M%!%$WFF/4:;J5%' MO=J!!Q%7EL2P,RK)>,XA:]%\SS;J#A=9'7A0EP1)SR[+/T)A[S!Z*Y43-=K56._<(4SB9S]W MN+4WDS5-V[TL+.BF92* ?UY0J2^9@MN=+(@I!7Y;$%.:7*3"[<7QRD T#+&? M\NH!)*"&E\1#AJ]:".4YI4@PK#VNCH>Q0J%CI&'9# !5(F'B2_42@VA.8!6> M/IIS.:MP25#T6;-0'/3;3"Y>**%\$=/H86(BA_)#SJT\C;V@./:]VM-7SL.( M'8Z:4'YYW_H.!,#P]I7=LV!8Y7DRM ,_+0BLW M0@9'FQBK2?, ,I;JC\:R< MP5%9G54%MI,O-)H=AW.K.<>PEV@L' 12 @4- BD7Q PG-+0>S3'?KD,-A8&3R$N8\".%QPJ46I8+$T!= S! M0[75^_44-T7GPVO" MB"%.;E[15FP")5W8["TCK7FH(CZC\7%)M M%5#!0@HBF!\_%)$:'.E. PR0-'= 2IJ+?20Q DN&[]T9^1=O GT ;P,CP&NM MTXO_Y&+_?D4.4A+HG>ZJ+5@EC,*9P%+Q!J2-:0$IA+5,P9]G(EB^9;XBM DC M<_[VLB\[1'3 *L#L74)*;L:42TQ>4> P<^>)MY&J+" 7L+>0C2\(_^&B=O1E MVZ$_=2\(X)2*@N6^WIX,#+ < M9""*0+# 2PS>T=S?7,9*V[EG"*]"=V')>_,'Y%Z;$4]13\[ZDZ9^8ALB%^6L M5+@CFF4Y9"E.?I')VAUU^+T[7IYPTFLIA-O#>6HQC(;QQ#194(IHOEIO]IR% M1J*=G5H,G]EBX!SW\R'7/%VW1 3Z*FXVFQ#N[38EWC"X2)(G(XDB0:TP_LFM86L/6>,8\OT3V$>.O*/-8W\=JU9^ M.(:3>.Q/&BMN[\-!6\7#;16C05O%]^=NU"%HJW@VH3NP;P=M%8.VBKZVBD<; MI?W^L*WB?#[_]?NR+>%<( '/MT6Q/!'AH[0AK:VS";VN8?YF7'4:2SK+>G7& M4%&F44+SZ72RXO@;Q!T>=X\-XB*O2(&AZ\P-V\(UMOR35;.WM7.G#P820-8# MSU62Q'5ON$T"P@L"Q",D0)XIBF<4U]Q'/EW*N> MT[[O7ZY%;C&!J!"\>L3/X)M5(!;N-X'(FN"QVA#^-H"D/.1FA$Q1"$GSD(>% MWS+N?[B23=-)?)0+R6EF6!.BXPY)UJH'&?95K?TD_- U<0,X_+/WB0SDTGK@ MQP9]WU,U#8NK 4IY#B;\K>C%<58.Y3RIT%8=\(;)%RFF;U-8AN[0.SXDI.-; MWS9@)QA3U'QQREWS[QK]VII7[F\PA+/E/[8KV6JX&@]/T'HJ41]C%%>.ZO0I MC7&)ARS %O\.T_8 M:.Z]EYJV9/-?L\F18Q:%MF$5:@VJYTZ9I,G97, M0U[?$4UH,)]+/"%=P=X.8T@;XJ;:X?ZRF7(68!KIPK!=7YAXX:2$6NLG?5M( M89 6 (LST/"4R(Z2R=P%G1/80HMX849<,>Q([F&:B M\X4I)-'$,A71FD,R17(G)1;L/:[ ?HFFK\@J 499O+A![U6T]X-]?!5]!U@/ MG@L 7.'A-[B)[^S_KLS#2&7?144>YD$@R%@O': 1#X7T1$!)[V!#=,&ABX$\ M* O>Y*F0 $?NX<]W3*%(+IR"\,N5$-,$;UI#FG>LX;UO->DU<(9#W-26U<+= M0< 77Z%>^/RCA'$A5MGH-Z6P8(G5>Y<@(L#)H,,;1X@7TL4H?*LI7F?*^8::+]O M'KHG#N^PW!5EQ07Y4'G>L]&]E_M54YR+AB"!1ZYW*N^LR_P R,:"G!T;REN62;09TJZ1KP!RZ' 0:$G(#*"*L M3S#@;<5Z/W![001#-\W0^@\30X=A2V\"&S2 VOGB*J5[ BE"YKDS!@:G+WH6 M382D6OE&NOG^%MX]-5L]%GQHFA)P?E!<"P*0VO=C1[J>0!HZD 0D&L9# M&!K"R5>D\&Y3X'A;LU:\@(>!&^=>7WO@[Y[^"YC>1/3J4:]DQO.W=FS=94\] ML.AQU_IH,Y749D$>#3:=5.XI)+.GACXN>-HG GG35K[AS-DP0NP&Q:<+I!;6[77>CXQ@"U?'PB[ MI^U &P$*,2>Z)ZR\6\D%F$LX?6\2!R[=[!%Z.]T!:H.V2;3YY)?X_2^LJ.9JHW>T#28(TQP\9DJ#7<8B<(<'-L0<@;&B\7)X5-][[ M4 M4Q[(ML&[C%*@8>GQIK0Z6-]BRC858>Q,U,S5A#<'^>"1.AP!ON!2^1B])'/G MZ9MGK)]\C]:AYA?FZQD(\/[R?F!U7W$.:)L'\ [=(-M%;>ZPPQ*\-](OM0?H M\JZCFR]*JPE#)1MJKA3W7$E<[11 O$SX9@^JK(1U8+M1W'5ZT!ZB?M<"]W,7 M@?!P0U=5Z%&ZQJ+O3I&&P-FT3G@;?=V%P>[&WH>Q8VA< .\E+TG%\RP4P;4K MN_/=!5&;31I&DR73^S+ Y$# :2T/LK- JPTW$D#7+!IY^!]F;>VUGE@?8V# MMM;##RL),9'-7O).097OBRM5!QR"Y1XE ^('KXJ3Y(E#'[[^P*O=4.U\]7#O M[^ ;X"\ )9E'PK,K4/!!F,*+*NWZ;N]K=P&BY()! WP '*8><,C66Z,;V-_) MMI* )[4!G^Z?O5>M4,[:WKB;T@=2YKYJ([,?&LP#PGBEXX.'RE#Y?E9UD(+R MJ1246)""$J2@!"DH00K*U5)0O-01+B:*X5XTBG.1'BYP81XGN!@?%;@H)49C M>(PG!"JZ2B[AU_<0QG'&F,3#:9X-B26,)]5VI]4?I M9,4:AKE":$:#D9']D:&T38HC;AEBRA7>2;"5;EB;53G<_\QN/9'@0^4A)]=% M/1'*H7QL41V"D>']D;$0EE-9G1J@Z40J-VLI3FM&P9&^MP\'K8YJS0F=Y6>S M>KYN*5K)@",Q=']H)1TK94H9>\Q*0X7#2FR9GRE5CO!/=-#6Q&;>X'1&S$=R M; *GQLX4CO1--%7)<$+)&/!L8L*()7;0T-D<'.F?:#.ALNDF&I9YEH[+WN(C<43\ 8Q4O52''JF*,> MD!'2_W9.:-4;DWHQQ8J+18=-Z/F!;L)G^LC$-$*-OI9Q2DQBA V+,[*.6S4: MC/3-T\EG(O-*+S)%TTXE8Y7"XT&=@L_TDZFKX,6%6"FGT;Q",,72")OR+5@U MWL]YO,Z/.SN$S9_995IIU>!' IZA\9 MQS6GPS(DB^;Q;FB)9]N53!?64/&-U+3R7,_.M":::'39J61R@P;EEAKP#0VG MHPEZ6B(ME@I%QD0/C=9&11H.]1$_/I8;Y>XR*;)X>J$F6@R'+VEWJ(_ZM0*; MR127J2Z;QVI.7Q%;LWK:G8"/_)761$U:=&_&4B01X?!6I->A''<"NY/E2 $; MD'PLQ@UZ8:#!X8'(Q3 2R!.%";U(#!-[?;]H,>1X9#=+%8;/MO1FLD4T,0$: M%7Q_I%Y@DK5PGAHR:G3&).(H)S4C<"3I,VECCJ)E)H6B:2PYSC4S1B&9@.;' M]\QBM50N3Y3/][HR1=34*%>SV]("*HMO15V< MH:O]9#PA+X1RULEE&W9/H0]I0(>8UFK%J3U%RT9JL0PWQO98A"-];P^K3CU" ME#--IEZ23=+$$X5.$6J5[^V2N$@P7&>$RS8ZB F)TIRW-?J05CEH)QX)9^C M3'Q:*$W/]_I^)UUQLO4*ATIF M+YLO5QL-#)@4#/R B"82A)9I]JL#^9N)D;IRFN[;<%,KX$MAH[(-01:]S$IPUCQI8SP^'4[MO3 M5@80ZX $FG(H*\=&;5-6(Y&:DUEPCM"HPJ&^N6*$,:%&T5A-5LN=A=X4F2S) MND-]<]5G6C8\CQ4R#)Z<]&M%AZ[U(* YL <,I ;)SY9HCEE4S!2=Q2@]-G(X M_( 0QE/3D4B&J:6<5Q,VH^@=E!R#H0>$L#I85+1$N;I$RVU1M=.RA),8,),' M+!50C-9TPJ .*A53^"S98[)Z$3SU@*F*&Q0KYD9Q&95"[44\.Q+QIE6%0WV; MT)RPB@ROY3A&3*.,+6N9_-A[JF\3"L]QO=%HA>;,0HMG)AW%:(WA4P](UFQJ MTHDXWYC(TP+?K(6SR5$GY<"AO@F,.F,+*$!DB?*&,!S4N^@0 QLF&+J>P >Y MW<=SG/\@(QH_;X3BPRB5>[RAPQ12]^08'D"9MNK>J3P6F%T'Z=YGO M64K@G;":K>M@^U/0)Y9=B))+?H%.\_DJJ@',K,^K%THJ_X.PWR?C9V[D:A, M\F[A"X I_ 10>/W#]C3@6U>Q$NAO"EZT83;$LF,AQ,H:TBA?N^,%\S]05 MV]KW@Z]W.1W[?/1V)Q#XK0(.^"M.!HRX T; Z.?1>J0!)P*5^%F,(%Z)8).X M!T9@V"MQM,9:P(FKJ006,")@1,"(#2-BK^31\G$!(ZZU2;S& OQZ#XP(3-.= M, +#7\-$P(GS<>+[?;A/!I[N)2]N)7B"KL /_^\7^>NKWFSLE<+V*W1>M2)X M]$3>T:E4H\;($$6D"&_(F0BC]<7^>][-10WE]90"DLBW\JN+"H&^8KYBK@\E M*B68P?NQI/Q@^X%_52C )D8=W<1NSO2=NZEG,@VG8H"7S\:\DK'XNER$7R.7 MM9YGE(O8N>3B2;>,;UF'R[:>N$?K<,K5#:P#1KZ2ES6@%[0. 4SX,DQX8.P( MDTK.BAX>F!9>E6W_OS[ZG U'/#"Q8&K2H\"+1Q(,#UH\MF"U)^X\TWD'-[)#B%N M%>E\5-'XP_Z0*]6_=3_8O8HG;EF*\X'M&R_N3,W4B,/]7)^Y?=HFT9]:-5 + M[^;Y=R+]>#4EY\-,6>MUGZF;*FP?=BU[GN@=4+Z"19F#;DF-,6G4 M[K03:GKH6%7.K82!^<'OWX'TGN=&XE,L\N1MO\=6T:MXJ23]OX?<1[ [6?5W7Z.>M.SC,^EGKOMW1UWD6?N]'/IN./&X# MIU^_::]]'[]NK+9N(1<$TA_C&,AW*OO81T(K-]#K: ^76AZPINAV*MZ6U ,> M"@*5#E.SIH>KJ$QZ_K,CF7A%JR6&HR MZB3>[H\;UK0VAIW>X'%4C#J6QOR QU'[/G)VW0@>L-S7/_R2AQ8WO/M]%R;@ MPU.L6Q/F9SKD:SU@O-9'!^Q$+U1 .[F6A,IJ1[0:)B&:/:KJ]9D+4\%MPRL< M^-U:-6YM,SX\$+PU8>X":5S=^3]M,X:+4C296/8'*$68-(U->#25<;R.DW@T MN.%XA3.E6ZO&740-[I N=V$R;A!H.&TTLM2T,'-JZ!1M.4PHSG>H4J)$@]G! MX )VD6A_3)@QNMXQJ@RLO MI#0T&S".$3D6D;SWEUER&&H5ZPH=LGPP9/O5*M8P:T% M_6)UBFZ]L+O0X*MX]DKSBWJHU1Z*XNE"[0_CS;$6>>#I*7P.R:9JB M&/=>6X=OI;5^&N^J:J_#SDLD3;V,F0(@ZL;<,9<@V<^\EN\U/+6+]UJPOKK\]&K,CH*T4% M75YWC<6-.E ?K_H3-= MY#5\^XYD-^BE?OM>6_?2FY!ZC4;OFAA)4;A T_3+]@B_9;OLP-@'QOZ8L7_L M-J1G[(A]V_ZUGP9^T3\ ?N?>%AY;5L[8!#O8+H+MXC&WBZ^WI*5>R=O#Y)MT M*[Z"MM^D1MU*4V]]\V6O[ZYYCOK0GGK>>F6W*)-,WKK(PFW,L7>0]/,6O@*N M/V[=WC')SUOWZE3BYRW+7'WGIAMTP)IDVN/-C*G!3[\0&^H(4JFL@S[3':3(TZZKDZE^Z5 M\CJ0%2S%LUB%MAD#72PKXX32C4SZO,.1' '[*+X0U*7NUCU_8O\*8-Q:V"^1 MV$_#4UYA9=K6R>AMKV*1<2N'S*A>!00KRA42/%1D/ M8A3?N2MRKSIXZF;%L^C@M2(,GU!"+&VFLTU:9-GRN-85R[9EHJ'!K%T9).;+80IV=8''0N@+&;M(O:<@,G-G6G'M MR,VMUWM[*W!UP'?4#/318IE@R9HF4UB%XZ:%4*56AXW: .:+O43(2_5@",)9 MM\!\>-A]@53#6 05.JUJ3MUIFB\'Q-E63-+6E)V&[ M")'U1I@PC!G27-W.R:\$\3X,!#OFW""?/9_39PAA_<&3[G MF<1=H>5'/X78[IN[=_,P+H*GB+0@V*JMP#8RM I3P)9N[Y:#MXM3W; SF<18 M<<[85')L#723=KO(_/I-O<2H"V;NWEJ^?VI,X)QG%3]1KR]W.G%&Q>XF>\4H M/Q!S\J(3:\<;QFA2F;J*34'%QHB+*'80&[GM1:Y7;6M6C85+(XUA3: M330]5YDDIW4&;([>_^ZWYN?]"A\$I -(O;)3+WSUT3J-^-/G9QM^!:DN5[E2 M]A0IC9^\3O8CLQQO 4H/;%7TPN ,!TNP:"+:*H1:&KN4V"&'A2'ZQ%](# M" M@%>_2?84RO_)6V0_4OEO@E\/:#^?JG676IMOHJ+8[9>;PU2W4JM"[:>@]A.7 MN:<0Q F#_BG/L<@;Y$J=.R+XH#H7Q+V"%*@@!>KA5OW(49[5*=M..C*B]\"L MW3C@^6Y@_SR_*$AY>@:OYBHAC4^40A/3H>6H.,!(EHHG^HTX5PT-Y@Z'4>[U MZQO(^TV4>$I\=K1R&6B,_5\)]0PI#C>Y8!ACWI)1!1^D4*T0<#MWE0A2")Z8FAW0.]S2S+,FW-K MQO#C&%K.9D*A?(R&>N^E#T70(%;W^+&Z('WHB=*'@E)+09Y1D&<4Y!D%<9-[ MBYN 9[;<.UIB'^'!9/FAB!BBRDL:>.DJ;F*)A@H+("(+D3?,,]8TO/7*[RAX M\N3KOLL$I1ONT#]/ NXC8>=V9T*!Y <>]&VS739]*! WQ!+T;@K\Y7OREWWQ MRU7XLF2KX%'"ETX@MF*/L#+"6]\V((8]WJ%EC8=I#P[7UFC8_6,#8&%L$XK4 M.50;R^ER1$ZSRWE.2SO]_-#A< P>08 %H9N83O*CH$UDJQ]/9YB*<8'57ZRA7Z\+$!;0N"$S0!"&( M._(_;@AZMH];_\#XAK1Q.30.A\8RSIE--$=+:*C."OX9C%X,\/T]F M@Z#)0^OJ^;#2%Y4U3MMHLX0J<[3/7.< M)\B4""(_#QWY"3(E@BC*0T=1@DR)'Q"0.)0IT9=, 4S'0@S>$H.\B" H\11! MB2 O(G#Q?Z:+'^1%_ !_.L%G]5\?Y7X/(_BLM_):W\H]N6UU;+IE),UNP\ MJJ#I2EH+.\4%V\W34"UAO\=7](+M'F^EE@\8MP@2*8*8Q?/'+!X<)1TYW_VD M,:[0XCR-8=0(M<5&(=2!MYBO1'4_BQKL-ZM.)^(FBDB#F\B_W/F*C))VW!+ ML''42OG"7$/?VE<[D7Z\FI+S8:8LYIU*U C5TN'=8E+D)U314?K:GI,#E\9X M*S,W.D=Y*E?B#8/K+"O3RESK3!A5QHMCJ4='DXKSZS?VZN^A9JAT@+/&_.9M5&C%7+E;DPY1)4#ZM>A4B$EE$T'F]-6;S>30V5 MV6+1*3O0*/F[=FV(!&:"6",1_-\019=DFJ2)B K6/#(1$0AC'ZF+$TM4>Z*! MX)$7!"[S!3%$UF7?MJBW M(@SN8J6A&.H9(B^'^ %X_1NO./S"7*TU$GLEUK6"WS:5XP@W4@/)^B]DZV=( M%!_/5'X>VJ+;"IJ%%'%@O:V^MO[,1=B;#W53@L+P9H@*#X5VCVDKEEOZY W' M7JE=CH>!O?&S_")!*V++ > 1H)+ [OQWHYPXB*7@SV]'6T]#$43T 9* 9DRS MS(V>\&>'5X>$;CL,MUY5;^>5JQGW=*4/DXVRA4*2+B'I6IFMO"#94N(5H4M) MI,[&Z]EDEJYEF?I__MT[_I#_](Q__SXYJE1N,'6D4482Y5*2*=69)/RI7BYD MDW0#_)+*ENA2(DL7D'H#?%!D2HTZ JT-AOV#_)7P[(O8__M,T_F+U7B[#YR4 MU1/?%?.PP5K)JROW(2#C[Z*TDOOW#W<5QJ<'WA^!<1+^@B.0_P7V'7[S[ST- MV5.U=[]HHVCPHP\>O]89WMVQN'"LAY,BV>.B DYR88R*<3$4%SD,0T4\+/ \ M&15_>5+*K]U#U!$63GK!+E%1B*)1NYCJU8DJ1"S[(VL%E%!$)J2B":U0;(L% M;J-$?XG\EE4\DH9D\,IBXT,EHRIZ;MT!",]#TS$>MF9]%!SD'%2D\?E_G$ M*"=5N;#_F1)5FYJ1)5MGTF49S3%45(ST:8[DT/V1^>["$0HTU42G8GS&Y"RY MQ8]HX'CX1C)65B$K>J*,)N9UIC:02YWIH@I=E/V10VF&U9;L F=Q(2VF!S:>9=*87"M=I*D8F'( K?6\?+\F63!&BPM@#.J[@!C]S M5(>+^D>F(MU\6)XF6!:G,R.BTQW* WW(8:A_J%%D,;N:E$64BBLSQPR)97- M ZGR#VT79L-4B%\L&,HRE^5LHR0T%'>H;_EI92[1XW8GS2P*;2J:Q4H \E3A MT-WU!XC!"Y< \?<%%RP'-4#(]&>U%L0 G]_8<[.:,Y:=)VDZ&P M86N>KW>Q67QX2*I#8SI*M04VS_(QJ3.RJ5*8KH$9^[G 1)(9EBPW<)1OY)HC MPIFV--LY)/\IC4"ER3!:8D)I"IUI(Y.1F2J051^]\$E!F(?5),50DE(6R7F- MGUL.D%7?R"&E2K-LTUC*TK"7;0\S"Q+(Y$&I3C5Q1IW%\[(=;A2DS#Q7+5>@ M_/M6U(_'M%:FF*51&]58B1]-I *0@0/RWY(K"6$><\9RRRY;BZ54ZC;X@_+? M:TS5T(R79NB43'>-DL@1$7-X2%8%'0_EJF)DQHI$.!7O":;2GQV45;64J0GQ M<$1BI/XP8]OUN:$"G8KY1_)S?#R9.\2"322<*M5S9IELS3DHU;;0KG?'ZA1C M$RE58PK1O-Y+'Y;JQ" R80ME+HHNLIV%BCH;_B&ZKETZ52;)D2F5:7 MS7)#8U!N%8'@'>!] N.;2XM9DK(]BS,-\0%$Q_?V_MRY&7+6RV(IBF*9;B4[/L4::U?WUI' BPC!5:Q M-:(\\(YD7:#: #.**[H@_UJS>I"(]3O-9#2'BK/.A+8RU6;/ F\6@0<\ >^V M#%L\'Q+?=O$^&\I$/Q_*=/W!C5OE5=4&+I7"3TSQ;?W#]J2@(*TF!%&NWKIZ&>2OZ_'G^T6RP+8RX]7P=/!.*[)HDZ]]#,/C^YGF( M#B#"2<]LY87OH$N^9^J*;>VCR^M%L+'/LWW'O?[6647TE3B:?!@PXDJ,P%ZC M 1_N@0_A5Y((.'$'G,!?HT0_O^3C7Y5\C+KT=9#O2O9.1-VW!//>$)K]=13%FU=Y5$\QQ5LSQYOS4] M;E&$,_HCE^T==?R\A:_@SX];]T^5<_R!5_VU/>T>JD"]9Q@-#%WUY1#]/'QV MD=.W"ZSQ?\ZWM]ST\O/.Q13D#N\6$E\N-%/A%Q )OM_;(C97GJ58)MZ?&)FF M7-:X#"$[>G]0@MFJQ*_?X9<(ZK_E]C QU$ 3SWYJ_%1J^,7[DQ=1P_C2S/6D M'*VP:B0RZ/$A6RUP\((#!=60P([5$7E /_;3,&"=5GQF$/"P^"X \X_BM-Z) MD;L"UMBNNY*% 3K1M%:FKJP55C&GQ0&C-^=;L[:110=RB^ABRV%N4I\-X5TM M@#TPS%_8(/#E _5_"%_^3G3_"@#GR[K?T[+UMDDLE[*4C0BU'%KIF334?0!X M(N&SHYU;%WZ\'K1Y=HV^NE=U,]#R0ZS4E1%*Q9" .DYXY8@W)@RF32-#CDDT M$2%+B4FQ)XK)(1=U@K;Q!"N1#"^(SN]HL9>=X6S"J3[K>3 M)(4KM;Q) ]T%P")&'JM9_P1QE!UAWR[0 K]VQ228'^AI_% 'ZQ[C*T&60"#X M/R^R\,QI ^"9-;CTKRL-W$NC'AM*+II<1?,=WMV MN?X) /WF_O4-=ZAGY^U/D-_;.IC7WVCNRL"J'O CF?,7[LO0/AD M05P7 )8'K"G2$/V55]@OJS$KY)?2C=U\FV/G3[%HIL$[<:S#A*B"PJ05+,-T M'5C2D/CUFWR)D!=,?+NUQ >*_D1NWY.%>\^KY0N4'25Q?%!B=&FE6-0QVXW6#Q9X:=='LTM%XZOQ.C%Y[ZJH'I8N4ZL85X* ML^7)DB@PH0Y*$$FA/E_._&OXO@SA)V7HH^)/[RJQOI=-OG\"NRZ0G]>%!RVD M&L%>*?(G5@5[13>=[38_'A&5/S@L.V/9O-B/+-CV$*P).'.GG$%?(S^R_.HC M\"8P:/?+FH S=\H9-&#-O;+F%:,"UER2-7]X.'32F[DE'6#E(O>W[>I:5XJU M'M]WSU*4Z111[J4:&R &<>[KD2XE>HMXI8 MGDV8CF^2=TB 0\(2[$0/L1/=F"JG*RBJX"F*>.0\F'S%[U%?3M54]'3FH\** M]VL]3M36OK((?A2T"6#X.- 5T.PY [I\OE@<;-5KM*M*Z)*@^S/ R8T>.U,WA" ME^1Z!O#&JSY+^N6I\]X+IUMZZR%>R?W%G3OMDC:Y\F K@TOLQP?X@A:J:"+/ MM,=H,S7JJ%_/LCR:ZK6^7+_1O_+ 0_@= / /)%D.'6V4[BXZ)I.(EZLY*EH5 MXC6'"WO5,LCHL=J%@2+_6$6^Y26F9]'C@^FF?ZJ_C7 ^KHQ*O1"CINE4+SVM MDK,0U%^8(TU<2'NO$>BY+SAU3WARA;" 2)(_Q>W\R8[F]E6#!XV\/+TI_Q0D M2]IB"'<_8G\#PN8 9&D M?ZD5WKX. 'UF$ZREK56K4\D_-3 MHJH,FW*SOJ2]YD8$1@0AN&<.P44#_SWPWX-8W7WCNI1N'TJ%J68QG1H461G- M5\2*KHH$6*2S;OQ$12YDN@-E?X)X>Q"#NP[H^D!UD[IBU>I,H'L\R&'9 M8H)9]WT*8G!/'8.+(4",87E00^0'EF@$OO85?.T;5D&XDYRW6U/@:;<#1^EK MGX9S--3X(QM#K([UA1:>4U"UP$TM1S;$5*\*)@TP782\X/%K8#P"X_%A?.[6 M!'ANVW$*1YZR&7:_$&FD$I,RHV86)C-$Y\VZ,023!6 2OU!L/XC?W31^%W5? MT] M7EF5E9^LY"5P\1_9Q0_B>8]FP?\TGG?(?NQ#P\Y$$^>NQ]H*C MB(_5^I(I 'X Q6?F AA*J_"W QM$NVW@Y7XFUV#+X5(SD1&MH%0_$@VO=4RAI$^QY4J0_"K@,JG6_34AZ;\@E9[8[[ MHU96CS2;KDJ[(3X*#\K2/7F(+V$;AJA9%P%8][?FP$4/HGP_9A/X -FM-/Y0 M;O>T8"Q8E.\P=J+?3D92:%>2JQQ&>$542#069/$%MN(>"/6@X;S'MRD'@>7' M%J68SV=KM53"0A,"W0@+4[-#0HGAU\B)DD.3WM/&[DJX)*W09!/'.O$GL MV#D"V+F^;O<4\5ZVA#,VH;CY4I_>IG^ $]_5]Q!4)(:4]$I4S1=12O%$U,):,= MGAE"A7>17)B\8+F51]5W%[;]V^*!Z)YCJELS]<5H/-*7;!5\2_#__OV7X_MO M_Z![7&PS;JV_Y/LGECYQ?_TD$<^HS+!!BV:]$=3^,AHC$9'VTARA'B$#3T7\ MT!4QQ D8!?-FX5WH]V\)NCK1-3>8.MC].AS(6X@C*0K2$\$#!'VH@0GV$=Y\ M_[XXGXB:"1^(#&S+-D0$;,R2WC=?$3A+[XE ^+=>!">JK[?OTU,%/I HN--; M)V# K\&_[#]D?2D'L73X=\E 5@]"9KQBBZ]GY,\[.US5@Y+V'<4#D@\-J:39 M_,H*]:79^E_PS_IY@@+[Z (9'?T#B#%1^,6;JZE[TDNX4P2_C[SNP^@K 25X MO5VA_X+SW'KLSK-"@J@H_QQSU=9/N'#+93R\-FP;XN*81Z\MZKC__M?V:MY] MZ)"@*[KQMMZ!MZBW(@SN6N>A&.H9(B^'W (!;[SB\ MS[9;&7C=X_FVSB1,N MTR%9_X5L_0R)XN.9RL]#6W1;;08A11Q8;ZNOK3]S]^W-A[HI06%X,T0%2,5, MW&/:EGG"@>^\R_$P]AKQL_PBLD^\L^<_/#(R(!+X[T8Y<=#:PI^!D0<[OK+3 M'WOU$3!M4 2ALB<@L'!OV*WTA#^[?3W8Y_N 1O=V7KG=T?O7[U:V4$C2)21= M*[.5%R1;2KPB="F)U-EX/9O,TK4L4__/OWO''_*?GO'OWR='E?1'[ M?Y]I.G^Q&F_W 09:/?%=,0\;K)6\NG(? C+^+DHKN7__<%=A?'K@_1$8)^$O M. +Y7P1WO_GWGH;LJ=H[$MLH&OSH@\>O=6;/-'O0LL?5:2SI+.O5&4-%F48) MS:?3R8K#P:'$KT,6?0?<[,#FI&VX8]RD%!1"9X)KZ%LX>H'GS=FLVHBQ:KDR M%Z9<@NIAU7UXG-!55;*\JS%@HU1T$^S&#?"2N*(+\J_UQ FL%T]T\CU97FAZ M@)=;ABU>RK!\5@6CKT /BL5LPY-X MJ'U-H'=TO, ?6PP-:;>0,"?LHVU+I[/CNR(F O4MI%;: ^ZO2]K%6W\CW3 M/$H6,$P"^"NC3A1](8I(7-3$@60A%86'44CI2DASGPL0T $I ^9X@8P ".21 MJ0VF.I )IP8.IRA.>(-",@ G-"0B6V8-@_@%\!C";TO(G71=;(\'R",8G_Q M?[O5>78VBI I"B%I'O( TUO&_0\WSE?,4'E69-C$2"RS#:Z2D]+5@Y#^JY3X MY ZU6?-F9W+_@PB\.4( M.V+ Q$XI F&P:O#46HD9\@A?PW4$& NB#U> "Y MQ17S 9!>RX&)J/P"$14(A\%SH"H:4@]X 8@]@1]\TIT'EPAW1+,LA M2W'RBTS6[JC#7W]FF%:FAZN)EF2X"X426@)FB9Y+)@?++7#5-;D2@#YE([FB M#OU.G**H]D2#:U6%4#$^+,@,/Q3HL<[$!U:BNATMR)92?Q N &^2-/#:-97 M0N#LBOQ<4FV5UH!E5K;_:%9$8TUI\*.P'5((X9[]+ &>OO^["@,@_ M)M+3@0AXSA3PZ"S= *^XN379S*[O\6QGL9XM^0LN!H[#T7\@&]T?L7]62F.^ MJPOBC'1@G6:B2W%%A&3^SN;[&1G_2-0\P:ZEN^/DK&TH3*N.3^=SHHNV"'I' MDJ'->^O;A@/\#."P[M0K^>#A*U$UBKPEC(#1V/Y[731FD@"E&'CB6Y*;3;3R MM;S$S%FIG@LU8_.<1D6<7[\M6*L84778-VP_# -EQ?2>Y]KJ#7EYR^)=9GW2 M['2X=H$,FX80ZZ%EEF L>583G.4E;,[7^/&GAN:KW*&'8GFPL>D;&X-N,6J M3KM43&_$Y'(NWD[(55.9=ZJ>_[MG8I %0-@FY!+P8[V@R]IDN#N%&PU1>1G: M"V\N>Z9$A!O:W6X?UV'EB3WC&#=76T5YX/[Q\([1S[(3M8&-"VA]7"H6H\) M%W7ZZ(Z!3'@8@)$ (RUS91_W&+?:/. $7^X9 3P*"P_SKH5+4MLN+00FS8=2 MQ0XC9"S(._\MK@WKP/XGS:0^5*LM+FXVN6TD\.+:5-/NC5>@C@=JZ@(4^+#_ MN? !S?>Y)Z1$*V^H> OE%R/ FUDFDN2^ -J^:DO7:,X%4%L [J!5Q2S<#.G3 MGB2':+4& ]D;6/&*L+!;^I;";8$K%Y:[)O8=?_'& M/F0#S%T_#>$%-Y!],^P%]'H=1-< R5=;/R*"+_>!:S*Q7.XB>.0%@8+B"NG6 MQS'W8V*?"/T/]Y@+R/)=F*80^>>6:>7,P_?LN!_QQ5K0-\)+;0GO.)KN%MNM MD<.&T'REFJK.,],1$%[\]0 F *D0!K[G.OM_+*!^S_W$/R"K,$@-_ 5:V(> MG[[/FA(5K8=QG,RQ=3S+U_&D,\O7;L::K%%4*QU'0LNX$IY5JKU4'[L6U:TF#QHZ.F"C-J6^!(S["]("K.D#)C*:: P72%U7/&%Y 7007I&__C][ M7]J#;>>]]598R9)P-F^N(RM@'C"6R#@5__2@8R MF21K"($$G=J5LT*$+;6Z'W6W'K4.P6I?[!QC5;#8:\N5Z1\>!,PJ-$',OXWS M/0??00T"(XP!LPB4,=@&X/E@0$:<&$JG6M^%AT=C5U+%5 M_/8Z$ 58(/@IB">A6:=3NAKN=XS!*PO&V%_!A9%@]C/P)*J__]*#N,;[:5'! M\C2]EW<16,IB+V0P"6(G_E$4&ZEOZD,"86S87@2>C/%O3X38]@#&A*G*]U3.5U?N?6N>O_#V(/Q8$<%7'H3KP+G2GTS!?OI>&6#L_APF_,DX>:C8^XV4>TG& MWS@((/WD-X!F#E#..-6YW^0/5OX:^,RQXW#?]>_W[2.8;3[:#A!-$/J&.P5? M=$_:[,*+H._V8#@I35T<"$.0J1#[/9X/_D\-@(3=E/R]\WWOBH.UPX-O,%W@ MR$&UUFP3)G"-S2+>4(D;0=*##S[6C/VPP'H)DU"Q;;TGR^!U%LA1.,>=F]C% M'(,>QLEX(PB@&VH_T07/GZI[#L?JWIV%:<:CAH&E/HQW7V$?AYYOI9_B'S!( M#[B+G@\\1B +@/^0_*'?BQHXM*U'&GQ\"GS'4[35/=!=UPM3X+EPK2(!_5\9&F/8>ZQ844S4TLV/A)=@/!FYCA. MSTY\STD%!EB"(?:&ONH&,'L-%Q>$Z'8_&!F+AX8,T#_ M[M4:=-I;A2=U&,PJI*Y\3S6\$+:#RX5^?-7SQO%^)C2K*?#3CHV._7TDAOLO MQ*)^84H.R5/@_WA@65H?U.2)3D$W"OX31CVQ-))O>&Q]A_SASTRH[@!< .8= M;\7>?_'Y1+\\JP#E]C,)^@MB<..)K('R3KT8=9Z\)GUD$L5C@P;NQ9 '0?7) ML(/5 IA2^&@\]QU1P0_X;O4^63HQC/2A4W NP=OV6;J'M5[SX&?FGL 8&Q=\ M AC*L>^Q0_""1$"S^Y?;J^#C4S\O[4J_'/K'66[@AY_*O"?JYB1EQ,%# .\_1(.0[S#I7$ADX65"3PBL!S M7/^#[WJOGX=XI&.7*#N_]OK<4_YFW.@X\?WP@R&U@9 ]/"\(GCIWX0PX M2]-9R@R#P[ZD:I^$@P>=A9BU7V2!,GY4?N(/>'-/&*2(-7>2-4<@UAQBS2'6 M'&+-79HU]SJI[!&^(1[$T7! , ^2"G[LF*AMWC1KRVW1TS?8\] M7M ? )O!DZS$[! ![V-6L.SNB1E[IP"F9?89F]CS<( /D0J ^9D3L,JXH;V% MQP! J\2"#OR.V/$"(6H:1AQP!N.)B$/$V&7?,^[W2_W>G4AX$G'\#COPAGH&1W,,K]I[< M/0WGH7<' LVQAV-#4U>!\31<,F!N)DXVQ7/SS?SW/I-Q.OY\&EW%T3/XFANG M;L!38-RQ)P&![QC+U3Y1L0:=C(,>Z'6: 0C8OIG@-7&<\3$.X/.T*%37-%!! MF/J(5X"#/+V?=6)GJG[DK@%3]U:!O=UW[&D7X!F1^]01[ ,8^$' QYZ,#>!E MKQ_I41SV'3$$OF1/4P$S F*V21QWN<)-'O#4':YN4 ( MZ_[.*K9KM6FGGL%[OG31(*X1YT.:D]/!W,D]6:_M^9AN"YYEU(FR7&UB_&P' M C;/-9(!&\" _=),_'T/2^@ S2^% B0*!5 H@$(!% J<#@4>60".PQ/CUQ$< M$">/U*CQ-Q4JBXWI\9A6&)U@%(KB:"6+$5F%8[DQEN5H"E,G=WO]5X\GPW,S MH[7(3KRBJ#+#UJ"G%*D6,55PA7[>LN*,2MQV:"H6< &IJ:]Q?JG+@Y;9YRV# MH%73&S2MBL:<*57:X^9P0<-GXM3SIN)J21868KTD,_*R1%9VLEB=3Q5"(9ZW MK*['&C%JAVM172Q[U755)$U7 BT3'1TTZI%6U3L]F1E7-N-@.>B5ASQHF>AH M:=I>:E%C8LE&?H2W=SRV767@,W$\,?K.%EM3LFU@@CS?&)@]"3-Q1Y-CHCS) M-->*X,BF/J1'ZVUYS.M3A4R.J>6N"7R4DW$L,YAO;+MF982-5L+ MG)4[5+FS[)JY/N9%H&5"HM1P5V)PSAW()D HA2\2T_4ET%+]-CS"EV^>FX.O2KN6KS")$6Z)JL:59OD\Y@YL/6>9]7G16P*6B8&18^*7,&9-EBL8^]V@QG5 M(&"=!>9$3QECD%]9A0@\=#G9=GJ!H;1,7F&3KV^!R-=8>E,=J!YP2POKV:Z1 MB4!+\GE+=:>59LI&LN3.DJ)Y/2.&^@ ^DWG>,@JYX=*UFYR8R184PQ9ZN7%# M BV3'5VNVV:^IG([C*FM=24O,\/>9JIDDQW5)\U0ZN5%3U1M%V^27=5J8A)H MF7SH*M-GVVVWDQ.92L/<*68+BQQX=VCBH;LF1RBL7F7%:DL+1FTYYP['/&B9 M?&A-K(^$L*G,1;-7*VIK/1AG\Q*\\BKQU&:QW_5VD5^2,X36IG.9G##7X]NQ MDH^=KVL=8^[YN+S*]8?5C%]J^&9\BT%RJO":9+=YC;&VC6EGQ;G8(?*3\IK+5C@G;IKH MZWA&XH)0U-I6=:9%S:CJS-9L!)LFC)K+.-3*X#L;N;-8YEJJWV8+T[A>9,*J MV6IFVL_ZS2605E4H-K&Z1W)Q(;B$!=3I>JVN5DIS61!=MM%6QZ&_C)^:M&MR M7=B0YJ"1P3J]6;74;H?=0BON[ F%&7)&=HO)'BLF]\_-V'9>&FW MXG;K&B5W9+P&%&AI8RP/JYTD5;;E,68%7SN86BBH"]VJ]/)^7 DI,;*2NQ7: M63I2K3[?JG:,$NV6)A%LFNQM(\OW2_D,/Y#[8T:W)MBB9P)LP4_@=0&$H9+% MU^8BPT]:M7+;F%E@80%-$T9KJ\,L4&RIB%77"HZ;6<1/3?8 Z_"V1"F& M:/7U"*_34V;9SX/'GH WNVA4F$I$V-:VW9Q:Q17/%D<\;)I\++T<-<8SCMY9 M*W^17Q.]5K51 VU/P!:]P38-M=AQ,8,MFYPYTD9K58)-DX\=5P;KWK:MK.5, MOK3T)*_*-R70VQ,@0[&8+\@S889UA"UG=/I:O0%K5YU"F5U_X%&=_JPM;ZV: MIZW %^TRF+(3,--O3_/EGK*@Q6)I1ZN;7E#H B,G3F#'P-MIWJC=WEJ=8B;7 MJCLY8PQ4G#B!!Z7>9KO"W84LKJQ16ZM.-_:D-85-DS#+:_YV(];;HJD4)^VF MLK-Z;@2;)BQW+,Y*87O'-2R&JDF:K%7M-A5W(&&Y5J7& !] &EG%C%(T^TUM M6Y)XV#2AWVX&.-ANN^!@53%+M/JU0C=BXZ>>L-Q\H]^E*(;"EA."6,G.*#N9 M[=LF+;=56FM%KCC#5E[7,GM8T,-:<1>2EMNDF4:_5FT418%?N0(W87=] 0CA M!'[B:V7B\H$T%JO>,I1-9MUI"#QLFAA9:QF*FY82DJ(QP%K!6F8T:S"%39.] ME29&42/S3>:PZ:C2+N9PC"5P$FR:,W-U66L5MJ;; F&E)8%AZ,IYDXZ($>E78JL/Q%E87MV%N3*DA[DT*<=/D8T.7LF=-3>F) MQ5S4SI*5 =/&@1!.0-)F8?7[?7;1Q?JLTY?#EJB;A;AI\K%MHR%RG-.NBWUY MN5 S?7')0(&=@"2FY!3S7)]NR(2@D U]-)@T-2"$$S!3&[<4L]IJ%*U,U8W$ M35]N6^P4$K<3325_S ?KJC/&EN-BV2\.ROIV&,4<[^=-"5?O-I=D2%CFEI4= M10#KEQHW31BYH V5[GA6:6.F%FT"*E#DQ2INFC#RW'QA#NKE6B ZCL"JD;23 MS%'<-&$*?M;KM.DHJHFK43X(HS[G=V8\;)HT\D6'S+FTG.]CS=S0*>37_9[- M2W';Q, \+==1^D1H8@*=H<5&9=[6.G$7DD:N9P;1NN_4AIC:=E8]?:3G!CT) MIF6384\=,PN38364,S5UL:JO?-?(Q4T3(]-]M=SGJ%Q%-E2V7ED/BKF=.X5- MD[V=]/*58+TN9C"AWJ_TAYN&-C0E2-%/]* H+$BA$'8<6>CUEJI1+;%#X/V2 M>-)R>T5WMB9&@89MRUK?S>6&ND-%L&FR!U/?FC:\J4F)IL-@0[L^7/2*O$*> M #HI[))B?:P5L/Y&ZI1&:ZO)@)6N4)NV6L:M&E5UQX]4S+CYH( SN! M7ENGI[M=EZO)55'4C8"T](4UA4V3C[7M(=WML79/-HJ*7#:;?4/:@)&=P)EZ M=1*1X4(#V@T"JV&_5I-]X-:2IW &EW5NC;OVU'+RRCP;5C.K"* B^8 S9Z\5 MTC&FD;4 ZF^E.7RL84O&VSISUZ 6FBIQ $J[FK-AI1H:8J2S7,\L< MSS?R-IO;T+IT]^/1T!F0=[+]I; QM%1,EO,G$U.!7?$,SS/6! M.^P;:].(@F,-3=5.F0^ OS_&8@:'^?J>2GUH$=(3JP"0: 1_N-Z>8'.0=2H MFA"D](<3Q_MJ(W"$?W#V^,E1@I^,:KB#=V%;P8&W$>\)_*D(/5M?S($$L:]&O?Q[W>/A8&''4L?L@Z6,1\?!.HK.H_G+2XC%H7 M3II>?)3D<"#WR!WS[T'P$;I@VP AO3]"2OA M@3FGIQZZ%1_8VK_-C)ET$P\6D0K^BN5U_CA"FQGZRC::D^<1Q2/?-+<]_#$9 M6^@9#A MX5IU$1A_'?_QN%-0]PX=@EOVVIZP\93@DMQBQQ*LE- _OO6X=;\?T<]=O$(1 MW]E7[R=XM/W_Z/GP8-@$J-I1),??X[7VKST="#H.;])P#I2K)\0!R&ZT5^%S MXL![1XTO3SO^\]/^A$OUIQ=%H'FXBGE ]G -\Y#]3KYZD0*:" 1,-S8/")BN M81X0,%W)1.#?LPB9KF,B<#01US 1V?CH YJ(BT\$@J:KF0@$35+^)^/F[WU^:D3=W)\A LVSX8?_=T?<_:8XN.\TBY0$*#:K JZ''Q55 =N'E7QID=R 5>$<@?-V_O@49O!5UW^H2^96LXUT \M4 MZ.( ^9C_]A0A?S[6^,C XMK5_[S:SR8D\-K<[HLB)W\F5L+W\@4/Y+Q#V(TO M-JE8MU+'.E=7; =[TOJ[^0CYA =[R%*BN'OS[_IS^']C!X^LB-1K MQEXPXHR;2?J'F*' MFCO[7?XGM86^4M[L8V.?C\P(_?>[Q2IG[O6C;%Y<2^>Q)I)/[LGZV1*6O M=#!O.>MEHYQ%3&>M84[,KE2=_[7B?($?*L+CZP?+H>$$_,8,E$.M):5YK-UU MK+)7C]-I]W^_+P656P6F:P3!L5W\%'@_F[(G#QR^5V0&*K^;#[M6IUDNC\R, MHXO,DWJ &?)).4!8"E#WPL/?GY>":N\MMN![SM&*^V8X$U8!F'?#%S>'>F<\ MO*(P,/2NNKDO$TC>'6OCSK N@-Q\:XA5.97/Y/WBUF#@-2[DW0^!RQY4:5S&ZH80SGK!5&I=5&0;HP=A!M MWQO1NTD@"A&[F*RYLD&%$#N8NQ\$E2;P,T''M3!)/SA.^(3@<5XB]"^"1P8I M'U*^"RE?5E6&Q9=6!Q8=WAQLQT$XZVDG_Q#OIUXV(GS]A]1@]>%?G'V''"; M M5NU1MD:Y%5]]IV1WG[U$5^9WEZ71WI3 MFG ]910_.$*[&N6_PN3J?;V@AN<>\J:'?.A&CV:T["J^E1FV=G.]GJ/,V>_G M0X^^5SF^85G<.V#@I?=W&3>,$+BG0(K@P:26OC>Q Q3WVPO"/Z=&AM _D;*C&6:"M7- M,7^#N!F(FX&X&9^>FW$^AFL 18XD7=-=@=X>N@W&EHNQ9=^NJVZ,0-R$ MONKY8)I5?QL/&, WE)KOV3;XZA'A3X"W:F+BT,7*5J1/H"XQMS]H-)$ M%D/T-$09N#&B#42S;]<'9Q^8SCTG KT<'^?RC-3M6&79[)LE;&3@[K0]!5#$ MW?T@TAQ-)J#HWPB+$!9];2RZZOSQK>L+LAI$^ON0Q/-'1@2ETJBCNUD:DY<, MU\QQV0Z_(E)@\_3SJEO8\,U)F;X/K[%K>TX(0X6"E8^ M3_(80.5A&R^W-_K7PI-0;.$5,2>YF-,N5TVZ;+I\/0)2(4%X0I\I-D'X\=5' M?&G\0&G<O M+6>?G^_:,,(CK77/=46$,$0(0X2P3Y]).%]2$B#&PU;/"3@-Q$%S:54+6VLU M,*7\KM1==D5)P;$]"15( 9%0$>8@S/EZF//AV(*7\K- MH5[=<'0?:^9B1X:#=:DP.LDZ1U1/!!]?'#ZN.D5ZZ_J"K 91/3\@M_J6WSU3 MU[Y7FJAY:[O*$5.V5Q5\G((^_AL=.!C\-AO.' FP+/>+3ER4Q" &%I?#.'X0&E. M+IM'Y?$^)9GXN(LQS=' [&@S1>K^/HCR,5Z<0L\6W^D31%G S+Q5'7@%/]?? M /3$XRMBJ&R:P<]W2 M(ND5>T2/WUF=MJ7.A4HCE\4C"![P\F(N31.O'8Q!#!7$4/D\]*PK0(^7LY9\ MF2IHG+RMB1UN:&@%;U -@C-X"R5S1QHJ5>F*1J&IR6ZT;&N5V%N 7$PB35#( MX)'!?U*#/\=>Q6]8>7P.-=B;MVB;CNG�^6/M#'Y?)ZE\$MLY<;TD4IM^Q9 M[["TO[@Q(9:;2V^T;7"B@),E0\L*^)\ B3Z9Q\IQ;$S=E ;=I]%^9 MA_K<_@T]-R&VO"9A0E4839TSK!0LS6ZN:&-=D$FIJ.@)+BS[GB^MUKZ M[@=%L6GB1/&8S\PUA8\[,-XQ4'?Q]%J1$5S?T M5,=8A#&XID#(D@+3! 0S1C0Q1!/[W#2QZY,"L@=D#\@>$(T T0BN@WQS?5) M%H$L ED$L@AD$=="-3N;%#X9\0J6&(1IDI1OK UW]6YWL7S&J;M:"D0B(_3? MB,7PTVQ.5L%ACI(\D#FY_2\7H#Y5=%Q?6^MB5][Z5 TW@V)#XG]_BZ.]-]AC MG5 HMKX9SH15 *;=\,6-9J_@?,)<*OA/[ZJ;$PG5 L=L>)]ND5ASTRGFFMG% M("A$"DY"GA2.XVGLQ#8( @D$$@@D/I+Y-,SK>7$WZAI8492ZD]9N7IOD>8@=D":%IUDLBU@3GV,#]5S@<55,IPQ2/J1\ M2/F0\GV$\GUE]L<;;M-4;*\;GMY>8(1%DTVLM"Y'?W!0[GVZLD;"Q](.)ZY%)CQE.IX8 "[ M^ .T#8ZVP3_U-OA5(^+GSS8]!@_>U?E'T'$";/,T;\QHO619?4Y<$;TMN^GV M0&1(Q:?OTEGZ3#6#$ A $( =$N9K%_#I1J9K3LMOCGT_&[19+;9&)<8 M@$ODF6[V1CO=:*?[LY0B>L<\Q:U/-E)YI/(W-ME(Y6^\=-:') 1_S>;FQI>*YW[';#>/764ZXS'3;)AD6+F4).9P-]DI7Q M*4#)^-I31 )#J/(54 7MPU_G/OSU#?G:&"17MQZ^7+=I6)1LIBE'/E9MS\@, M&[;%,+S0+BC56@X([E>#*QH&5+4V1Z.I=A!)?!"70^H8T M%Y'4/CPG]:=+E&;6-7%(5XIBQNZK,N=69Y5:U$%L$L4406P3EPEZ_N!C>K'&D#9ON"O3VT&TP MMEP,+?<7'!N!N E]U?/!+*O^-AXP@&\H--^S;?#5(\*?JDJ7%>D>X],;R\%= MQM$%H[/P07S!Q)FS=!9'=#<$8 C OAZ ?3C=[6-QS6 M6VNSRD(DACM.V\G% MJA]%$->8&-=>+;6)J!2(2O$5V4-_G_/JS\^0BSTG KT8'R\CK%SN%;VBU>PL M:YEZKF.L78+W2.*L.B+8Q%B,B*51TS&SYPU_DAW/K=>>;NE M,)K(*]IC)KN,RHA,O(;N<\P$RWTE)N3SG''JV]APC8D9OH]C<&O;18BZ=%M0 M]U62P U#]MQN;WYGT#&4(S(344,5EB_+):&RP+;6D0 &5F8P,W2B/R($ 0A MR-4BR(6RL#\#+-FR/ZRPT_44$W)%/XR*H<:&$006YNX'2Z#Z>(B]\TEY9R@- M^@($O)C"=':P;I51'EA"F\IJS- V^SL)8@$'G PFR>]!MPTB,/@<8(!(J$AS M$0GU2M*)/^.7%O+9CE3W.$TT*#J1P<5JI]'I M?#-,FF9>JPO^R6B1QW/V:A 889#Z)U@MDJK/@*8VB&PR,P,J!K 9[%]_A]XB M[N.ST8&/P6._X< 1 ,]"Q"A$C$+$J#L^4)J3RV9 A;;O]+HBMQ(=KN:2X2R; M'6Q^'T3Y&"].H.=$T0C!FQ<4T=RY_$!2#7>T!>C)Q5>]4%B:.A$U()1 *(%0 MXE(H\7;26:?EV6).XD1C(X3][3I8 M$(L(@@?,5C)I#CO3Q@FBEGS](5\;*>KRZ/%RQG&V4=?;P<@TY>9XXU/YCM2? M]L]@\$UIL-TM*U,.6PX8A2L.W&)O%GL+W-T/F@7.PAGW)VY*^Y'!?XEMAM^P M\O@$:+ W;]$V'=.-&QXLO9-IK+&P3C%BM57/"M+(\0OB.UCZBYL*8TTQL4OADO"M8VP]F25*^L3;53>GKM<=-35RLA)-JXB3&DU%:YK*\ J!QT0IFD@SY/FN M"4$P@6 "P<3/D9]6>39?8L4:)E=I3JA,,R'6W?X^<_)]T,,>M/-RR:M+F. Z MX.N9W)8E(X@>S-T/ADOCV!GOXK@Q]#CS'NJYX..JR$ZH A12/J1\2/D^1/F^ M,@'D3<=I2U2#]5KJ)^!VWL2EU2KOC40#ZV-^.%'8D02B0P+FEKAT%GN-JH<@"$$0 M@J#/"D$?GL_Z-602NJHZFQN[G&Q6LKYK-?O;@)]"9&)@;07\52\0[7JC7>]/ MR0-!%860RB.51RJ/5/X#5?Y6BVA]4&+PU_R^(")[5:UIUK$.16_SNTA>XC,) M^GUQ42TLS9TA_W>Q9-_QTM7C5:/IE&N$B+MQA=R-ZQOQM1$_WF=E1GK[U4?\ M-?46;?I^_2%?&UWA"E.3+U<*VC+;;2-7KKNR*545=ET,!L/)G]RCN/><]A5: M#_=6@9=ZQ]QHPWCU4D4KF&:7BTV3EK>Y;&/BXPO?FYCAX<[%U-@ $V <+V(,UX*H"8B:@*@)GY^:<#YVU,-]#D>> MJNFN0&\/W09CR\7@//]*E-^L4SJST+&MUJI19SWN.QI?C;$7,O&/ .DI_)>;=\^QQZMO8<(V) M&;Z/;W!K6T>(R'1K:/=5TL$ . ];<[D] )P Q_ZT@Y7:B_).SFS=2KF@%1B? M .!(QZG<-,N,#= M_>#89,%&=.L=@H// 0>(FHHT%U%3KR:W^#/>Z6 M+W([8>6)AC35>L-JCG$7 M\6H4YP736>:U"L*?GX3:,,(CUW1/0$44+4310A2MSY\1.%]>$4#&P][-J8!_ M6MSEJJ4!CA']\D[:;)@B40(!/Q-G$ZDTCI\IXD>H@U 'H%"TA%P[H+-Y MNK/.2'#D\%9;*IMF<$2I1"B!4.)Z4.+MS"6]X4EC5N(#N;K6'6]>B-A2YO=S M$"^"QV)3D05W/.EC*[%1+U5FDZJ:YZ% F+L?!)>F"72I+2*:?!&*U.71X^6D M(U^F"AHG;VMBAQL:6L$;5(/@#-["<*,%T9!9UD6GO*:IX1A UR V>,B()-($ MA0P>&?PG-?AS[#7\AI7'1T.#O7F+MNF8;MSP8.D#?5PNKW<9W#)[N2%=E'++ MGO4.2_N+^PJ=[+@X"'"%LAQ?DSM;IZU'RRD<$$Z 19Y,XV3RP7509ZY/"L@BD$4@ MBT 6@2SB6KAF9Y/")^-=P:)_,$N2\HVUX:[>[8J3SSAU5\N 2"2$_AN1&'Z) MSHG#)"5QH'-R>V[G!;A/,\/3AN6NWA(ST6Q09K7>8M5D*07UZ8?2HN16F,':+ M'%;$F7EH+;,2P4E0>LS=#X9(8]DS7M1Q8^AQYCW4<\''59&=4#THI'Q(^9#R M?8CR?64"R)N.DV810RI?;%A8$O(^[TB<'0F!FG 9F.$V: MPK)%-;^:PCY#^@A)4VD*?\UA^7STD><)G[RQ\(&$X[E+@3E/J8X'!K"+/T"; MX6@S_%-OAE\Y)G[^G--C^.!=G7\$'B?@EEGGBX(QZ6IB<\GL@@U?IDPW@L>K M81TR/,W0K]WX@C (81#"H,^*01^>T/HU:,H*A8E0J,SZLKJ=]@;>IK;TFC$T MP:IDKY:<19O>:-/[4]) 4$TAI/)(Y9'*(Y7_0)6_Y3):'Y 7_#6O;U48K ?- M/K'!BKM&F,U-LUN]-(5>7UQ4BTC39TC_72S7=[R,]7@#:3KE&B&B;EPA=>/Z M1HQX'Y\]57>T_GV5P<,U+ W/]8[=;ABOWA(F*F2C4A],)EA5645E@VP7!8:' MTB+O?IPO;W=35H9PY=*X@O;DKW-/_OJ&?&ULDBM<$5\NY"0-VOWYD-,,N;J3 M%(\U,T&G_B>WB_W9VC:U6_YP4RPUL658"%6RY65;RA2..RXJCV-G6M\03GS] M(5\;3J 5#FDNHJQ=(#7UIXM4G^0P?DF55*Q:&[EC,0HP#I-@UV&R"JQ2^&L' MU8$W[A>Q,S/%R.F1H;8 *,XXV9H;HY9K<0<0011Q!Q!&7$WKJ3&-ZW M<:01F^X*]/;0;3"V7 PN]W<7&X&X"7W5\\$\J_XV'C <"@VW[-M\-4CQI]B MF&"5$:\51ZK%!-A2MPU%8AL O@F8/V/2^+E.1B$(0Q"&(.RVN&\?C&P+#CC MY+#C5@S.(AQ,'329*<6UP^(F!B/N[@>.I8D3]PNC"T(1''UQ.$+,1J3RB-GX MN=/''^G3LX*"#NR_MTQ,CGR>/4M['A M&A,S?!_7X-9VCA"/Z=; [JMD@P%N'G;F1""=F? 1?7"WQS5G9F5K\E2$/!"S-K58+@ MPMS](-/$JP=2$*$'$7JNF(J&37+Q9_S3*.RU([59ET5"+E>4+D;7-"Y> MC^(CTVD6)[XT"[5AA$>RZ9Z!BDA:B*2%2%J?/R=POLPB@(R'S9M3+CZN+!@L MH$A1S01+2A\6+*7-*R0%\XG Q4?,4 0Z"'2^).A\>"+R+2S:C6F2I;2NC!5Y M.F3G],CHUZ<0BYB['W2:HLZTMX&8)(A)SELVMMK4*N(\JBVY3 37/9@5)=)9[K4*,I^,+GD\B*\&@1$&J7^"U2*I_ QH M:H/H)C,SH&H J\'^]7?H+>(^/AL=^!@\]AL.7 'P+$260F0I1):ZXP.E.;EL M'E1H^TZO*W(KT>%J+AG.LMG!YO=!E(_QX@1Z-HHJW\Z.]2TF;,L3.^^Q\[(V M54@Z3H!26)HB7MM40BB!4 *AQ+4E+C?+J*X%-M/'#!.?M%O976];^_W$Y8O@ M434=QYH*DYUHRK72E+)$,B/R$#P8X'DQ:0[#$6,2T4R^!D'J\NCQ.-3^8[4G_;/8/ %!L-V_65>D#.V8&!!:<&M)Q$T>.[N!\T"9^&U MHVG(X)'!7['!GV.KX3>L/#X9&NS-6[1-QW3CA@=+[V0::RRL4XQ8;=6S@C1R M_(+X#I;^XK:"7"IH8L7H")C@K?)1O>FMR6V\QN,$6.3)-$XF]R41#1H9/2*3 MGK#_EC]IZ5BU,[?Z+I69.$-AO-[]/KWIQ85:J@HE!VOZ$[$S,J5"71MG-\+> M:N$9<@Q/,\2;)4O_$ZICV_CQCVZN_USQOC^H7F:O%'\]^N28G01H=Y^U!,9@ M.'\OO,"$G?O+-VP A&OC:"LPJ7GWI',/6?B,YMF>_]=_8?'__CX^$:I7XG'Q MJ[\SQC'%2]#?P9/'GJ\;/I2.<:\M*745>BDLA<'W_@>\^/@SEM-]+^)OPA[8 MZB(P_CK^X^]W,-I7)!?W(6.K6V\5_C4Q-X;^6%"'X1R,ZFF^^W?[Q7QGZ=,) MY9-3^-_@/$BEVU3=2 M"]\(P$>&#F]M2GF3E G7:,US0,^V*=_0#',-Q1]\OP?&A!'].78_A^[_^2^< MP?[>V^S>D!LK!WQ+>_^%8K\%@=_#Y),Y^=EUXED?'QO0(R/6;$/UX;(Q^ULW M@P50Z+]B"3ZS /(96F# >02?O(@-3YZ5T0S;?JZX3_9YCD]X'T$^6G\TJ$?^ M4;0$]6B+9R]:@MI+ZY%TXI__[Z>0[I'T#H(A8HN;&IFQ;ZA61IV U_^EVI&Z M#0YC9;GOY -"'+M&QE,.Q?JOU*-_/T#?H^XXZB;S2&X'^\W8Q@1N/L5?.W[F M'W:D]A\FP/CNV7/O(8[ OS-/9YS"]_ASC@E[IOGDP_3\HZ9F/ES9_ZO;%$ZZ M3V\"3#=>+0"*P$(R,+EW;R7JWE+.K'2/MQ2/HQH_>>6AQV//UL$?^^5:+<\W M4L5V4VZE4^6&\#W%-_*ICISKE/-EOET6.__\9_SZ0_X9^__Y\6:K1K,K=E+= M9DIH-O)BHR/FX;\ZS5HYSW?!+X5R@V\(9;Z6ZG3!!W6QT>VD(-;@^-^I;X?" M/(;^[W?JSC?955O=X_?/C48%[P<0 X:=]@ MB]3_IHCXF_]^9B'/3.UA=;TWM),^SU.;46.O41GK$RW+T;3"P1\4P625[!AC M%%*;3,;ZV, G,.*+M50]^IG,MAQR@MWI6%5[4"L7#$-DI:F"*XF643 OU7RV MJ0T0*$GU+ZV7II2K6$W+&:4#YOD=N*[)0DV M38PJ/\ATA].IL;-,JI-DT,J[BJ-A>;P(@L0JEU&Z7&9JEV(\C( M2?25H+>LUIU.*G*S4W ;^)JVFD4P+#+9-!KE;I*3P9@"2!.K!;M[FS>7([ 0U;3)FO. M*&<9U6 B8EKG#BCFL;1&3LCJJ$Z4BF>=A9BS1U&YI>G^Y'7%6WS+*TEP%>CZ+ MXB3:\Z;+L*"+>L@&HEH8$,UYZ [G^!0V30Q+=N9]8MRH%BS#WX5M827;S6G\ MU,2P^CHKA5H5&X@FOI@+]*C9J4?QY=2)OM8'@V%Y8V%@;<^7O9VPZ;7&?'PU M4*)IAU96([53=8"S%/3G00A06XE@8<=$T]R.,()*M3*254%;"-UH@!&YN&E" M L-ABU]$9K&/"2,WJF: S]*AXZK+"0EH1+<(%H'-0!2R6U%?+[,2+\=/34A@ MIF>U95'K+<1,V6MG\J3MKC+Q:8)$7W?]?J/IX;.*MQL2P,)YT M?4W+ERVF*LL:F^.PG1XW/0[+W/RE[8.#>"]E_\6Q4O&VSISUZ 6FBIQ $J[F MK-BI IOB^SQN'$[PX5NMB?=-%9BN#B*VOTCF>$ U;&W"E.Z&:C3J6],59B[\HVU 8:3&F_CH<&D;RK<+HQT M2K--F/&"OZ145T]-#6_JJXL9S(Z KTUA[)"*HY\G.9R7:<'8/MN]IP6S\!=* MV1+58+V6NISL-%L;;:D(S!B7$I?(/W09/*PY:>\['!9Z_"YW'QQVVWX;^P MW?8X,?A36V_[78WOV*MA:9X-Q_M_=]F[WR2A4MR^#-<^B7+0?'RQ2<4\ M[=217/-Q+-4$8>,M875GOF&D'/"'69 R7-W04QUC$<:<\13!IE,P!?=4 MOKH]$&_9PQ[%Z7W5EL^K_/N#TPDY_'3(>N&A7X<*L!>7PY^IP/VIV+U(5%=_ M)Q+8PRG;W]0PZN*2O0X-(R\NAS]:8;U0M=$*>ELKZ)L>Y6/W\<+*:YZ@(9M M9TT-,EE--Q7.O%4 W"^!W4WBON%=]=7;$,SC#D_<;1;8UY[P+?UI")Z[;NLV@V?FM#WGO>MS7D6U3L*U^J?V7, M/^^*O9C*/'N0D7#%8,L,\"LSC@J\4E.U@W>H"W#VT.'Z2B&\119Z_YG[[_?H M]5MDF[-7<""^TT_)E&>J=\L;.7[]#^M&NF."].F^+XC%C+:5QKSCE.3?KQMYH-\6 M?,\Y-3YQH]DK.-FP$ 7X3^^JFQ/5*/*UVLY=M-J&; PB3J+;!N6NX/DW\NX' MF^;H9&7Z=S&GU^E(7Q-!/CC?\DX(\BJ7!@'(V0'D[9*2D\'<'T\VW%PVUMC* M+SL:-:C^?MVI]\&5B ZV^4*NU+6<#1-V:L$07Y#P!"YS]P-GTRQSIFITK[.0 M$+!<#[!\0/[YYI!%#:OVLA0.;&MKU'U#:I*4U?W]&E;O P6=Y@ +,L-9RS*8 M:J,P* *IY2 4<'<_"#K-OEWMZCW"K@LGQ:$69<8J$-*[16!?)+#^PZ#LYJ5P MB<3XUP+7V-."/CK'A=JZ7+96 M.M?.[-84234D($80[=%$FLJ>RRM#AGIC&>#7(TJ$5M> 5F^'EOV:$FQG4U&2 M.QEEOE6Z5GWB7=J?+)9P!1,*FYE<7=*6=W0EA7" ML)\(7A&(G0G$2-V8=48+RQ:-Q:CH6V3#I=U+HXZJ=O/!JB.Z\HK?R":+3[A0 M@*7:#MC5DXT^.H\?F ML:W"/QCO%+Y.VLU5EPF=G+5MMY;2IC]J"_;O7Y7]/ACD*UU0O[5..NGVL;CFNCF5VH\F<-;+E5FD*\ QNDJ8I^EQP=IM[I C.3L2P M",\^",_ -PFBW6C7K6U4L54EY%UU?6D $I1 S\_[Y8)57!$NXWER/I.!5<5! M4,O2:8Q^[8+AK[(UNS\^^$[7M:?>\[YVM,_[ZC[O4_ B 7CIW@I6WKS$V=UW M).Q>X5 _ 5#_:H1;MW)C?4M/&+FZ[F7,;'DUL,5+TW%S,J>WB]AP(?8]KQYT MAUPT(>%%"R#"Q4DJC9%G#'$1T+RPNW%IZSL3K_<*1_I5<.;M@+12L3NDRXQ6 MHF-)+5%@G!;6NK0_6.RP[=8J8V3$)IU;>!R>6=@+"#_PTG@J3>!GC$@1^MP0 M^KS@UUYZJ%<,/T-6STD%JTJ)3:,:M;)^IEVD+NVN8*&1,]N]_D@DQ'+';BNM MG,W"VYY _(C3V33Q,0'D3>'$S6ZDWM:0SWYV\PK'?*L;;;7M7Z\SMK\W"U490U7&4)4Q5&4,%6-"5<9N8LBWJ-A7 MOE1_^2IC@NIN0(RPIE_.6M$54#;=9*1E>9W@HK4J-Y4]U-6K7:I<_MM%OMBE8;->JR M$.T&N5JCXN)6C!Y36Q70XN MSEL,W:6?R62QO%7E[&+5P"O*8L-#"^?N?G!ICKP%(GD1WNCH0M!&W&]4XPO5 M^+H89CX88O"'X=>ZQFV]M34:8,M>K4>VC?PDM[AT%:]!K2>*;'XX% FW51[5 MPWYF20!WBH#A%X.G<9Q&)'%4 @>5\?HJ@/03QYO-"5,M3YH5:]6CA5%_K91V M_4NGB7H;SNR4*'(M5NFN-]3*'3ICQS@%Z>1$&J?/A5,WM.^#< J5ZCHG4-4$ MNX*32WJ)5:62,_4I1]2]2R>4"OGU1-@R3=S:ADLG9\](>^A-(;* <#-+I@GV MRU7CDD-H*Z81O-])9>*]3RK?%K2@ZEZHNM<[0F]K-;9-;6_FVS\,6Z5.I!!S M8UVVEB1&=R1ZELW2EPY;NU365R8%:B:;V\QNO79]>UR4%)R,PU8JS=%GK#Y] M6W:(ZMV@\EU7A$QOQZ\8QS9+ZTT5MYBZ:39:S=5LVKRTE\D.!'VE6($E;A<[ MS!:8 2OW>0A8('X]9YGIV[),!%:H.->9T:JJ#X>5D9O/R [-\$NB6\QVNI?V MAW)YF?5;CDYACNR'HTA?Z6$S]H= $,O ZENW<#$2JKYUY5B$JF]=?*A7C,1? MJOK69*J'GI IT^*2G;G-K5W#ESY 9 J5WT(%<-Z=('N%(_TJ0/-)RV_93- / M13XO6,M5E",WQ0X=8E.(/ZC^%H*?=W5TKG.H5XP_5UE_*Y/MD#9=1;K%.$"G#=P)!O4;$_Z\K\]0IP M%0UO"J9FMDW%];?>*<'_C?SU_/[G2.8G1(@*>J&"7JB@%ZI[A IZH8)>-S7D M&ROHY8!'V,;E#A;D/= 2=.@GYNE)5V\V#7;I)/G9B \H^?\:W^Q^X_$8V4 ) MQYN.&D"IT-^"M_TV':)9]KVT$?XRMCR= MME/T]^M&DM2U0DF_5N[BTKCCR<2&D3A^2(LU]M+,=Z%96S(%K=,55^W-%AMP M0F:VE:#MOQ-MX8-CJH^' 12)?3E"0@("/X!]\ K$??B(;S4.^%)#?J[$'T T MN"X=ODU_\TL-^90O^B64^/=(!M_[O+WOTNCY?[3E[5B6,-Q#6&_PO":IBND7+ Y[,@9;BZH:XNGOY&4K.?VI[N^W$G[GGL,#5^2R0[\.%6 O M+H<_4X'[//!>)*JKQU)Y[4O_C/W__'BSU4->^3U@K[I4#[V'B^LO.;3:8;__LL$.FMJD#ALNJEPYJT"@(O!O__YC_FE MR=?'W#RZ_QC1I1%=&M&E$:L4T:5O8\BWJ-A7OE1_^?N/8+LUTBA&44P,S:$Y:OJE!6A!D)QV;P_'R MKEX_&LWQZW]8^UPTJ_04#_-E>3N=!!D/'S';]:4K.\VZA:4NK2HCK#I=;95% M$5/M4J00<>US@D[CW&NU/E%!ARO:D$97)G]1#'F;2)T1=MAX.!++(E',$]N, MHBUVG4M#2W8M;<93FF)%TU3&'7SGT(XO06AA[G[0.( 65*G\QJ'E1FY7_EAL M">QB/=LVEAMYN>F3O4K/[93P2X-!T2PR-HNWVG*5,OUBEEW6HEGL9W!W/U@F M369? X.O4E,*U M8RZHG#BZ !5=U/R5 .OM").L3.RAO)57XI9HM,)!9:#LLI=V*C.9FAWD,V)) M-IJ"/Y%+IM-82A#'&(AC:9)%]S@C&$/W.']F'/-&W4'8VE66(HR-%?[!>*BXT[\-KW;6-3HTJ5: MQJMH,9XK0"F;*K9K6W6ZMR-YA:#C.#:+I:ESQK&W9:GH,E1T<_-GPJZW0]IH M-:YVO.&P*O8'C%$J!7W=)2\=TCK*?.M0S74;J[J;F>LHHAB)$H0T$-*2:9H\ M8T1[6]:+ W=[GQI1!LN25RJ+*FJF'&QH6KFRJU2_=*[ W,Y'''T,L/)G5DH MUTK$7)2H"$(0#&ZS9)JC/R2X1?<_HXU?=/\SNO_Y#['Z5R-=G F-14%S%;E8 ME21\YT^"YN[2D2Z3S<[ZJTRE(3-"L<('4W6,25.%8&"D2])$FB$IM&.+;F ] MVZ[LI4?Z99#F[;A4\)J;S6Y%-S$C[Y"+0G4VJ?&7=@KS5K7MS->;T#+SJQPV MQ4>.58P!",2E#)?&L3.2>1'^W!#^H!N@?QF MD0U6*^E+B<[S=9&6RH",\8O MO48WD*UQ\Z2DX<7(=;5N>RI M-8771<*28F0Z2V<1*?]SY%%02;'/!0UODPLZQ4%FMO.['7%5E@6I)67<<'AI M]:G3XO#&O\@"GF+FWB:Z>XUOJLL[+4Y@8;,J/)U \C:.(<< JX-$YR-\ I M+WJ@VRZ$;40#1_6_4/VORZ'F@R4&?QB#U>V.V%IF9S/,\;MJI43-K5'WTG"; MK]3G_>UXDQ.+F[I+DJI"% #< C'%%;ZR:>IL?$UDC3>6:445OJX"DMZ._9T4JRAY(!6O@[L3E7!]L&"V7\2_N!-69*)O5%_Y.%.HX M/^<6DS"_B)T@&'/B1!K#/SL#/5EA.H368AK!^YU<)M[[Y/)M@0NJ^H6J?KTG M^+968]O4]G:^_K4P)X*LI)#XL:H7R9XQ=KTM2T1%<%!5KVO"IK>#V%9GG17:U;H@FK5,I]T: M-P>NJR34<5L;V>#0Q1*=*,[YM5*J1S"LD@6IR MH9HX[\Z7O<*1?AFD^:0UN<9VV^5RY5[>*C:4419;]"1,B@$(U>1"^/.NKLYU M#O6: >@J:W)9V:96+H6C,=:IA=,%L]F.17T*$0/5Y$(UN3[1H<4K'#*JR74; M0[[%TD6H)M<-#/D6%?NSKLQ?KR97T?"F8&IFVU1 RU!AWYBGIYT]6;3 M8)?.DO_RAL"3:3M)UK_N5'_J$A2S^XW&8R #!1IO,FH E$)_"U[WV_R':-7Q M%DIEU)()%^\SM7E'V6F7WGYD4OC25!N>?*"LLM M,9/"3-)N&SDA+T$L^2,JPW,HN/_>5;"?T(5*,-[&7$\V:8+ MK#+\BV0>J?!W[-%,ITX8^<^:]7XTC160DJGM?X/&(K [X=,.?:=!!T_6A1,F]\]>>R39V4T MP[:?Y].?QMR')[RCM/=OT8#$#?\H;H)*")N@]_)[))WXY_][/)J'7$!&\VS/ M_^N($8^D=Q ,$.G_F'?8W]AUY@0F7XRS=LH!5K MX]FD':8<;H 08'%[.N,4_IU-3OE[KW'QS)"/;$%-S7P(6?_5;0HGUS_X;Z#Z M &#L)WL8AX_N?G2A"J:\20HB"G1O[NU&W=O.F97N."J<>!C5:QM7_7*MEN<; MJ6*[*;?2J7)#^)[B&_E41\YURODRWRZ+G7A+Z[6'_#/V__/CS5:-9E?LI+K- ME-!LY,5&1\S#?W6:M7*>[X)?"N4&WQ#*?"W5Z8(/ZF*CVTE!],'QOU/?A#V^ M&/J_WZD[WV17!? >'I_X8)BG >N@K['>9X"./ZC20>\?/GQJ, D[V/\1@)/V M#;9(_6^*B+_Y[V<6\LS4'ER#>T.#'[WP^*/-J/$ZI8PI0],HDE5TBL852J>R MRIBF."6KTXRAJ\:8UKF[O9:J]RM;QBK*X7Q,6T+&&.MZ1K MJ[8UP+T=EEFQTMS3!V(NBA0BV=+N1T)3KHF*M9):F:99]<:[U12TI)^W[..Y M4:8Q&RY%HH^QPJ2M+XHC^,SL\Y;R7"+Z0:,:6FJ-U"H^&:GT8JJ0R;>;NZY& M;7DN8S':J+RAAEV!G4X52L&>M\P5HEU0\]A05',MFY9ENE #;Z>3+>>E#K:E MQ5Y&[)NVP+/E^M(HPI:)MV]Y3[?&!9X0,_.1(=6I3IV=\Z!E8NSKN8]%[M#D ML:HSJF4RU2JQDF#+Q-AQ*K,89"H=$'?H-2PB>Z7Q4)LJ3+*?2[V@8(& F5B' M-LJ#7J5>'453A4VV9)U%MRGQU15F>&986S3$C=7@E6RRY%"V5GF) MGD>6MK2<*6B9&+N^73>%ZD3.B RK24-)#MAQ&;9,C-T:D_5.9ET(Q4S#IJ)! MR2&Y0 (M_S][W]FDN*ZM_?W^"M>7A:=E.;:B9VR"9B?]QU:S MN^@Q]/Y$E;3B3S^88BAH7L4F*Q"_FRBPPJIU=08U6KIEAXNP*$'I'I!^PL3RRST:?:)D1;#1E$L M]^"R#HBU#LQYQ1P,GL:%["*4>/98&:P*@\=! M4()TC>Y/0$C,5WU_(5X:%ZJKQ[QG_HB&N$YO2JEJ-!/SUYH@>Q M>5S%0_?F6HI6Y)KPG)^.V6CS6:CS1M!"GH*AHW\0F.;R<2H M"LH0_0_(:VLZF8*FJ+=I\-!Y%K+IYT4O$T-#][&E8$W55K'4HH5^V.C&LZ%R M(;] 0_.[./:6M6B4ZDR5CDQ2_',YMQ+B MIM)[JQM.8S^G#QD(R M!LL*[HRQ-[14"J4,_[!3'8/IS!+'L6Y8AA/@#FB!$F>3N:0(6> /"4:^(EG= MNH9//NU1( 4F'(22U3#%EPKJ."+F*K,I'KI'@6Q-GG A(UH>SV2E/F\*3:W& MXZ'[%F:R6M3G*>9Y7(BQLV'AJ9=_JL*Y'A#M99<)@0F;5NG9N-.(=,$89,TA MRF[L#>TM^C+WH/H'4*\L8S7IS2K3&4Z$["TK-T_E%O4Q(],%KIGH-!_3^6$& M;[[L+:L:"D9R;&,9HCO%>C"1K AFC,43<)?U(OE@?['?RVNKR5-8"TUI(15- M<*PJ3JSPL(>&LG:""H<3,?.]T=R/5]^A=L=:+!6>#,= &H4&D<0C_PB1!PUE MX+=P/F(=UMLI0!C2*\+4 +_='[9#.Q0%.Q$PBB)$.X;M M;JVA'0E^JM[R]93D5HRR]7S45G&@: LW=>3^[DO0O_'#(>N%E^X-$0A?G [?$X%U=;=-$D&5CE3*LZD6_Z*$!2]. M66](&'=Q.GS+PN+^RL2"WI4%?=>CW'8?+RR\\H%B4AG*K"RB>D19IQ1L MCYOJT_2N\]"]JFBD'_J5_HD O5)94 S2&?@K2SYY9^!3WO;BH2/&ISIA'$:' MDS;GBZ/V+VX+@D.'?.."(1N505671732%QTX=H>CU<94J>2JC/OU;]Y:&M+[ M1J51>59:LL"I("D\6#'Y?#C_<8H\_PB7LX5!?]8:"X3V7XBM B"2S=&"8O=>,L8 M+RKCC!YLY^NT%_#._CV2BY6_2^<>4,V>=[ Q9Q6D[4VHEE.L67 M^$1'?"CF4A?ODM(8)I(59=7AQY,'/1NDNSRHM- IZ>B/?UG>1S/W< $H$B)_ M7X!$(G=VGOK.SONBPB6RXC>%K=C/0A.)(_4\4JC73CW.)Q;-JRU!2*R>'NCV MC4"_(^ACF5#X9T=,[R_Y^^DI0 M E;G!JOWXTJM&2PI:6W MS*C8EC4"_5&J'II;U)BU;K(1^A\JK"H)AKA536G M2PC#8%P9]#$G2U?=T6X5@;"OW2I*,.P(&)9@QM)*![/GE*""8B@O5+,/_DLG ML[)MJZ[$6C%NG'C,MI[[EBIV_0AT4)]/WL?19PEASQFOIN4ED*@IY!H@^X7? MB$XO5U+K09(P:BOI")]M/N,]]2@)<^U$KP2T/ MXM;[82RM15MFOZ2,Z$(R/!A)PC. M8!@;B;[5-9[LC1(L.T+X2L#L/&"6EZ>)W)A7_:D5!Y9&;#11BWP8W#(,XZ,YFNS,GGU;X]+*=Z)B7@^N]$9@YOU8-%YL MTK/X5%#HRK.RG.1K\;!P<6^PIO#A<&( A/&L&B[J^F!,SPKHV@T8BZ)+S.@( MV5,EX'.Z?=-++]6[Z#-,U>=E3:I/:78%87YA["R^N83?4>S!QMQNH][7DDY_6].":[W6'[;Z6 M?.ICA!Y<\KUNM]S7DD]^CLT#[2P\E+1_N[.8(L.0G/05(WW%2%\QTE>,M%\B M?<7N8\GW*-@>-]4WWU"3#<,NG% M8R7!7'J34&A.GKLRO9)2$V4Q>HK$K'!W&D-P@?I_^4*1$]84$+BX!KBXZ_9? MG\*+;&C8*$KC2F<\:[7JG,ZRX>?TI?LP9(5VN_W #$LM62@6BSFM]S#7ADC! MHZAO*,W=0PEY!EW@J"+,)E7?I*L7Z>IU*1R:7D6%9= ME8?=;&IQZ0+-8+Q;9JSG4HN>6/5(2N^IL5 5QEXL/OS,^H(,*0\G76](XZY; MP:/W8[Z89CV/&[WJ1BGRDPISHR"@&^!E2'3J^ECICBY-+ L.$V*Q1YB MR[&\+%BYTF32G3!#!"PPU@Q#_X=_"UBNU?&K-CS\JDSF92 M\GAECI6>/AC,HGJLQW X9F5\3)A<+$2:W)"&73<'3.\'K]5I?KQ4^W2\)53F M-<@74 ]>_!#TC'X(J^&R)HT+;9.>%CI/RKPR1'@%@U?^K+=+HQE@?TM))/T_S*K/68(&FY1;K> M'+TNUH,KO1& MA1]/]MSJ)?WE=%<.YL9L+U6;L+-E,=59(+P@3;=(TZTK.I7HP263IEOWL>1[ M[$U$FF[=P9+O4;"OU3+?7M.M#-"&D#6C%85[;ATIN_^3^WQR_SHR^7LD)$V\ M2!,OTL2+]#HB3;Q($Z^[6O*=-?&:P$3^WZ@U6V\[NH$-(C#>A,(C0IS?E$ M?RY=NK57N]R*UQ_;JV;+4D<2-TH4"RI8])CP-VLA=E#D;E..E]:V4Y4T$! Y M*XB\7^CP&"FPYJSN']*KQK33610>RC7UTAN765G@VXM6(D/SW&!4]O.]R)"M M(6SY5J'#2VBYSZ3OI77PT]"RR[9#A>_>!A+*HTC2+ =CH48O5J1GP"@+ Q"O M:)-+NQ6%9BY8HSG1A)-ZR \C5KT1JF*WXD@U"V<.J,Z/ B0,N[EJA#T$/$/I MP1L(=_85WVL4<%-+?BG$9Z@R\)8,WZ>[>5-+/N2*WH00?ZW"P"N\/O]OQ^1'U\MXHT&.$\=-19A7 /T3Q"K+*N MFL#/1P8%5 E(5 -,39S_H-BHCT)ATR[AB#KAW/8>+RR\\BZ;T<^_92BSLHBJAF65 M,D>:94!<-'[]\[=\TY77;FZ>7'A,:J5)K32IE28EI:16^CZ6?(^"[7%3??,7 M'J.1?NA7^B<"]$IE03%(BP%/;NJ3BX^_58J$;I7"Q4CLX;9,ARJ"XH(A&Y5! M59=%5!:$JI/5H5Y,*Q6JXF!HB:.%__!L, M^WB6M"B_>Y#^O"N7$D1_Z^ *E$&H"?N@'X?5'AGB]?/A*\ M8F\+326.%/1(01^S:M;H@KE*ISKYDG]N5>JQ$G_I$V[%6;N6'X:?FV,VKBRR MY0DO-E.U'FMW$H=17S1X*M>,Z.J=Y8+)["IK,YH?BOYN M@M;:C?REGQ]:2JY!971NY_)[:OD[F?O(\W[<6DZ7%/F\>=$@K8:W7@BU\MD M.>'2MS\;^=(@D:E7XBGAV! ]O>'"(!@7,JS/CI";G\F^$-N?[X( (EC MMAM,9LICNO)<+ _F8X-]I"]=9*;GJB 4BHK/8SF=?3!!-JA&FA@Q8!C)A8*^ M($/N?R;W/WO_<*8'ETSN?[Z/)=]<"]N+'S?TX)+O=>_EOI9,[G_V4!E!1GJ0D1YDI <9:=5$>I#=QY+O4; ];JIOO@=90IM,@"[*J$4S26]Y,+U% M>H^=)">/+D(L"4^:[J;-MW8!-SKQS:K\?MZ4QU)9#-$@%F+&H^%JT"Q<.O'? M*G))U?^@E%NK',ME@LU6NLG%$&$X?'\J3X=)4?YUY%%(2['K@H;WBPN*"R&[ M&BC9QY:_%6::5=/CR!"2]'_O%'F>S^:-0"+;8<6XNYIXKG:)Z:<=02F96 M67%.<[2_*!I"UM_0TQ&,5##V"X5]X5"4%)83H"(]O#R-5.-EPI2CC<2(9M7Y M@I<*>?XA>^DS*^PJK+8E[GG:RCPO0AVKHW3BMA.$#C*'>5\X\E8F^BJWVUHF MTA89&,<[N

^^3R?8$+Z?I%NGX=$WRK5E^115O/5]^,7:NRD6DM4[TI77CN M%1]B2T-+S"^]&T!;@\&D;&2F*;D8>^R((SJ1TA>(4"AV#3$^/OI6KI!L()(F M.*2KUY5BT_M!K"[U)WRJ6^FG)MDQ_SSK%*+=T*4]S:%>>AJ5N-B4GM54X5', MMKO:K(;HA[IVT0S9OB1P17IV70=>)?FR7DV,XBTZL4CURJ $1CGKTEFRU./( M*O++&4W[VSVM6>';>CB"?:*H[1-%HF\U!KR5_5/2D\OC:$1Z;(G5[\VK3='G:?NV"\_ MR&-KGDJN>.RRD)Y7Z3'%^GQ15HAD1Y?I,?772WY MSGI\3> C%'"Y$P9)#8Z$$_H GW:F>K=IL$MGR3^](;##MH/%^MY.]5.7*#%; M;S2Z@0PB*-YD%"$HF?H*ON[+]0]T>\)SZ6F2IALU;I@K2I/GWM.E-Q-6PG+6 M&5:Y!MWHT\:LNDPF*^58CPM]L_YA5_SN-<5X:87[-FKL5=$3T#@#:+Q?RE#O MAOFI$YR1BI/P5%W1?6.(L.1;I0PO MH>0^D[J75L/O.R >6,1M8$DF4DPK#VS.2B6R7''<+BRJH=JEZYB*PYFB!'MR M-36CY7E6>UI%\KT:4OZ/5R7\;0I0&/[]1Y+G+K=M!OE1?IBW!>%O^%1("OP9;$)T@&#F@@K2M5,"LZ$,C7*' 'X'_@]@Y(L M]".%,PAPD@$H<(?DBPC/682']9+PY%0$8_#!2%RFFHXA71M0NHU^\+\*A%XL M4 ;\AD+U'0>-FNH(BB?P!T&6J/X*/P&H$F7!^?PM.C!)9.VBLL9Y2=8!J5"@:0F\(TC PD@E-8&F)HX(J#8L(^";D00#]SZ.(H_Y@+4*_+Y?8?Y MI7/X__[#\/0?V[1#>X]\(%FU!-O@G\\_CW[B)L>_G&G#ZAO0 3>AGB@K"L$U MA/)#F@:E#Q^BQ=CN8OU"@*X"?.LQ98NRBI^5BO0"%#-S4.=(=B& M0!=C.*($2@7F0M/'Z/7:8( B=,J8ZD"0*$'4-6@]/AA%&,CQ[W4ZPQ#PF]5Y MRB_SW88T>D[,F[7=.")F]"H#%#:$4=@0[ $I/F!7,;%&)PJIAR>ZG1YU)SMI MQ5PY_8EPH&PAX*@,<"ABY-0.E,E1"I+:7%6<]:_=?]IV_\N"KO>2M/0P3"2" M#RUA\31KUTM^67JL_?B79??,F&#Y,Z*1NF+HLFHF-"4^ 49,'G,A1U M0 :"8H[07ZL6M!0:59=%S8>Q+B&H@B0$* =TC==1=_-5*.7KK\K"27#8!Q^B M?_:[6V!]$#WMV,?^=RM($A4@Z"B/,/HCR<846OK?&-U?N 899?!(KRTDSO[N$Y3SBB_MMO$2$& -T% #:X"=.=4)WE;7IM M40?_^S_;J]GL+2+_2]-_NSF'+>HYA&&Q?S$$_C[4Y+%?&,#7_Q:4A; RG+6& MHP%NXSJY4T,$IAA$UK^HK9\W4>M.8+OT;]'-\5;\"AB@DBC\-?\&T+=^/90+\+L>#C.U_G8)A6ZD4]']NPYY_! J*/X2N_S0K MB=>MC.,^'?2HFMB+QN 90$&@6N#(QS=Z!P2.G=5#+M9U5N%<)UJMHDEUHJ&/GKE\:[.O(!F.PO6[^6UU>0IK(6FM)"*)CA6 M%2=6>-A#0[GC0N-A)VY/2-]T.MT4'](J)._ZJ5W.;4?.G>7V=--?-+6'K#U$ M0#L286C[OVZD;D#7#&=3D?>GZ4ZX\C$W;6KIH!?IF>E@%QB5L=]4%H55-F=U M)\-7LKV\D]\-.LE>QVM[JZ%)4YLV@;K^PXL63#N\JLO&.+Z* U4<0;*.\3/< M@>_D==]_++I:=^>)[E?WQCK/$G6Z6$EWZ#X]X>9/M5R[49P(.[M2G\E+[[VE M"G3T 33,S-H#];-;+FBPD:\7E9&428%689 7LK.5 M__;S :V._>])?M/IZ, M\2C-3]N9_=OG?/(Q^[!4P\D"+42GN7%/3+?85>U\G.>[P4FVJ)=6J4(SHI1J M!2[)E8:8\_MM!B'G=6!,@8AP75GY/A0[B@XAW2 2^NC;?LQVY=H _^_S<.9X M_T>!,\<]>G>*)Q/_<(_9%OX/]'&Z6N%GBFRQM6@\S%)L-3_4Z7:__AP?GD_X MDRF]$*R8#[,Q^^3/@\OT;8@/[;=?_^K!H8'STBCA]I3'8U0K4$]?( M2PF#R[82'!^IS))L_2$?.Y] E8U1;!R2GCNICI)]GL8[_*->B4&!H@/[#W7P?OEN[P4_C0T"ZY%5Q,P2H6\ M5&4A)_F\1?: M1M-]U/O//8AIKDA1&YFB;*&R]P&06%&V7%&V8*UW)-9PF'X?.AV%_>CV 49 M/U3 >GTO, PCEP-EKYC*5TBW@?!CARA'GOVZT-5FP[K:]8T5'0^HW:R?VV^7 M_0AXTQ_![@]0^C,QX&?AW.N!7M4"?44[!.,0XI,0PF13TU,J$S(GUU$4PUEE(PTP+RM*9& M4JE!,[- M[X']F_:^0#2'Q3'KX"_+3>OX/0F6%U+$+46(0KS +T3P0,2(^HG M@B$6CHXUREW\,_/G5X!*?P3#KT])OQ(^%S4CI@Z! HPDF JZB1A4&730MCC4 MTZJVP/\E^MH<30KQI)1/M!+Y>?E1SV>>8HDS1NNINI0>=UIED%IE5M(P*I24 M20077AQ17VVQWE7:QB<\-J0I4* H1Z*HC4@AK<1"A7T +%9KY?SL+(NQ9*?J M*C-^'E;OC5I_-A.K:O;"/^/KV-_XKL-C/V4734X8I!X@IUMOL>?YX A]N%VP MMA^FK]<,7>LA,�K]]4O7NB-3<#73WP8YE3O)6)>@,[-W%[=^LNNF'X].XS1EE!)<9V@T.'" M9P3![K11$Y+T4J?!HI7OI 93)9U!&T!L8+_^[*^MS/8EMO]NA.?3?JQ>#T[C M(IV(,V"IA9_&L?P9-_WBJ418"IK!>JHRYM-:+V3RT48,\IP+<*?9]+.WC-\# MF;6/>1T04^Y>A[B5BT,S.RJ&'\>)MCEK9/0YQS)G%#=.&J6T8GDX*MNJD?=GM=30S=B >?I,%=J*R!.)XQ5 M7RO4):G!G#%5TW_,U/K^( C1@C]C3/RE#-TIV%[/_F';EA$Z8BR9,WJZ?F54*=>7HU*KP3P8>=4(3Y:#5SW=C^/2#A1Y MU\_Y,J91P^(Z88_3(;K(>$8DHP)H44W4@7 M%2&&[=Z!X@]O8\JU\+Q?2\>?R[-5CIY,IV-Q.'F.#KDS%LY&GJ1V8U+/55J= M;BD4C8>D8BV/>![\GJ^SZ][LI+0.']K$FW#HL.1V]Y33'B)E]L\3[4SNHSU> MR-&L@T>SPN1H%CF:18YFD:-9YSR:!"]')3_R_5'"; Y0I+(&]H[2['P<-"; 3*8)A %P:0"FR8%MQ:@+, MD28%J"08 %U'48VPM <:.R-EY]DZ$+6A"JRHNT_O(&&WXZ>:?_V MBEMU>*8^RK#Z3] G0S&:0#U9$MY/A"\1<-LN=Z<5/1$M"'H++CW@I](^*3Y. MGPD0D J@?CAH*4"%/I_S+;M; E@B9]$.'X7I5%GAKDW"$AL.V6:ETW)A!<$' MQY8+U'4 ?J09X!62HE=O/[F_7AC\'?()SM=4@&1W< #P>ZB[@'IHJ7NK@A01 M*'$DJ$-[8NN50*YL20/\T^[LIU"N-MJ4,-K6.J6PC=\&<#.#D9?0/Q M"_KRJHK+ %#4!H8RJDEOC#1+D78D491UT9J@SB>(\ IJ,X+5?3-BS5&AKUDF M7J=E0KE^7J_JD*# +SJ+Q0JX6]BTL*>!N>7@A]TJZZ T'% %]/MK:]!$R&3X M0D&!1*(6,-!&R]%T%&%JN(D;HCOB)$!*#1^C#W&/-YL;@U'2J:U-=AHNP20RGA]PU7;*%'ZE\K)&P_Q8.TDZ:*.'Z529*,:UI]*E< MXY=:LWXF+GBUXZK? ")2H 5W3JV?%*N1'*;-"QTYW2>XK%0;=L!2OI<>%8*H""HMJ1/?7,\&WVMJ?@S9U M9B .$J5I,Y58%59=I:>4DCD(,ZIVH ?MBP^1)ZD JI)6]ZYE%: M'ST5OL1V@@9K1VS7][!Q>"EC)U18!UQXA?9C:W< MYVV^A+B#0BD#"9JF&V+O/,HMK74'XGF/L!\QA!ZSB7,@<$TA^B][C?(("AEZ81\@ M!7-C0LJ:(C.AX"@).($SDMU]672(+:,$+'HU$BTH#(*R+UA;@?+6:HRMJ'E; MEJCD5]%THV#?:+-!2?*'J[4^YX)O]BNK^J JT87&T[BC!OV#23?1GS^_=6?# M.X:RM45B:!KC#H'7V8*N4 =-!FFHWBE,_E*X7Q*J+*G4E: MGCUV%D?W)S[?O_*R9/%;DE$KU6./J4FUS2TG?6/!=VNG(\N52,MCK)1L+I+Y M/MWAZ>PD_%#VSZ/']SZO35H>N9@XS \JX=8J$NDN^YT'24_'/N9XOO^!Z3@$ M$.$W^6P[XWW0T%W(1,>WK=3+.-')QCE^B1LUKP-::*_L/""*M-W,ZSKH1 'M MRW803L94.&17T!./G5HY0D#TF4S+6A13]I(<$3V877FFR[&DT:PE:7E4#A> M7.GJ?@CA]!O9%F6FYU.9>"YA*.-F75K%4 IJOUN2 MTV;%H=17.P'OELN(2')U9SOD[$)[N'YNF*K/RYI4G]+L.,15Z.P\MSB3S$Y! MLF&J(%:@"U5Z7B@_-Q?Q7@W)['[IT?ED]E#!F3AFN\%DICRF*\_%\F ^-MA' M^CQ$>D@)T7K17QK0E=$@.DG)[+/TC&7V#2)]K?GTKKA^RS''^U+K+;N=3= # M&.^Z\0. -F$4W!_X\9]1+G&J0T+J,FKY;IJZW+=,-_N*FXG;&\+HU":: MD@6?C_X*ED"T\*N0YD%*8R[[*&<("NVV+_\P-7%,:5,L4?"KNB@;Z)F0*-#V MB"/':D'::%,<\>--8*C.T&O8A"( GY#U ]027H:+7U%]2U;P=L;ZM4ZB\_/T MW0E@+D1?_Q:!;9+M$O=C+#@!48^96WO]

K08&O!2-$2' M@OC[POH;$L_P+!<,]@;14*07#,+!T6 DTAN$N$B?$?NBR.U^HRGVV@N1GTP' M3;,E/$;$3&MDJKHQ1 []RY$1%G0*0KCYT *5U>,P,V@S@^X"CHR\'%FF5\EF M8IXHT9WN:IF:U1^?(_JPQ^X_LUOO3^CE4[G9*M#-]K"P*(3G8@V.#+T<69K- M)^W'I?34FHW\T]KSDJN%ENB9>V]G!+E1#1=[;(M]*BOYI-]L58)H)+.W>*TQ M>9ZO2HW.V,I-Z/K#1'F.S(8];G^BO>:TLYHG(VJKPCYTTJO'UCP_0B/W)CJ8 ME)X9T(YI+7;T5*PHPFA9C:*1>Q-MR=F>)8[#F1;K-\-6M#>S&D(-CMR?:+N= M5*4$[U?&JW)Q%BND_?5VN=8+[D]TD1@_&$R,?4ZQ0F:RD!-Y)OL4ZX5Z],N1 M"M.J]>K<#,*.,'CB6Q5-G;:'<.3>,SL,V\A6(GQT7)C1\X65&+>K,AJYM_A0 ML_E8CC_[\ZV.P/G##7Y*%_L+.')O\340:=;8/A5(^'@KJW6FP,.Q%]D>F5(5.9!?-V3@S+_E%;MA\?E[48 BW M/W+9[^97O=6$!HEZMYH5%MEJI=9CZ/VAZ4:QE1MGB].6/]]_6*G]:=!*#='0 M/>)7XI"-088;C'EAD9D4M6&.$_#0?=$+<^W\4.!*8UY>E)^5&F/FG_$$]LBO MQ?V%F="KA,>@Z9>#8#K29 4_=9_^%CUG9NU&>]*J/#'=23(<3T:B\+',_KJX M/$B'E XKT@DC4F@5HVPKRB_0T'VA,O.Q_*P\CXS9D=K)E3JK0DK#3]U;EQD= MS[5!Z#F; @]1_[3!K2]A$/7:_KY+7< M*4%'=45&%>B-D7"HD+M3,5IZ*9]JMB9TI@E"LX$2T6K[A=R'QYVUD/N#S@W# M!*A4K%[.E3,-JIJJ4XULK)Y:-UU*51MN"Z7+57C'!0,R'$X%;7^BH-%"\7D? M;=3-91SRJ_X*9U[(WY M %5]9=QVK>O>;-9OV2JZW9[)=AK$SM2CG0_4: ](SA^%A8!*$ZQUF;"IXVWJ ME?-WI\[^=U#EF&3*YIOTQ^_P_,0]N_:DD/PX$T*AB6@'IKN!_'YP0>]% MWZ;NOM5Y&N/($/="#,$$YX@1.!2)@PPA.,"!%C[05&1 ,1 DU>8 2!)L\P@D"3 M-QA!W":/<((-,$'"" \P@F"35QA!!WB2Y#@B)_XV=90!/%JV[WRKCGQBU2?- MJYV^\N>H1! U!7WX?S]"/[YJED(!GG&+S]:WCTV7%.X,3;EE;2>D6.0#!'MK M [&Y=X79IE3HI-'$>=5C;^7G%Q4^$.:N6E3*+PN9=R6%X.?=XB?[5:5@V #' MGI0BWQ7ZG;,05P6-7Q>#HX'EU^6""03?#+R])!?1ZY*+*Y("B Y7(P5'0X?W M4AUW* 7L::WF";& .$67=XJ^R][M7O>[5SGV3^0/77&0@&K>CFH.KY@6YQ0< MVV&Z8F*ARDDB.!=!G*L7G&,ACNUZ73$MSBLXR"V[8F+M(P[QUB[OK7DE=\$P MKVG&!#Y& :^3*!0,L)=/:LF[]$$__Y9-^ 41_O6GK+I7FVN6(:B2X:/ 4H1Q M##J*8A^6H 37&M6_J/C[-L'Z#B J&= MIAS';H=Y]#[2;W=7@LIK-U@J0LV-N0<$FUH"'^UJ;)T.Q(>EUEV7N!_N\=2E M2E?,YFC:2F7*P>:SWJ,?S0(Z2W&IGL#3+W?T.R^<=N/S0K,43Z9; C_L\8UL MS6PKJ-T$?SHX]1AI7D?3UXF#T)3QA7B"I@1-B7MZ!C@]VATPIP;43%++MG6% MJ=#^SHK--U(Y.'_D@45/!ZB>(\[KD/HZ>3"D!GV1R'Y3Y%-@JI,@/C^FOJ%. M!&1/#K+\X33/Q=?J&9#]8HOE\X(L'3>"H0;-U5.=8;K43J6KY0R''#.&/2W* M>HHZKZ/L&_1!,,OZ(M'09U#V"G93.A_N%G0U6R<7-PQO=OPXAS5TMSR/Y5Y? M(XK; MP+YG.ONVV<[KTIYWVLK M<5NZ>Y;LV'=5-]B<9-+M8+R4$NK]H?S\O(C'K2%471ZK;I _%,01U;T[U;TS MNWNF1,QWM9>O))Z98LW2:%8=-D:=6F:@FN1UU?KM3 MP>VI\QDB_N^J\^-318Z(,[\RYGN/7/5Q-!'*JQI49Y0-@?K,A?:OH[KV*K 4 M;I",V@2O>R9_N#DRJ1<[<;W866N'+^#.7!E6;;68<8)H53J/T53S703(0O* M%['TH9KFFRP$\3N70Y&"D,\D?SQ<*7<*Y\K#R[W!Q,XKJ7"GTFTO(WX W,3B M8 _D^)-2Z MDAH&<.PXD>D7*NG'U$-V$8.0X!3(A/BW"MZNM$#&N7R:^EG$39+6S:!^D_*7 MHY>_W/JR7]UHNO6%DYW5NUKWJW49-[YN(N=WMNY[!?2+[7!?FN'W*^BO;&1? MQ\*O8+\5GTH@6ZC7M(5ZLNY5EU[8$3,C27DN2P!W"7%R(V(0^)^4HL;1C59Y MI,8*DLH8M6-OE[*?R(RX,7X5Z&X-R-8!(7J=_\CF*_Y%N5]['%M:*-5ZD'O5 M"!_K,33:%*4#ISGN1_9$KEBA;V_S\YOZ_-7MSU.H<[@<>^3X0;,R!D,Y/^Y& MN ?A>8'4F4?JS)"S]T2=B7U^6Y^_OIUY"HV6,SFF^USAQC0_566$H9=BVJ:4VGS!& _]&A"F\#YKBA)EBA5,]'=Q(HE 0I]YAS)-ZS^$VKF M:&K;I_,I,+,@ 9R>C=1 UR;X@5"@1$O!PKUN_X@:/.)G!2AWBE 3CZO #8DO96+\# M7R&"'@-4 S^GJ@AJ"5.F]YAE)+7R/%-3LW"MV([7%MU%=KB-"KER^A.X\,WU MQ/"]U2]1I"SH>D\H+;,\FRLE6I-.\*%98K*3>"_VXU^6C_H@PN^!R(LV$$>4 M.:H/1,$RD%8 6:=D*$WPP0O-4B1J),P!_#M0H;R;LM\EQ49,;4U"S4K?%-@H M%ECN_ )[.,[TBK@6J\JCU%@\%L:S<+<6M9X>--#=<7%I3P@K4S?*8:84K+0R MR8?86"D"[BF]^/$OQW.'A14)Q 5.;GF%K^-%)9I6"MT8/J(V](6_,1_,.D/(U\C10,B'NAA/X2@X>67E.R$F'=&E^'X, M],+]^EN2Y^Z_\!_W::("!!W%":,_DFQ,%6'U&SN'S@36 0">$_Q]A(\2_J8# M''3!UU$$_1>:Y=9C=Y[E%X&B_'EKN\U]PM%#!Q&Z9$!WJ_322"2+\3",=5TUAKB7#T&."0T!T( M O[I[[S2F7%?4R3XQTZN6$S&RE2F7FE5?52NG A0L7*2:K3BC5PR%ZOG4HU_ M_NZ__9!_^OK?_[X[JEQIIAI4LT(E*N5DJMQ()=%/C4HQEXPUX2_I7#E63N1B M1:K1A!^44N5F@T)8PS!_J)^(GK)J >G7D:;SLZ4*EB2;[A,WBGD8L!QYQ7+O MAS*^$25'[C?;7W,O:70 M_CB)S5VK7P1#02D))A1F(Z9*-K^'0!6A[6_"=\45Z'_\<.>?B,:>PF,CTFA5 M8C75+X1S_C;MY%2PF,3,-\8YZZ0 ]!&F< ZF;H&CX8L" P,7QQCFS?C\30%E MV !2D&:NG$E!O7#T\'@8LC?/77F+O$@U^/$GA]:"DQ"OPZ5L0J 2_QQ884(1 MY(E]]4-16!C0BS*.GR[96^8G\B?-K>A-WO'_Q,W4%6?JCJL')X,&H/_Z*%E% M3BMR$LV1!MT[05' $/TZU;4!, RH-H)" 5W7=(."(:8VD?&'!APOF)2@R_!+ MLHH=2&C#95705U#&+=W 1J9O&7!U!IS'4)!5PZ0&LCYQOJM- =3+];>!"M\+ M((7@R]&LH088EF+NSL4(4-M+%J'/#+5O=[**+-@.(7RR 55?%>$ZMRD#/2\X M&>C[2Q;T@J$YM,DTU: 4K.#7)Y!6/A0-P&^)HS4ET;3!REDR^L)$6.V3%*HL M\O)D8X3\;*#/X=/1H^"$Y*&-<'CUD%MHA3)T>Z"3#1?0=PVS0"F:81S3>_Z. MA.6@5R^*D+6(CM1"-D?X=PN#'V4X0:,!%SL4="Q(:/8.S#GHN)ME@%^':(9H M#B-0Z!GCAT$:;/@VP+D,)(X[CZ$6(T@L_"PHMI:N S2E-<402==T1/Q! P4< M:T%!46&$ B7!W43N@.(";MJ(FG 'F9/8$UIAZ:V_BGR M&"CR2-,D6T#MSUR6C 3##O$]2G"XNJW7KK45O4&1P1P^ MW%Z/IBJ'J0P?H(.)9AXUQOR.EL2=Z'A+RV$ CBY=AG*.N*LBT55-N A+G4+R MR2*.!7T'V0SF@F*M W$%^1V(UB( $N[ HL$P"G%BKBD(7@0*+0A@:8.OG"I@ M"=$*RK)A"TA_!:%*%>S^O930AS.C!I:)I X2&XW > LE'+IHD-5 F$,"0NJO M>6:/@,^T)O9M2 $JYTCVUGL@J6!$:P);?O9AP/Y$!DL=.AONZ,WDKHEGJ8KFZ[^+&1%62.$O1D@ M8/(YTSV(>-H0P+_I#F3NH@?ZTBYDH-EM%F=3"D.$BVQHFGO:!+\>H#HC6;%G MA0P*F%D(%FUA<"R=I4)3A&1%VA&C#0&AH<*R*0'($ACEV@3"/-^\%.PO81MM M7T5#I*RH>S26Y3UXM"'#6&/MVNQNSW3#IHD@X9E1@C0'V,FPUR2J6SR&,79"*3#7=]DK@PS0I0&6U!50CW;=V@Z:R MZJCNH<=N5!&N ^5#MCT=+"RVPB.S: #%9H,IC-&?917IBFU^-]X-'&IWLK+1 M!#T*P\Z>3)Q0;5M]V MU\P4=L/WDXBC=+IEZ/&ET9J5>[5!K#DHR4^U\Z<%W];$[7HZZ$OZ<44=ZH,9 MH+ NIFHMJ ]4JHVTXM0YPH]41.&!ERV)VJXQ'.#_[<[\0-HEUDA03>A$%C,_-F#BS9!MJ<<7$0I'47DJ%/F9JDW2M*HKH5$NL M*RIV :JYFH+=BHO=OSO?GH6D9*U;5IKCB92)*(-.+T<_+G;+*Y!HX=(D25BM MH)D"ZEZ-Q8N)V_8YX7&,I-4IM\"ZEF"6MM%)LOCAH%P2V^+P:_OB7 M_[9$N6(DNSX5VN8 DK'>B-GDPDV(>\C]DBQ==JS?[7LZ?@.(O^&*%S"N-39> M#IK7OK\OZ*IF[?*U! 2T5XYTK8HW7[:XJCQ)K6"^5,_2%341M[JS8#?:7+QG M1LR%1B&7R_B:FV/OWQR&C#]X*TN@IAK*I2*>3X2E/+$F+RW1EI-+C,^)C,\! MX-B(55,75&, 4%7#00((]U37DJ+HOT[!WOO7A9FZX4 :QSZ:^XP&BO4N\01^@WO037WB( MNW-';W;F;[\;'8P:6@):-T#%#-K64IS0 ;ELCC:C%H#OQMEKW=%M;[B%(H8 MJ IJ!T76TSKF-ND7BPHME ]T?:,1YI]R'CS($'H1LNX@6H"XS;YMZ,JXL M@XS3ARNT-2V+,E#%%:Z,02O"I14.0_%0),HKQ"%4K2>+N&('Q4/N,^!8Y/E! M.9V@\@B<'WE1H+C^)O(.@3+%"1I;2I%42#ITGY$-H)NA]396?L2C8SW7& MZ79Y(@2)%Z*S<2)DU09 I#.X1J4/G().R#04S "8#FIT#^'8JZ!$71 M'"7?JDG &KNEQB@S8)>$2JZJ0L]!@[^]/J70T:3NB''JU:2ER:(\LZB3U+1X M9%KK:;A5+W".8&)-=,E<*E6#F6L4M]DKE&HM5H MY"KE7HCCHNOJDN.P?6>I4+Z"+P\^.9^]$(^(W1HH^L7R#;1&B@U0U&:=C@/9 MH#;K?;=4"5=DP2<4NXU<@ZJDMTJE4"U5K@D?@L?44XU6L8F'5*JI>@S]X=C5 M(@?S">>E W#1A>"&+M@'WC[W!&-8((Y0I*"\%9Y8IG/R MPX=<\KE] $N"H0K:.L;'H"P8FHJ4X!;MHU->,+10P!PH.'(>HFIC%<>G5 S% M_P8,%T2["!Q&)+H GP4C%U0?K^+L)XYOAYI[]%&S8&PT0A7A/FH!['A)TX>" M&P49;G AZ[B] 4ISH8D ?-S!^2..J/HKAQKXS!B,>"2P*37?4&.]?)0M<*(K M0T--"N#+?!2*MM61AHYO# 5C$W?9Y-BL]L7BT!$;>S<>;.^88YAQ.0MH =;-4Q'YY@C_=B4(A!Z%,V#_CF<''"^@0 M@'N*SB7: 0[C3A.03^C[QZWK_H1N( 7MZYJ SO#IY@!26]N)YYV3AL8Z)EYH M6U'TIJ+?"8B-W]1/YI<;)>,M'?;7=GT$_BRQUB_[L)6,/*B!(#J'98P5^KJ, M.V>8"V"?*#' ^AUV"=4$O1JEIX#B5%;!>2."0@K#&^I-=[=9V\L<0YOCH"4J$"#)TI7$;%T=G30??#=,/W*JHW94+ M!MK;1I/5IJ8\D9_QUYU'3X$J.9/?2Y*M1<-)([V@,BXZ=C!"GX.5L<$[6T@A M-2$XH&PM!"\5 Z($)O;QH#6L#G59<6?M$C&KBC#SZ!CIX#$V8FV)3X/Q4+$0N"*!!D\W>$E[@ M' FUFY!VR>*X,"BP0\1]'>JB#QL9 M:*'13."$9'5W&GN$6R>0 Q1RXA1#%OSZQB)MS1Y.^H5#%J"* M4,50YR;H(QC6=*JX1P;!X>7@A/<"^40#H.^@3W]E?XC1 0&9Z1YM1\^%JUP? M1)X+NHS\MK7"..[5#!WD?NDQ8JQ]!FXN&.FC[C%R/L MP%*WL=(;4NL %Y(X]M0P-$@]TTE].^9V/6&;^B[A-[1VG;)=J[BV"2CQ[/3W MP@=&)Q0+R2/"$[SSLFL MX,?H_ /S"^JC-?WWMVTMG44ZN&NW6X>8JPA3 _QV?]@F*:*@\S:D@Z*MY+N@ MN*]%]!Z2F;K[5G?NM@!]N8M\D T$W[S9=$OIMUZ)\DP#R''7F+N_XWSL;]NJ MH,*Y=]',\ CZ$"$)8SP "/X !LA MC/ (]@ 3:#)"XS@ QQAA!<8P00X DU>8 2!)H\P@GA-'F$$\9H\P@@"31YA M1 A?E$<8<7%&$*_)(XP@T.011A"OR2.,X -\D##" XP@T.011H0#0<((+S"" M>$W'902^1AG__V2;IN&*A'-%98\6 MGY$>@A;WBQ:AKX(%PP>BS$G7_UTPV+D._D@X\)[K?M4X<"RY8+EKD8LHD8M3 M0N1[J9_S0N1E:/!>UN4^)8/HRU?R$?=)%>)[$]_[W+YWY/T5NT]-P"GW=1D^ M)0N4.4#+0$\45,/O/-:]A^"U?T_JH%]Q-&^WNR?^V3G]]NL6%XZ(R\G=^0M* MR-6X^U>L1?^E$K@7$-&DDSOZ5RPE?QU72N[!Q7^Q@4F_XBOO[N5$U^9\AR)_ MD\#!HX'#=6SQ71A9WCP+_A.W=-(L&$%)A@]?V3$UT^]L'2CP!!>0EK>/J-XI6:["GA(E\@A9B-TA M=H>HS%$/^=TI68C=(4I$[,[M%241E?$(6:ZB+(G8G0OE#[>3A=N7UXLB (/! M68MT4&-9U&6>TL$A_%HFZO6YVT=X3EE]7RPD0#["V"_#44M.W-/RGK0#3QU9#.%2Z[":K?I&;M^O=P M;K-2X #^7IH&Y]F>\=22SUYJYD&VGV>?Q5-+OD-))YA^E\I]AY)^]C(N#[*= M8/H]+/DN,?W,E54>5.X[E/2SETAYD.W7B^G75^RTOCR=QX]O"(J@R_!1Z.KD M!3HD2TJ?3EWZ=%=4>'7#W$.9[X_ME 1]=.3*]\.]*!ZO5$%Y2#R8T/5NC'B/ MXT3NB7&X/>/ ^"(AGBC)*?)=WA8/A@^$B'$@'V'XDU,P9V8 M C[L"X:.?NSDK@3#28Y=CV"$H'834T#$FYB"[R7$KD?C/]A/Q,?04:(K-W0I MR+N"P;*!X'V;@BLN'&,B^/E-S124G?37H7.*I)J,[ F1@H$#5H_F?7R((;M" M]U=.QH>/:?SNG>-$[HEUN#GK$(GZ.(8F2G)_Y630.'#$.!"Y)\:!E).]%CJ$ M?5R01 [W6$\6)9$#N:^2W%=)=I1NI;C@"@ZGW^%^TL6KS*Y +*YWZXEH K$9 MQ&803;FQ*]R[0K X0XUY>)U:U<@%M=K,ZZ_Q"VC:X9! M375M()NDD.W4NU&7Q@%/4>EN[AD+,3Z>)KM9YZJ#NR+QX=@ 3W:[B%X0XT., MSXF,3Y#S!5G2T_-<=797)#[0^(2)\2%Z08R/9^KTK@@]/E;D[6/"1^^&<^\Z M=A,7<4:.V2CA1B2"E/F1,K]/6-F[6C*Y#NXNM\_(%9_7O#U&))U@.L%T(NGD MBD^"Z?)Z>2*SSN4='+%YS5C^O65L:'*-: "75#P/06"-)%5V3!UP93G M@ ++*5 -8/PF%6VDO\*5-]^Y N CVS*7ZLMV!<)Q4SLT1$6(%2%6A*C(;35P MNP+A(%:$J BQ(I?N]78%0$%4Y%*=WJY .&[*BES9):."(NBRKN5N^+[R,BI'G8#11K?3HZ"83($7DB]L0T$-/PNFF@27N5&ZC ^KQI()V[ MB-@3TW 3554G,0UATO+Q!FJJ/MW2D5R>>>UU4J8FCOU]P0 2)6H3=(Y1,&5- M)8509,OFEG?7?31+DRV;FZJ#"G#WO65#I)< ]-C@T$BZK=4!463(B@B MO02H;ZP(*DS.%=Q6"13/WONY@JNO@4H"J*&BC!,Z=M^JB0;G_WS<#,^-Y.W( M3@;9Y$:&C/.%F:.;,B(=WJ]_8H^90+IWAA.Q)Z;AYDQ#T,=$C[YK<._2<0WU M3UR )::!B#TQ#7=0__118_ S& [^(EIQ\T5/\!T_&8CH'K\^- M&(>;,PY*D@:)=U@%QD8#$6(3PR.T7A1UH&$\Z M87T]D_8:.4Y?,^8]:2<%9F0[R0-U!5=PO>H=[B==O+[L"L3B>K>>B"80FT%L M!M&4&RM%NP*Q(#;C'I9,;(;WRM:N !SN4%,N7K=V!6)QO3;C^DO<U<$'A]L^DE,S_E*^FY->AB6#QSQL,!-V2G/-9#SGI[<;3'@72WYY%>S7<%N MRAUNLIW\"LTK8/OU;J(122>83C"=2/J9;]N\ K833+^')=\EII_X9LXK4.X[ ME/237\UY!6R_7DR_OF*W/\YM!93L5+DY_=I^_2:5;:3MPI7WY+D"K"-;-)=J MUW8%PG%3.S!$18@5(5:$J,AM]76[ N$@5H2H"+$BEVX!=P5 053D4AW@KD X M;LJ*>*X:[,WK1'.J"71@F.Y="J36B^PA>:,NX%C76S/H,M"C7W!]9[P^<8'7 M1ZZN#K#'N[GZKKAWAP)+\-B[>,SZ@ER8X+&GB[,^A,<1@L=$8 D>7ZK&ZB3' MO$(T1P3=RR56'T!FE@[P]PW-UUV$/_-;.,X?Y MHQNZ>]>P6^@ 1I,.8$0MB.$AAN=DAB<2CA(-(_V_]@U/F!@>HA;$\'BF7LN[ MX/'QK6^&/_I&R[UKU15V_,+;-=PQ]\]O1 BNI53+N2R@J9F"0FD'CU22NBVR M+W5;=0*,CPDSI$[@VNNV8&!SWYM11& )'M\&'H="$8+'UU^W1>IHB< 2/+ZM MNBTN1H.E$18D6(%?$268B*D#99Q(H0%2%6A+3)(BI"VF01*W+5 MM5=_4&LLN\2JJ!G&+ZH/!IH.W+HK4UB2CEED9^FJ=OJ_>%#21WH"7'<5UA[? M@\<\:W)7K+Q#Z25 ?7F%_1!0LS[V^$<+[XKOER[/VN,[0X":2"\!ZANKU0KY M6#9(1/V*J[6^:*#9:( E-QE>1YG7:]F@K<0/];,/5#"0S>,=OKN1W!XYLDYZ MI1P#,9G0T:N:[UW#;J-)%T-ZI1"U((:'&)Y3;7HPI#LD:=)%ND,2PT,,CQ>H M=,M-ND(ATJ2+-.G")T##D0!-FG1=5Z'8RP.@96"NFW,IJ'*,U(=]PR[NJ"L' MU572K+X"SJ6O.R3Y[_$BJ LOZP1%8ER0)UM:W\_+79%@! ,\*4X@XDW@_.++ M.OZ^BR_$$S@_0K;KB@2#"; $SHEXWSFQ&U_DI0NI;^.,BQ<6>6E+=1O'"[VPR$N; M%B*N!%T)NMZAN)[\3* 7%DG0]586>2?H>N)C?Y_M!43D][B)EAM?Y#7!+? MZ':S74%Z(0CR,;*&^_/&GRP C4X27TB*/!E5:"+0#6%(7RVH -TR%$'A@$D M2H ?4-/UGREM0(GP";H@FI0.YD"U "6H$C415I2JF92)KRF4X*>F1N'Z,[BD M?_Z6C[">Z,?7$\!OW)?A"UT <'CFCFQ_^DH 29Z[_\)_W+>)"A!TA#ZC/Y)L M3*&._,:+?J%4'%X _'UDDXP.<$B^M[3HQ\YC=Y[E%X&BO)3\G0(\]PE'M\)( M_H#NDIX-;M'>UA>.VZ,._O=_ME>SJ8I$T*7IO]WD_1;U',*P6&6'P-_7@3#V M"P/X^M^"LA!6AFNNH@%N SKNU#@L#HBL?U%;/R.B[/%L(BS]6W1S ,"6".=K M[F?8"UE_J!FR*6O0-P&*8,IS\()I6ZC),@%^E^-!QH:T4S#LA69P6UL2 C72 MP>#_?ORG64D<5!2L&HX&'U3J)C9 $( 2\*]0'(RU5@C;FG%8)[:5S0_)N&5< M;-)N/MSER1ZI[3]"^1=_HA'4_U(L_N:O%TQXP_)@ZNY;G:Q?MNZN8!T>5DV<80;PF3S"">$T>8<1[]2N$$<1KNB]& MO%?V0QA!O*:K9,11#I:]O6GJW5-U)]N>]/2214U!'_[?#X;_\<7UAX('SIM> MLEG9;NF-\Y+^SDN<4HV^IDCPCV59!50)?CXRJ)0J >F?O_O74SKYWLI?EY4] M4IS]%"H!BVM:\AHL0E_%"H8/1)ES7H;R:2QH@*D))GV@4VS8=S0<./,1@'/B MP''D(AQ@SWHYTG?D(DKDXI9/!7F!!F<_-'05DG&>0T771I7SG$*Z-JH0WYOX MWL3W/N![7W&%_F3G::\;"VX[#KZ(M!"RW)M!)4I$[,X)D.3M$XEW*AM7 MD36ZB-UY\[3>G9*%V!UB=XC=N;WR(F)W/$*6JR@P(G;G4@G$[6SA>6]QW[M6 M#S7:W.[T>[24X(77M<]E]ZD)N(J^+L.G9($R!VAEZ(F":OB=QR(6,SS]9__? MHY<&[!/IPGN<_[^];VUR$\D2_;Z_@O!T3Y3O(BQ SW)W1U3[-;7CMCTN]\[= M^Z4"0:K$&H$&4)4UO_Z>DYE HK=42(#(B0EWE0HEF>>=YYD#8C$S%[N5/&CA MP_8ZAJ[VS7[1YNCY^6C[8(3-K%&0E[#>I**WVUJ[N$&[)4O1GVM,QN>BV@9) M\DXE#UK\V-1N1^WH@Z)O215E@2+%=[?N]"'%MQ3?U:#:$XCO#8BL$7ON);Y[ M?=74AU)Z'Y5A6VORT(>7*;R/\RR=<[-OW9#8L6('41RM&R!U+5/-ZA]ZNGG3<>J M(-JE3&_"D1LITZ71VD"9?O94IPJBO;XRO7XY2^E,Z!Y=_L[RK-#%F>:^HSQA MM6M-,YBJQ]D;(R.-@L+&_*4*^;WW"XL,5:-3\_2D&NB"C4E,%:(7'>[?=8V3 M5$]"E,8(E8*"U!9;I'*1R M.%&KPTIS_U[*H:OV^C5/L*H>=6Q,P*H0=0RD:BC(A5::OVP^2G*S@E"![SZZ M-O>>!?&$A(HC9'+)I*UG*+N:=/T]IQ.M/IFD>ZE!H]U1>[W"76K2?U8K4ND, MM&YQ2K%18J&QB0%2.:SZS.K#\7LI![W75;OMPCUH#:,,ZBZK#V5T>EI?Z@*I M"Z0N>)Z+K#XL58# MLI ZHPE';FP'-,G\4B=4*W6M!F117YU0_RRW#V$01^ZDC MHZN:'4.F4YPIUZY&] /:1_8&E=I'YN*=+Q>O1M)ASTQNM3/0I7(Y4ZY>C!-C O0DX#E3*] M&4=NI$R71FL#9;J2*0J M,VL1!IZGQ-8/_@JH-.@4U9&BBI3Y[P=;"D[FAFLR5U_;*XEEQ"[RT; MCYHXA<;9KR'QK)@X,IU+1DQJGLYU&J^1:I@%UMW+?*[*Y',=K 6+'#[==/D@ MH^M25USVV#*_7/TGK4.H 3$G5(%6#5 V7D'AU$M50Y!U"ZH6ZS-EL MR[Z/=4^EB@/[>VMD1<11[&"*M8]6[ :^S)6209P+SI7JJF:W6[=X91U<7!4B M!+WI09V*DW.ECMQ(R5W'3*F.VNYU9/C]HA*EBIQ=TBA42D'=A"/7,T]*5XUA MX4ZA1N&]C&*++]KNH"0D7"I+"XN24HWU*X^D-'PYF5)F5I7 MZ@:I&Z1N:$"6U+[:X$I7NP/]I50'%Y\^XTN%Z\%*J@#HG1'V.)R24V4_/ M4%9R.OR*"ZP^TU;W&];;5@5<%5 M'X;?=XY[SRBP"6$#P_[&2RV+KX?U\U.P6V29'98K7- M%C/;FB%3 FK/")6"@E07EY4NIG?5MEY@%

6_6EM64[WF>XUS:!X_399=4C=YF*)J-,%4A%JX%/22:B M52 1K08PJF^ JN*L4:DC2R52O:2U&@B'!F8JE)ZR5@.RD#JC"4>6.J-ZZ6TU M$ X-U!FE9[?5@"SJJS/JGPAWZ]O!E"A77A!%+Y5Q&$R58$9"VBA-)K^=/%Y5 MMF"H%)0V)L?5*#EXOZ3QMMH9%!CODKESA^7.U8B>.MI0QL=JSR>5@H)41L]* MO:N1\-BW[:=I%#@E1B9?;,W,JQ'Y&%+W2-TC=4^%$OMJ)#SVU3UZ5W81/5?B M7XW(9SB00S>KWV.N>K3?V"S 1AWYY.,X:^#=DEE\9YC&60,8U#=Z5G'2K]21 M&RGD3SRYLP;,W<",B9,/[JP!VJ5,;\*1&RG3I=':0)E^\AF?-4![?65Z_;+< M7O,)!XK+T]MX.[>7US*E3;9@J'D_MUK(.IF0=DA"6K/!S%V0VF PJ52,;K*@IV3VU;18Y)5NF@)TA!6R?@=A:I[AYV(UB M71GU;\*13Y[)592 [JNZWBY00#K70"?5 H*4A?)_F"Y:Y)S![X%L>4IP=HB39GX)>-8EY7X M9:I]ZR%]<%11:K#1;9B^OR8R+UXYE*04&J%=F+2X;392\NJ46D%I%:1/;B MDEI$]N*26N0R\[->8_\MEH;U,8BBE\J(C(.0)+E9L?5#MN62P:9:96<=&6SJ MJ?U.MVZ!U6H+\K)3M58HH:.UBTL@;A13RSR!)ARY[+RMXT1W1^VU^S)/H,8Y M7"MX!PDK!;44U%)07U9"EZ'JYD!*ZAIG=*T@WNB91;8BJ2,RZY#?M2[;U6:&>@#:3BJ5?VV'*9Z"<2IUV] M/$PGDTECS]"7.=8U@76=8#[RR+EX-P>2GXKS\Y5\K.+564<=# J\2LG,L=2' M5R-2:7P4K.+T7JDC7ZR [U3@6">8RC(8%I@9W,"L!>X7JQ%AM(N\C#0*UU*< M7XXX[]7,"-O/7L>^8C)?N !W4XTHHZ-W-+W9$GU_7]*FLY_>O;3C\&?L+7;A MARP[9_HR*A&K<,BR[:W+J"2LPB'+5BV27*5TK5*Q8!4.6;9Q?QGE?U4XI)2N MEW+(ADC7!F"R$=+UY"5[53ADG:0K=82\BJV11^#$^)]D%>[1L@//LV81N4Y^ M>%W KA,_F?!)',SHKW0/+<]:!//X>NS^($X"U78[<;,EA\X[<([=5T_K=V$] M]@$N=>W&@&C[]1+:88=;<#Y8P?.5_G*9D)8(P2W"\[>Z;_K)$T$W(&PRG%H> MO.P+"6WBQ]8#K&V%! L=0Q)%Q%$L^$"9I7]6@K%BPPJA9<=*2!Z)/R>*Y3O* MU%HH?A K,1U;Z,"G<:#0M#(XTB^OW +.,]S_/!I]XT72\"FI\M5&6-8;77UO>D[6($ITYU,R,:I*M(8 5'<'ZLR+\ MC$!9P=G4^M$2X,;1SL94\*\EG]'@0?IA$+FQ&_C7(?&LV'TD2T@3R-X :SN/ M\8[.*/@4"%O*NC2%J)>E3$(R_O7%7[Y]?K,V7$!YB8N1M9+E&Y4@( 7?P%^! M'*)4:5J_";A?SQ,<)!2T+0"C(!T8:+,/\SA9 37[(]"_?85/*/^I&/2;+Y>0 ML(3-C.%37.)'&Y8_ 1^Y/E@<\;796\63;J1X^C8ARABD M70=^X$!1F^J@UB@)O'I^&'O>) M'.H'1 Y%F;_7#6&OBYV$^BF@KFO&5C^>A/I)H-[1VEL#QA+LIR'VGB3V,D2, M%.QEB!A=0KT$";/5!2^A+B7,Q4"](RWV0L%^:.7NKGOJ>?-*12?1*/"<8M.* MSQ/[6\F)_V646U(\'AY&[[5?K_[[RZM1_FAVX.%Y?WTQ>'%DK*PSU,R5].DR M2_/S#N ]@/5M$A*B3.$/DT@AOD,2R-5[\ M=N7Z2CP)YA'(16P"Y#Z;C$ONEKY+9+.0ZK?%C!PCM2O?P^P,S,MB5Q6&P0F. MS )'S3HS,X&;=62CVMQ]$LK6FW;D1G5Z;3!A5UQ5G[DCP,DO&2NF&#[9 KNR M-;7 *G4M+[J 0I03TNWFBHWMR4+5[$FS,]GF[)U%^NJP:Q93NE=J$68Y)'CF M"WM!)+@U&>/\PS+[:K_7OX#J44F"!TC!BHT![*I]HWT"TZ)DQ\^?OANW1E9$ M'-FKOE##H_%0*,/Y(4GW M>QAMU2;\;A\D_BGLN',:;>^Q_%R9A:Y-I&_H&2::G,ZU:J]5)J5DMV/*5+O# MGO1,/4-C2098,=OJ0_^ZVND61/[-](I)\E]CO=6'_OM=M=TU+L\EQU(CH_EL ME1JPYX3G^B3IQT)+AI(.16N:"+WX3:$=JV"Q(FA$^O>V^O?*GA=PJF!D!8]Z MD)XT.VK;+,Y0E/2_P=M1-E&<*!):P9,>%+GJJ(9>G)THJ;]!U+]!W9=]U(.D M?W>@&BL(Y\\5:X" MZ?D5\LYMKY1DW69EG:2LDY1UDK).4I:3R3K)1ARYB81=<55]\762;X+IE(2V MBVUDI'NK@NZMYM1']CK2#U7)ZWI#ZB.! @?28=0H"JQ8>>10'9H7F(KU ?L] M^SB#2&9/R>K(IE5']G15U[LR;TI6B36L.M(P5+U;$.$WR!DD";_VY9$#4S7Z M=2^/_#-&7+HD*BZ)WB@ZB;Y9I"_++>M?;MGKJ,-N<;TRFH5M66]6^W++ OME M- O1DO;K7VO9PUK+"VQ_)FLM*\XILM:R]*/*6LO2E6?UB$+66JYU',I:2TG] MQ3H'RSZJK+4\.]DWUD/8K"/+6LMF'+F))6FRUK(!1VXB8==5,U]>K>4'$CP M:B8+A99:%N3#NS(/=^'5PU^W D)9NREK-V7MIBQQD[6;LG:S44=N6.WF%);P M2'GI>&\#>!(VM >>/V5/'(&I'L MWL''98IMIN>J;-0>3+%YM*U+(:LV?>;0+B)G%I(61<^+WY0TA%AU,^?\9"V- MHXN+$:ZP]!D"@EM8]NPG;JJU=%%'7B;B,\3^JD7#S;2?+NK(ZVRKBR#BX^)^ M5<'M&6)6)S>D#HMJ_O4O>J_]>O7?E7:R=N#A>7]],7AQ;&K=4#,K585B$S\F MX0' ^N3Z1)G"YY-((;Y#'.6.S&(R'9%0,?JJ8K2-3AYPDATNG1V,7>S 1'Q7 M,\LM27XN[;_S2?BP.*;+- _?EGOT:I! OW0X/(\$X$$"J_H/#"26[U"H;/O2 M+Z/PU6\[GWH3^-' Z%L?)(J4$;I4%W&I2B]5@R M\;IY-.//UR[0K&MC+I_K*_$DF$<@%Z.7O[QR+SH?$D1V'%JVG#XA,QAE!J/, M8)2)7C*#L2%';B)A5UQ57_ST"7RR!79E:VJ!5>I:7B0+?RL9U&_(% JCJ^K# M=B$(D3'YNM!@M<90='4@0=DDKUDD6+$Y%/V>:@[,$]@6)7M^_O3=N#6R(N+( MUG*G;BW7+"C481"%WNFK;<,HS+II/-(;=66N\R0*O:.:?3F)0A)^XR91Z#U= M-8?]FKN)WKL_B*/,0MI"B[AMHS.]+3=VJ' M1]E$<:)P: 5/>M"8I:&JMXL+H4KJ;Q#U7\#\B(ZAJWVS9CZ_ZI%]8]V$S3JR MG!_1C"-?7+.-TC/;*GCDICKVFG5D.3^B0O62GDM\62TIJR5EM>1.-#?)E=; M1"%9+=F@(S>1L"NNJB^^6O)-,)V2T':QF8QT;U70O=64*DE3'70'TA%5R?MZ M0ZHD56.@2X]1HRBP8D62QE#5S>'E)6-]"&#;_I3XLD$Y@PWR!TG"KWV1I*$;:ENO6<+4:G.+&)'IDJBX1'JC MZ$3Z9M&^++J\C*)+LU^*O>/7PUZV 4)9PRA).6<(I*]UD":VP">A WM@:?< M5AOK!BO;Y7NP=SN'MK7);=7V6^?0+B)G%I(61<^+WY0TM+DOLO-0::KGJVPZ M>#8QK^2I70 M)W'*8TFYF;ZNLLG@^7*Y H3-Z:.,;8D0YR#FXF%,=]7+,^%M2.O> I 4GR.\7D]2@DUO?6$P#A M]2R(W-@-@$"(9\7N(UE:D],N?7'RJ#6* F\>DZ6#GA'O!\@B.$OZ[Z$>1@GU M\T)]5V1:0OTD4-\10I10/PVM;[^D2*A+"7,Q4 <)(T5,&2)FZ^510EV*F(N! M^JYT$0GVP\">N]*+?Q4.;7O$"A$/D]>.&\T\:W%-O\ WESH^Z'[A=P[XMF9V M5Z[)PK*YM5HV\;SE_)$\Z@N%J^ SL>&^3\($TD8G\Y>D%3BKL,-__R-'&6GL M"_T-07B=.'\$Z'' &)1L'TB+$9XUAM=?6]Z3M8CX6?M#S4S\2M>I_P@!K.@( MUI\5X6<$R@K.T)5%,P+% MC"FXM"QE$I+QKR_^\NWSF[5,@C]?^T$XM;Q"<"#!%;U M'QA(+-^A4-GVI5]&X:O?=CX%9EDT]V)8^4@*ZY0.V6I0F%$Z')ZE86EK$:E! M&Z5!=UJ4HOE8,O&Z:^Z=+M"L:\-?KUQ?B2?!/ *Y&+W\Y95[T;5$>),.+5L. M<)/5/[)&0A;_2,+FT=%FG;F1U3\-I.R*J^J+'^"&3[; KFQ-+;!*7E'6?(-\09+L:S>\;8GL>ZK9/H4%=TYS[;W[@SC*+'1M(OU!SV!7.6JG M1G.F\GS<':K=HGP!S?1&2>I?8[#5A?P'P[[T@TG:;\B0M3SM]]IJQ^A=GA-. M3EBK.)\T:<):_29,+<6*=%UMFVWIUY/$7YCOKNRC'A"GTM5^@6-X)?$WB/AK M.%UM2?2;AMHW!_7R\56/Z!OK%FS6D1LY@:IQ6&XF83>0LIOISVO6D>5LM0K5 M0WHN\64UI"RMD=60LAI2$K:LAFS(D9M(V157U1=?#?DFF$Y):+O8+$:ZMRIX M5VI"%61?[70*BJPT[N):6_JK$@'J:G=07&A/$F ="+!219!#M6U>8/K5!^P> M[T^)'\N,*5D5TZ@:R*ZA=G29*R7)OF$UD$9;;7<[,DU*TGVSBB#[(.][G9I[ M@_Z,$9,NB8I+F3>*3IEO%N'+TIJZ%U7JJMZ7+;XD]3>SJ++7DVXU2?J-K*D$ MR6^<)&5>UE1*#Z&LK)$UE=)/V'3BKSOURYI*2?P%.P3+/JJLJ90UE;7/N:C@ MD65-92..W$C";B!E-].?UZPCRYK*ZM14?B#! Z!FLE!H265!WKLK\W#G73T\ M=2L@E 4_LD93UFA*PI8UFK)&LU%';EB-YA26\$AY*7AO W@2-K0'GG);;:P; MK&R'[ZFBFO7Q8^\=PLP1;&/=6V5C]F21R-I0[-YAQV6";:;7JFS$'DRP>;2M M2QNK,G7FD"ZB9A:2%D7.B]^4-'A8=0/G_$0MS:*+X9HU-Y?7PQ>')M4-]3,2M6=V,2/27@ L#ZY/E&F\/DD4HCO$$>Y([.8 M3$:1V[+/7HU2*!? M.AR>1P+P((%5_0<&$LMW*%2V?>F74?CJMYU/O0G\:.[%L/*1%-8I';+5H#"C M=#@\A\)82:34H(W2H#L-2M%Z+)EXW3R:\>=K%VC6M3&+S_65>!+,(Y"+T8N2L*6N8L-.7(3*;OBJOKBYTO@DRVP*UM3 M"ZQ2U_(B6?);R5A2$^9,&#VU;O]@S9$J]9%%BI21-]4^V= MI$]QR3Z?/WTW;HVLB#BRD9SL/=ZH41,ZV#7#3D%:16)E1I1#:FKO79?NJ&:18!5HL".JAO%Q?8D =:! "M5 M#&ETU;[9O;P$K \!;-N?$C^6.5.R.*99Q9#Z4&T7I54DQB7=UZ48LMM7^]VA MS)22=-^P8LA^3^T/^C7W"/T9(RI=$A67-F\4G3;?+,J7]35U+Z[LZFIOV)4. M+DG^S2RN;.O2MR9IOYFEE2#[!\/>Y7GV9&EEQ1FE204V=2\NDZ65DOB+]@>6 M?5196BF)_SQ1W H>5996RM+*VF=>5/#(LK2R$4=N)&$WD+*;Z=!KUI%E:65U M2BL_D. !4#-9*+2RLB#OW95YN/.N'IZZ%1#*NA]9JBE+-25ARU)-6:K9J",W MK%1S"DMXI+PLO+373K/:4 MG(8;UYE$KV(+3E8\12:;5/3!7AX7^I=K-X9CVWR9ED?&,7-![4? ]"C).S@2 M[<#SK%E$KI,?7A=PP(0TA$\2;QG=0\NS%L$\OA[CE*F$MM"GQC:5$$O>'#UV M7SVMWUT+Q36.N\W<.UBA99J?E^>=)6)WBR#VU7V+'C@_"*>6!R^[F<(5)(Z4 MJ;50_"!68"=*'"CQA,!_X'N1XLSQ1X5>56"3VB^OW'6$+HFD4"(QJD0DM[[M MS1U8&,EB%L#) E\)QDI('HD/Y!$2SXH))9P(ON$IHWGD^B2*E%F(7O(I_&"Y MCC):T!6([RASV,\K>QX!)DDH:6H-33V7@LPJ4=!73BGC,)@JP3Q4QD$(CP 5 MS4AH(3U%RA,)"95!4R"FT+4\?(A)HDE(B&(!V?A 5LH4WC")D(R YN[(+";3 M$0D5HZ\J1MOHT >%CX?T8Y/2V(JV/.+8P_RQ^1G7'EM34CUZ(LN VC0N0,*/ M&15P4T$W$CO!R*R:/,9S6'OQVS<*Y#\8;-]M@NV;8#JS0L;KV[\A@AVMB.+/ M:_963:.]C_L&/@LM.TZ$F+9"'YOLO@2GL *ME*"BSUY:3G%].R0XNESYR>AJ MW;_^1>^!@>MZ'M"ZJ@!AZT/-^%F%YP02WT'9*KPF __NKW$4J(D.IWO"#B+ M6WR?$6X I-^$N[9+?'M!84\\8L< -E -5 T##!]=&P ,YAF\;$YKCA>9XL7O3$ JP=^ M1J,XG-OT>_ :ZX$20TH***VJA<5=9)?#K-;-(5;7M=[Y$2MRVC)"4U0!9%;-K=6RR:>MVQXY(,7?(4":82]Q08 D# A$J,CW'09D9B] M%>C0?_]#/$T65$$[,0BO$\^" #T.&(-:3 ^D-0)$?6]98WC]M>4]68N(G[4_ MU,S,PDNV9E+B1;#^K @_(U!6<#:U?K0$N''[B]V_^=>2ST*>(,(^#"(7F?2: M&M;N(UE"FF"B&D#E>8QW=&8_G@)A2SQL"AX32P%6&?_ZXB_?/K]9ZY;8:2Q] MH]8^2$.4!\@/J>UD_2;@?CU/B*Z-%H!1L.09:+,/\SA9 37[(]"_?85/*/^) M*@*^^7()"4O8S SP%)?XT8;E3\!'11A%;]T0M M(P2B.$!/+5LWA1E+N83'F M.:;_6__._">;8?N"-YGC8)'HBDWN#!@&%D>[(8PM?\$ M3^-Z"<3@@'H7C,Z#="*[LND]K;OG]U+0 &G@[7T^2G8KJD!J6L9HE3@B_C/T MPF:[QG&;[;:UP6&;+')\%V=(BV(4=[)TOQ$D MI^_LO.!0F61/V"+_)B!6^XSK5=UT3J]MDZMB0&FBEE!'\(@BI0O83!VXWT- M'DU1V-=F]&L"?O4!:B/ R4]=D+PY-)L&B&+E@7Z/;?99.J766 M7]@_[H6I1/\&CR8F1:*?Q 6!OB.1C4,P>GTDI!'!PLGH_6XWR/V=Y0U,)1X'% (G!'*J.1[HS,QY9L[V 3!C8Z M E, Y*4;3Y;>P D##8#!ZHMV61#,&E_>VM$.0#I%K[*-# 5,588@XX& M$1.,QQ&)4<18F61:@U*'@+RV7;8$W=P40YG_IA\PP29:&D?";%G^,3-&I#:7 M_@SH1HB(YU)3K@(.R0 ^17:%I_ MEDPLX0Y(%,'681UN;"ICDEICT]D<+*E6$AY.N6LC#7 3ZSYV&( $W0QY'Y@]ASA$"D,6G+!XQ*!LY(*'!,?X.G;M(0JN)Y %NNPI]F:#AG%B@=& M;8B72?S!2T)S--(#ZX%@!NK@K8&K;.1RW@9EET+HBJN6EXRU_XD LC%"DAA4 MRU]@>M@XEL-A43(>$YNJ)5R7@A\6!0/G9R5(7SDBF%"R9@,K0F+C'@^50BEU M;=RCJ6OFFDT*KV:ZF=)8+-BP:Y9CI)G06NZV[;AP;2+P#/#G-,HE8U&MEU.7 M3O*NB"M^ARH78& 6;FX)X>;1W/4PH"%\B8>(98QR?8RR+V.4,D8I8Y0GM3@_ MD3@1J,SJY%8F:%<_^Q,:X3\) <*#%4^45QSBVJ@O!%?>,1XT\6JSM&O!$1O' MH3N:LRS8-;YP_J4EHWO-G5V\N\0;K+7T1L[LF%45="KS]7E9BY\P(?20I,6M M7^ X4F32XD^]_CJ7HS[4VIG/<9]LW%6C?>NW9,KB2I2SUU[*7LD]UO"*<&97/3U&LF%2L5=92IY,YI!*1 M*N9C/)\&+BYGJ:=U?CZ$17C*4E\;[O>UXC*6L+W%$5OM]# L>\!6+SA?J6-D M,:4D7ZE;*'^4E:VD+QVL1\]U;&5*4C]>GR[6PO MVVA3.E-E,Y6ZF9^4YR ,SV._R#2E$ZMO7IPT=CO.5 M-"7=Z"[=<."%G:->*-.4CDQ36L[O$?66L=83T#Y4X!ZKE0_+/>IG@<;3YAYU M\BDVS\L]&E0N]^B@=*/A4N+.B=*-#"%(5T"ZD2ZXAPM(-Q)=PC+=J/QT(QFI MW!*I',A(I8Q4RDCE'F@1C*TZ)3 J,G?QM+F+0TR_IQM"F#41?B M/P>D,.YC7,L,QOTS&(VET(W9*=AO7\O\Q66;/>./](VIZP\O!: +U/5DSI GE*XE W()PI6.*#FSG MRO:$Y,BO0VCOV^Q"D;^ K5KL[95;4QPF;TWF(;%#;6PB3'L>TB6Z<'O/LVH!9O^5N[-F]M,FEJQE"BX-0HV-T/O+NUF?^)L2 T2EU%2+,0T=4&IL1$ M!3!A2):H!B*D;*H*(D V24P4B(GG3Y+?:<&>&A!GF5:RRT:LV"'AMH,?_OJB M^^+8 _=IC"D_VD2?_5!H-G )DTWRH;\]KHTK!3'I15%2?@,HWSB6\K']YFE/ M_%S*SCFN\E1],EOSQ*'\K0JNB#'+A=!%1Z\+70Q5*>VDM-M?VM58S[.<]P*% M8(FPN!0A66]R,J7L;)+L?.X=J61BWAHUO:+1YF >6;X3O4S+__>DZY4X5=G# MO3$(3#,KTC+>T4*YFK.TC)?7>Q#Q'I&@L@_):A)6_RUDZ&JW:F/ISS-LEL4T MFG=PHZD(;^JYF8.\M@<_0B>=[V!IK4&/KI_ET&(=ZB--&RQ& Y5VI).KGK-2 MX3[SO)\=#2_\SKB^6O>FJ[TWUY 5>; M X AV>$B[SI%L,,0-. :=JC3!>B]ZUN^?5$7H,HHMY)C4!5@;;-\*!3!YX8Z MZ/8+5WL5.KGDBG,KO$O@"EWM#HM1?V4;/KPPD97:725%=R]I(S8,5=$>+O@# M^=?9XP@2><8([E@*6(A@(=CU4\:_'NH*':;P_EU5#R MRREN@Z6?M1CO27@E3 BBP#[-82$&0RLM5S:$"(K]E_7 ?+=>C!?/ 'F'P!$0O M]D,)R6/@/>+5/M\99<&?P1.\87^Y>0@):ZMWA9_RX;]?TP7X8^_Y LDX8 ZO M?5I._1/;:G@NP;8$$RMF#5LV V )=J.%T'XHB3"S F3*>>[2WK?7D8QNI;"AS3$)L^ /KT"X8/PT-H8-5,(^C&)". M*!%)]1M^Z2-\B9,FGQ 0>![KA>$MLIX:&PF"-0_E*^;_!GA/B)X3G?)3MRV, MDMY&9?&$P# %U>ZEO0TY=9/V\?0YBBPXKJV*1PS/W5-H7DL/#OWL5-2 MZ-JTY>LFELVU1Y*-+=<^R-H'-$/6V1@+YC,P!,'2P-[ N#33@&FG8!3RU/Q@4Q.$GI8J MOIYDK>LL;/P$__?G.'Z,MS+CI^UKQNX#_ZS!:8GRQ0ICY595;N'C"!WY9;POHA1-BL[_,()".S=Q/%O'*#6/MMIAFSLTJ1P6<2/E'W,X* G!$OA*9@!65)?O@7%! M^K7^P90Z T4"B\')8+$O#+@ILP8,!QP>:?2&4WF7&;@0"0UF ..(= MT-X2>[F%'C[L^F,4=[1+74@>K) :8_@69,$1[,DG4:3R/;!^H=DWK!&8<"(C M(=Q#,K,64V;YP\4+CC.C(_7XI]0DI"L*?2)I=\='XEOIA8EU1OM.%NQY!!NU MX0634=RAMDXR;+G.XL3DX8ENM#E!3 67*--:&YM#TKO]KBL\WMN5]U[PQ#O@ M9CFO-T+(MZRADG1W8[H[L2!D[=J6,X-7VH96;,P(TL]/Q1+KI_@4A-^I$X4W+0SQUL/F?N[5 M;+OP0RV/'3KT;,MM!2,XR?TW"8- M56?S$(19Q$=$LA$>O)D], ?]7J&-=L_*&UGF5T5Y8[PF-8WSQL$M? ]@B[6O MI6I]W5SUH_EB[6L.XHLE*E_3BO3&8<, MB',^9A26HVIE$K">U&P^4,"'3/ I$[:._C8%XW M# GH92"Z-$$/VX0XG!$BRR-\EN9TFFZ4G3Z=:<0^3 4"7!*8401+YV9Z+2U- MOQ7,^# -$MINE+62/\QX>#[A)!/D=Q,.]BH?S<.()*(1!SWDYELM^X1Q \G MR)",T!V13G:*5*;(OP0)G8)WUU=L>R+2.0,XW& M9?=,>@A=I#A&@NVN.#L!CC5+(@9JQ@%L_UED(HVD,3O6)YF;/IF.NCZD[>(O;I-1)!7]2F-DDC"T<%\=)(AEG&=$X YB^ M;N"@@YX.1>"30$\M#&Z0Q %$AW "+; M@YN2.U[P;R?PFW.0IC9M5F,[@5? 8$-/#9!.0 MDMTROII8 &H_P(%L"). >9F6KQ"!&$#--*V:G D_H=B?Q6QK< -%C"5..WIL M[O#+S3"/$D\79;M,1 (8,N:BG[L^?V4:TJ:O8V,SY]_V)2/49?3PU]7%>/P\'K=^9Y-0E+L) ;5Z$X9XS9^R M*,>YS$:62> $./F'4:'E4TW?XG-:E(CN3E"2PCZ1(D6OPQX*.!<\12*? 17: M(''H\"'D%AKU0]]D $R&<5CZ&N KN$HXF>#3$*]AF3H.BX;P(CJSU^DGE!TLM"!/RPV SPR<6<1)6&5/HC:#*RA%A@N(%A1 M\,3,8*!)&,AS^.J\KYSDF6V<.IA3MHNH-,0-J\HD>,*)/'2\RM+LQ&QL=II> M0ID+)[]&"^H@8KH250)SC:1_HP\&_D- <9A;5Y73$[<$F3MM&6260>92@\P" MD,'@YEF =0L[IYEZ?"XLBRZA_SP_ZG4^HS&U1-91R0AOQ@EEB2Q++29JO%)O M*[40T2REGPD7.2J7IQC[C8#=P=*PX;X,)A^WM/B2W"Q#0YJ&UD#QT7'7B:IB MYB^]8K"H(Q^%-(J"<$2'!U%+!&\?Z,Q(S74H.2 MO]+O \6CT<5<2NA]:K*>]I3,2=,A^'BZ$QI&XO"G"K;)OP%[@> MS=@^1_/(Q4!Q?ECH'C;CYVVYK104C)M9( AY"[9#F74,!A'Q<5^N_QC@"&F+ M)Q-3OS6&C7#M]"Z&M[?4R@K1X1/2 7].N@X"))WB2J^)8X\Q?V+KT6A=DB@@ M@@VOI)BCB&M0YJ5[L>UP3AQQXGL%@N%[L\B;[!Z]DI!1BKL$1\J- \^C7BJ% MCS^CPVJ!'284)]]])&C! Y (=38=<$/:TG7-YJGES.>.J77[8R* MZ7RW/>11TJC.LQ/"KHA#4^!P00SQ_"FM@U-/LGXV,#Z2B/>WBB>67]AXWXNA M@9-X-)LB"W8Y%)L"!\D/._QH32&$'6ZLIH#A@OCA^3;"4#,K8#AN \8?04@* MMQ%V7=?+/_8ZC!]W*2Y[D,3^9Q92;]GQ<_FW%V0<%BD$B[@G#'OED\ESF.5; M$&-10X$44G5H5(V"\*99=9AMHR#>C>U_B!5*.BJ-CH9:IU-]F&VE(Z6EF!DM M%:NVJ@X824S%$I,)Q-25Q%0-8C*K-:GP8&(Z 2$UZ18E0XL7(P3TSK%2H&O2 MZ5-E0V5K_>H5K=H-YI'E.]'+M&SU$CB],&HXTI%2\B!&VB/^EVB>7YH^W*<] M-&A#\B2]!-,]L*T)?G?-T$D@%!VG,\UG!9H4#9Q4V5X_O?&LYRYBL![+(*C6 M,,7CQDP.=74P[!2M"[$9A5_.R\9Q&;3=NQC:QL(-2=P; M?0UE(_EHXJZ!>_$V:;$HSE' %GBYYFX%>AJ,HCT-]2"%BI'5SM)=.T-O[_US$(7?UUJDH0?=4H]V3]%R]$HO2R?G,]1/%D'-7[>E= M201GH_A+R2[HJMWV4!)\79,+SB?A M+X3>^^I TGN-,P[.1_!5.]YQ]&Z 03.0]%[;+(2ST?NEY";T^@4&-F1>PJG/ M]IX/[RO8R5 /_#S7HU"=TL0SN!>J>]AC-7//*%PS7SS=FQ7H;G->)T-U#WND MCTW5^S)8>XQ[H;J4< )?0W4/>RS9&SV9F.ISZN+258&Z4NFU%$W&>NO2<%I_\D&=Z$YC> M">8XE[Z4)J4G[:=0^E&+5^N&H78ZA5_CFL@>&S(E2J>9$[#'AJ2)TH]:O/XW MU;8A"]M/EE91.L6<0G=(31(6,?EORQLGR M-4JGF!/PQH;4C=*/6GSR7KO (NQ+R.UX%5N T-Q8T..WIF6;2XA&^"3I]C"% MGY,N$)H^)-,U@TKSTT?%F:4IM%MVX 7A=4**PH#4U>7HJ[4>2=Q&1E=K)TY# MP*E/4I JUCP.E+;2QO>* T8IG-)=,,: '7C6+"+7R0^O"T#K%LC1/;0\:Q', MX^NQ^X,X(J#X<3A5Y'UHQ^ZKI_6Q<\>:!AV;!>=@A>QIT] \JRWQA4C#Q^YU M"$NQWW =V%0XM3SV"6_YRC_B35%=W_;F#JS^T]#0N@J\SP.BR74SH;^&RC<2 M3I6/@>6KBD]B)1@K;A3-:=:1'41QI"KPO.('"J @#)Z(HUA3(%%LD;*ZV%?R M&'B/^,&;D#ANK+RW;,JQBA7ATG=D%I/IB(2*T5<5HVUT-.6?1)E8CP2>B.93 M0E\UGL?SD/ WPFKPW5 )2=J42BN MUZ$O10BG8(^,8XKK/55[,3OF1,;>;O824\P%E/OQ=8M^LG0JW1".M;79^&=! M*-[ZV$**.#Z)HK3M>+%G2(*"QM(IE@X!&[LC1/EBA;%RJRJW0"2*KBJ?@I@H M/946(!OMU]M/1O5*;OZ82W%DZ*]5)FL)73!"A?=I!,/]C#OLDH;< =IL%L&5@D/? I(K>;OV#Z2-VDN0H M@P*.LH^)O>VX!QP2F?W&]S&4MGK OU,EAJN/W0B$J[) P4)\_.Y;8NXU\R"E3Y'O!OXC>L$>@-T/U/HKY%&&<*5U5F(7S9 MG<%VTD\50-&4KLKE&15)*E@-CP0 D%@.3%5_)POV/((.=R8:#^(N-4513L?R MF]B%LK9XV1G3_RU=1K;25-I"[BN 0;E[LF8%L_P*>V_=;R:VV.;?A\%4 5U" MD%SQOZKR!.H%-XT8#/)H5"+8OV(]A(23+UI(@4/HWQ!]Y ?86*C-X ]C;XYQ M8P?+^ZT?><3,-O4K'2W5NLA.XC>TLF V[] M* [G%(JYU1$-YY&8&KL6"_<]XR!>T!LP>>VXT0RLR&MJ'BR9G>;2Y;:M MF6@!;KS*YM9JV<3SEJW%7*I#LL*)IV88'<%*87S1T5>@0__]C[TNY@+T.& , M*FT>2&L4$NM[RQK#ZZ\M[\E:1(E':JB9F5F>;,VD_(I@_5D1?LYNZL)VIM:/ ME@"WG#W#OY9\%O*&E.S#%=_!BZ5UTWN%H6N]/,8[.C/Z3X&P);%E"HXO2YF$ M9/SKB[]\^_QFK4FYTZK_1J4-J!T M)QN\/D#_]A4^H?PG*'#\YLLE)"QA4U!>"2[7>H%.@A;!F65HF_1H7D=NFSUU M.P6#BKH8;OVQ1Z5\.HC*4ESGUQ?W]NP>N?=>O^\,]1<,1V6H3Y3F97@?UGGXX(O%Y50*+'08BRTENHS%IB[690P5)?B1_$\##QT6T!I\4'%9=" M%Y3":(%ZE,%74TJS0(YTWY:TU7].7(_!-0$I(A%A#X;"W(N9X9JA 9$W3G4S MH-!QF=7RQ-U98"'!,L2W 2,3X *PL]"?ALLD;V"K.,#"BRBY%T3SV0R0:4\L M^ "->_*ON3M#M:\IWR8I,<$J\'8WFL#J0(7.',EGC#8>0&<^QD2]D(01]2%$ M\Q%2Z9*I1M\-AD1(2PLUL+#0)^:XX[%KPWGQ: )[&<*3U%S#[;@IFR< MDAF8,V#6CL5M9XC.) '4 O) X6C.98/-M(+>GQ%9S?=K$>N0% M]O?<,=NIVJ<'1K%,M_I/0NDK !L'KY$>Q5+A+EU%'2G8HJZB% MQJZ!2*'HO^2/S>8A\ '@E]I*$66'/.^DS,$H"B@]$Z;0"! MD\BME)>M< &[A*LX7I%$N*!$LV.^:(9200A,K46.A>>@QZ:(.:XOYS%3C[;G M,K?"T\2U)_1K8')1/SR5AD !@&J'C$D(W L_ )?3MV;>#=P,'H3>X_#Z"L(@ M0+'KD_!A@;!W;92^"T89*&K(&*^8LP"-P!70\<.$Y)'XD=1V*EZP47_(EGUOO0:_X2R8[/G4?I#-^P0!]8 $ M09&-].$ZC%5AY4>J1YF?/Q4:ZHK,H8&G&!@/'O-(#%P7,44L.$?RCI0G-Y[0 MEW J5^+%C-ERR$M!"/=SZD7QN<*"903W&CS,U#L*"B1TNFU*_=?4;],""FBE M4E"%$[AQ:P0[=E3.Z:D U5*JX;)P]?OT*]D2@BUJ46ZP Q!=_\:@7T19^BD( MOZ.= -(%/37,!0%V D"+A@SIX2.0$RCO,H\?4^AL:4VYV1"K4!5]\',B*_([ M6;-S 6DF? V?6G<0!I5.ASTAJA?A$1MXS0I9)-#0?][GE<.=KVQO?>5*P(:[ M=$]KL6_FE3N0U!Q5D;#1Q-<$0OJ'.YU/T[]P2U151O,X^Y _%8F&@?._H <8 M;$$&>X1K!P]HT\,W,CW)#,Z)"Y]RSE$":K?"[3;B,GS.B'!J_6^ \=YUV\7W MHA7/E!5[*_EA$^+PK]+]:4HJI,(\BZS%%K6,"5(SR $''\6U@ ?0O8070]@( MDA ("%3\4Q)/ KB'4:K(!!#_&E7+^ T'3%,[9A8Q@GD><@ITJ/D4",&_F-;@ MY+Y@Q<(K->4/RU\DK+/A##Z&+D%PT>L(G <%&'Y%L)I(3GXDF$'@,W' G UP MEFB"?P#>3Z[$*E.Q8,]YP1.SY^AAW>@[)73$"=I-U$G)#Y8\Q &9G(>4Q0(W ME%)3AW=*U-P@3&X5"(JIY1#F?:7;=_%J K\R>X8&;RC,V04$SQG-X0] :]R0 M&8%D!7[[[@=/@+Q_HC5*P84/ /B3EV%H!'0'?2L %H,X="'\$8E2$-!\,Y2* MT,ZDFZ+N>.INB(%VX@70O6>Y4\9/H.?\AU31T?M7WKF 1J/'I#^&HA\M;\ZI M,>,&M*3I/0X4)7[12I:=H("S.5'SS1%T[]N$N?_1UN&>DRP2ER@+X.\'?+N@ M-6X39O<#OY5MC;TN4OZ%/OXQ332Q!'D4.-3R9B1JI?MF%CI D"(R.0.[\V)V M2QJ$XZ>AAC=?$^% V'O$Y9-K*?GA1C&[1[ OJ @;"VP.4#&(TW0A%F1CXH<9 M(O2-#$/PG3R"\NAF.A=>XR%2J42@[,G0,_=;E(.7D4SQR*Q'A]V!$KFC\MW0 M%R0^+D:2;-5DH[ -)MBX.+,BN,9$[/HR0@LZA>.&IAF1%-_3F/-*'!?]%NH1P^G]%S $^2)R!GQI;< M'*1RE2E#&ID#R"7/X95HE'/=X%^81Y&YF:BD89=!XX(2F*K%AD(O'* M![([$<'(%?A^2Z#:V1SXT@9#%ZY1+HGHGE"@T?P6O@ALE9Z.B:W4K,[N=<+> M %]^,'7ME,GA/7YDV5R!<7]/WO:;(;?&HCFM,AL3J()1%[R/!=,X7Y.$12[Z/-+''8@8 &71 $M.9]RE9Y::XP3*&Y4110A-'(I MT/02#$%N -?'Z%*SQ'/1,^0"?>_@XL_5J/(VP%,'NA,9(=P2(31D MA%!&"&6$\##7UL<@4FY 87NPWENT?*A=C4#^)UZG61(7WA3H3V_GWXGRCKGN MW@3A3&.^1"Z7T^ !SW7D5S5;%)^9O_-,ZG[3_3FOOY+;LPVB#;VWW&]"?24/ M<[ '@>!(8M53DS+]U$E\F9%%$T[_Q;):P-R[PX>S;U.K+KMF\E -2/U9X(O7 M4JJ:N#N<6@)4*3_25*X)MT/2+XL;93=UL*@ F1'+NL9GA9W2)U2J:)D/FN:J MICYG,#@M#Y51YDS&1P4C@OJ5Z"ZXY9.$;FC4:NZ-7<_+OU3%#64W9'ZA 07. M[B?LJLQMW6C][2C+/4\\!DG #GNW9E9O9Z%$>^JY8-^RX[-[ 1=L MU7#)OA5]&(*-E=XOD*O=B+J78!77XUX>H Q,;.)T'%E@3KG<+_1DX?TON[_2 MNVOJ3V$W-Y]?"ZBUD[R*!4ZYDY4&B31EY_XL+PH$IU@^K"FX4H+,RZPNA7A8 MX#.E3;ISBT923K1G\H-M=P\P"I?(*NYZ^[*53GBPHV[N!A,TE0W+N/8OX8I#=$!*G9<1Y,_ M+@_P%5TT< #*/_S5FLY>WX@*-!$A) ,Z\Z@G4H)%X& M\RPI]+B$%EJ=%,-X0T?SF65Z9.3$U01="30LN_&L$1:[),OIA,6QL?_0I9X0 MY2;#WA=0N.B'.V'8?W,D>8(F8?+O]C@%&[_UH)N:M_)+,H90 MI6/N'R;DT4H1"JGTN$*5KA.L8(,3)GW[# 4C]0&G9NT:7/*M =D!:,-%%CI[ M2J11:<;.-PQC"A<)/Q"L?!YKXKF:=L*EFX"1D0L':D M%UJ LJ,4C/403>O! M6%AWJ1Z,/9,4A;'?LC2"+W1H!(;<660K7S+73[3C/F]?6XVV[>WL-ZJ'Z7GG M5 ND[I&]X29+5[8YIDWIF):.:>F8WMU%9INI]970W!/!T+K#NE0K=(JVM):) M75^N/.>?)7O7VD(3("5)O=Y 1OQ:66IA_:GSS=\S?4(B4""SY (74OQA_!^L M,>X(7F>DA($//]N$%S0+GFA\&!=S4L,N31YC 8[FT]O MX=>/_+?[;L\P^T:A!:='N7XV-![!_2MPIU.>T]J@4&/FV,ADODU&TG.AG*L^ MAP[F*&,8)LE71IZB";9QVHD,^,;'OB@TTVQLN2%+ J59FME3="["V N>HBR4 MS4P&=O\7W =Q4LK)HO*9^>"F[2)8F0E+-MWX$(O%L-1(FC[ WX=>ZNQMRRU: MR _^E;1ERQ23V&B&6!:P3'\50GS,]YJLK2E+(+3B.'1'<^XW1Q_\5'@@ G/$ MI92Z[B@YH\P+0##0I$3:(:2D?/"-=2HT9]!A"*>9!_@#P@S0E51L_=0U-3WI MO(?(1/@PCUV(/OV(/LAF:6 N+"W'54:8P(=I%O:$V-^I?RS M3@5"X[N;I**N,->O<03=;>A:MZ858S?[!$W+[MFOVP>>[,L\Q,:><5*HL QV M5;G"8#Z]7H_877!7F[7E1FJ5:Y#V4A6[FF5%%LMG7VW?2%RJ\"R0MA%AU@H# MSYC6@'$=OKS.2X7O+:UZNR,V3:C[C#2/R$J.#]S#5N6PO/O\_FL2M5*3H- ; M%EO#S_7^:V#G&:]D8=J"2BA0(4159MX5DX,BWB^,A@]P*YMH5\* YH>P06LO- MVLBN.S4;0?4)[(B/A+=B^4JKZ/;!R.LD#.^HS"RC[T^":=EQ;,MGE4]"FF,; M#\ K#O#IM+(UJ&_S(9]S #$@.2Q;$I)D&,S 9+6KSN2PI=TQ(NMH<$RL<,4,"/]VB M)-E9UY"2TR,9OOZ\^GQ&.!<%[,H &Q$2.0"-2<\-- JMB)];.#;5 M]J%4IP64=B$K94;0$Z8C\T0+?"G(IA1(\&21$3/E?M2Z6LBI0C,&P); M)AJ,&G/C..%XN(3B)V]1JB#97[FP$/IEUJT487F5P^6:&SITT6C[JERRL:NE MES0DIFS$TJVQG^C4C.1[V@>T,NB+CR[ MV_'6AR^>Q?%KFB.]^.VS#X;A(S/4S';2R3;IHD%5.7H/EOP62SU)*>'_U 5N M2*\]6 U(<\T8:3$R2]=8^OH3LW7A[LOJ!VC9<.+ 42;$>6#-3=T?E![3NUY^ M3YB3MZPL18(6F(8)A35WO:5]9F=EI?CT=S=2.EJ__W,2GG)#I@&W-:N7,K]P MVOZ=5C[3PIIX(IH=VUH:;^S-C@7IV 9&:"0Q"X .TO90:=T\#4.B 9FC$NXP MB]S'M/)H&\< B]%RX:22>LY4"'7"\6\E"9-P,:?-L7[0-!Q0;#_IF2^+NHV$ MJQ<;XR#I[1DZ05\-X.4.59U3M/??M S@/BN VY4!7!G O= +B$C,C*'UGW/ M=LS[CC[LW@_&]O#>'A)B=-MM9V"/\P%<4)T=6L48>!'HV"]A8!,'(YWW?4,? MG"IRN[.C,<9E.QJ[WBC)_EAQ<[K#DT5>J]5A=SEZ@_=&6O/LI&%I5CF30&B6 M0HCZ.P0_WM>Y1[C'Q;1:>O>*O&2_TN #_%'1NRV'_4&X,U)7*[LLODLBG#>L M_:@^-#OT+=:4>8JO\ O<\RH^+'A@H_QVV?TQVW26X,ZN$;S7F,_[Y&(WV]Q< MCJR>>20F@8.I15/AJ:LFG[.?-,6%NX[KL6!S-!]-W9Q?,'=2WA8GI,Y.NM6( M-@:,YE,LIOTWSX]+*@C8_9^_D]Z:DUY6W-&9N57OWKU)W58A8"#*$(*'I%6H MN]"<^/C5]'+NN5,WYI5,F[[T+.BN@^<3H?#,P+D'"6'LUK;GT[F759L'T^G< M=],J,;2GLZHV,9@-?]E]*R6 O_#N\@FJSTWYB#D+Z,BPD5W2\HYP"T?\= M8(BUM,@]6<=<'N"'NS(2#EP1UG5I3?&2R8!*)0^>0Q3>KL:H6?8'ZP>6.@[6 M9%TB,I.^:TG@..N\F5%M-)]A=5V4E AF+TF#_4+YQ48BW41F @FND%,:ZDOO MJ/3*RU^U6_1O&0SX>]9F#.-Q*1C48_>*>^!!1KKDGCND@?/T>"J;[8;W\\"G M%AR6@859HXPUK3W3(YV-Z"K3='Q8< [XIT!HR9=Z/-).@8&G8'*!$$S+RM_2 M;H1"WS/>)A%G5H6),J9*E$:=>4^)2&RWS6K\4'>BXSG*"&$!VNP["L(X6'U> M/6ROA5+*?ABID,24^Y)9\F=RLO2DDT4Z62[4R=+7A^.Q-;+N[9XQO.\X_>[] MJ*UW[L?M\=#L&\9PY/1S3I8O-U^_W=Y^_O:W=U]O/[W__/6/FV^WGS_=Z[V^ M,32+'\:TCD?OIP=]\QAKH^K'8%@*XIRD?:/8-ZEP@21KG]()92=.VLN[1G/45S-YE* M1)T+Z>3)[-;!2N+!4,+)5P_YCB$D# ,V@2&8NE$DM%D(W2PV1KL@8RC?!@LK MHJR>YE!;#Q;FEV.6Q91_EW<7R#I2PWL)ZU?.+O5^TKXNVPMK?V!;(9V,(NPP MZ>* B1_\#J#FP,&[_L&-8PZ7AY&7-$G 8O<%\WY$;(8K[9F2@(]FABWX.?$+ MF/NP D="-/,[<0))7Z/;947J?I9FW>> MN":L!S(^0H+A6_'I$(,H[;J47X_FM5,*$JZSL'V?X'=HZEC:0V)-DB&F/3+' M&? 9#N*A-Y"LM( #6.Q9\I1TK*=W'G<2!$[61#*#/-Z=EMKQ"4#%R1%YH/($ MS/5PA2,(KTTY#]_@X=B(Q/M'NX&O R7M5#T-XA/YH$Y3]/P[H=VJ1:X.YC'V M%D\:Y"$5TPKHN3_#K"F;FMWLQBDXC["JB>J.6:8[^(@./AHBHEWJ:3>L=*#% M#Z'!.QW7)3;NHC5F28G48]JD!KDCQ)OPA%B/+IM\L;%S3M+8/_>>9.P!HZE5 MOD_:FF,ZPTAHPTC3AA;);)V-!)\,"4DHD0TQ82,N5LB&M>^GL\O$IS-J%4B4 MILPM\WY^.MTZ(18'#ZQA/I."><' &I:)TH"-$TB.PV"1&PN!&UOA(>R$SUN> M\P[I$39S]_DXP417S7U0)D@-3HY0,I#1PB7J[^5]T"E(*%9%K]C*$411NE'0 M(8NR[)3Q&LF7I PF8C15G.).,\1@7T7J0K4]746IFY_@97+$O1% P02@R,95&G1:S# M+D@YZWLZ+B\95Y':'\R5!8NR]O"X%,5")C"%#I]).UPQQ!(+;$ [R4J2 MDH8:-ZJRHX6&<&BL-#Z@O&A;75$)%L1!%'UOF[9A=8?#>V,TZ +-PN5_.!Z; M]VT@X:%)K(&MYR__",_[BE? &T#%?X)^>G CEBA\9WE,>[UC]E'.(7'O"M3'AMUF@8JG*AY'EAM)DUD\8OQ1@@)8%8I/!AA1*(M(O-5Y3UROUDZ+;U;-F$;E.?A!1@9#G7DITP]G,SY?S MW5GS.,@[[N@G.6?;JJ\ML\@3QUH<)AM+TE,9=F,G9=+U;FX!XWY \\\/4WOU_X\NU!O MZ%I[.^I?Q2%2\_,IES,HCQ/ILQ\*+?-5DA )_SMS9V_Z*W=M;_HS1B16_WA" MGJG>H<[A=]^K="<5U=N<\KRL<4XU$TA\JG>W?>&748A$N>.I.Z:TOG!%YJ3J M?#]N$05:HJT<%K3X?V,;JI<"@7U#IV-!B_]A+93_(=1EEQ?NSU_ZSS1',J7T MHN3:6H8ISK 2M*\-MU?0OI?+3#G6^:^Y3Q(_2X>FZ.OZ:^6_YB"WC![[= \! M-07KVB-+=MV985JR#**@,UX?#"QN(DE@[7F;E)#:AZP2BZ#AP+K@F_>)M '* M_?Z2-KB9/V [(VP;\1Q]<,&$IQNJT3X<,&>X'I<,F)_,OF;VCI+S%PR59PKU M)D%&FOC/%NJ)^.XLB?75>%9-+/TJNR+J=0VX#$B6?D>X##!6X0)1*TC*V\5I MG>V?O]U\W--#?O8+1VVAFEQ5]@+K2FZ"A.DZF":WG$-A*D-MFV&:2MO#^5^& MPPZ%*]5DKV@RV.FS8?<-P['O M1VUL9==S]/OAH./;*U90_QB_T/*_8Y/ 5]!P6'K_D S[ECT8W]L]V[[OF&WS?C 8 M=.Z'.B'V2.\ZW<'J!+S._1\ K#MK3.)%M>FN W2'>U789L7)=N4E\7_"4MAT MB$H5B.C DA#',*RA/;H?D_'POM/OD_N!TQ[=#[KM;G?0&>C6N+M",]W[SUB9 M>.N/@VJ33!=(AFY5NO3&\1R_W_;?@'G[JLU_^I^_\_H_WW__>>?>9_/WIRR!L??W0N7FAL%/] M^L+]@> (0('Z8\N+R O%MZ9P-&([U]@<4V^/NOI-&'X+IW[LO/>LAQ<4G9^L M,+QW#/_K<#$=??W3_9O^<=[_+T?_/OC'BQU3&UG/35BWI;-QC;G3E5544SZ( M;]B@Z248/PQ']NC_/7XVV].^.^C-_C2>_M^?3R^H[ED&W9G$"!4,V!WEC*CJ MR;;@)[A+#>1=2MZE2KU+Y<D(+YHJ_P=X)C!+4Y-@1J%'6!G!)SND^B=Y'>*CFLF )\ MDCL%#U-E.LX)ZGCR/!@(CGJMM[4N\\0 6#TU"N%50BC;<;O3 MLG@V2O)D.=1Z1DWI,@L=%\NDNV(>)XQ,X V-NH<26&M&=XNQQ27ZGIT'N<@N MJ)J$E0()(9"S28IB6/198%[/T8B]8[UD)V'K"Z=DY2V=_#S+^4V61,/N"/(N MS7P22%K8C8+4!L:-GQ M-6%4^EKKIZ4F#%V@/P>.KF]">X$3F M5\1YL,)7CA5;KW2SW^YTVZ^ M?5VI]_I#=L]^*G7&;RR#+T/-Y/!O\F/EGFO M:Y-XNDZ,'0BKG3?#]W18[ V?8$-GX1#:5\M1WB!ZQZQG'EP=;WT["&=!-E[B MGZ[G.;"]#V$PGZGX=TVY5,!RLB^['!#BRW#*<%XA1R2[&#V0+YEE@V-GT%YII3EJ+\ M SP]XP,6Z-3,B#6+]A]:V)!:P<'KJT8&'Q*"E@;N ;L:1_-1Y#JN%;(>W-B" M?!Y/ C8FC2XC-B(PB M$J\Q=W;LY%+9>G=O.5/7]/]S5%='*0$NV#I);C.=]M"@MQG]7->9M52:&1G< MM;)I$.5L'D9SRZ=R:FF@<>?*>HFMJ/2NPW\Y<(@Q2SO*O0*7[[]F+S';1B*2 M[JQP9/DD:GW^X9%%LA)8&X:VDE=P<3(')(KQ?Z0HD:)DLR@QSG57V2 W5H?4 M5EUN-. *8AI@B4C!(07'1L%AG,^EFA,.6M%5L*]>>-^#0WO/73U\06 M'ZZ%?8\[F"BXMCJ[LW?Y-L=:%L]791%9$&4?O;=^\EM3>'VM^2 ML>N[327VCS>_2V)O#K%_M$;$:R*=?_GZ3M)Y<^C\"YOZW% ;IB-)_8)(_0V6 MURE?<-#9>A_-%>L"P7(X%%?@##K<'G9FP2=TU&F2E@HB<8-?)FEA)U3I'0\) ML9Q;J/43ZN#IKT)]MJ8/R71GL?4^K0.$>L75Y>BKM1Y)*J:,KM9.>P;X@4]2 M"L$L30!O&58.K&R]%#G"RO]-KZU8@.$/Q*'A)OV%WK[T)$1+ER7RHN MBZ7@!,,0XY>HTF'= MXH@C:7-_VM1[]2/-&\]3(ANDT=SCN<6<(B/E"6AT.S5:+Z^Z+UE,>X4J-452 MSB%2K5,[TKGU'5HH F0#PL:'VP -YJ)UCS<"S+*B@L:/@"C\!V7FP5KPH16& MF%JU^=I[KI[5LHW:L]JH#64;M6Q=V49MB2?$IECU:TG=)>.NV;9Z]]VQW;WO MV(/1O34:&-CR=63W]>'8T?.-7N]N/WRZ^?;GUW=W_./3#P5@S=,$C&_K4)+M M[\S=?P?I_KX()@2S@O\U=T.J!ZAE?$=LQ$R23,>R=*^S:3V^V=[+:UP7"3=U(QM>XP$3WTQR66 MO*3&:04W9-WN'L[I>!!W9K5P<'27M/W//-#Z=3UR'2COD/C2$3+@1"&G514O MJI]60?8^IU(0W/CAKR^,%_M0;&>H;8Q9G15(FP% O_EHA2ZHQ^L(C#RO98-J M@L?^>?OQX]N;3\J'KY___)+4UWYZL\'[(^GF$NEFUP"J?2CI$%!)4CH-*1W7 M9+$\$?4J>J7L*:;>A'01,-C_KBGOK-!;2*IJCH#* 6 =*4@::!8-;)^XLJF. MCS5022K__AL^H\E9KD,=TJZ4)9*.!JHRJ M7;M-&8NL.SW^&/FBSO3:$^1BXSOH(9N8>'07. OXS MB:?>;_\?4$L#!!0 ( -N57UDE>Y+%RP@ /4J 8 =VQD;BTR,#(T M,#DR-WAE>#,Q9#$N:'1M[5IM<]I($OXK1-$)3%AKMS C,_?I[>D: P'9":LF&JTVJ@M&\]G0__72WAHN_M=O#(N-% M+!+V9OSN+4M47$U%85FL!;=HG4N;L;$J2UZP=T)KF>?L6LMD(ACK=3M/.[W3 M)YUNNWUY@;4&]215A.@,SGK!:??TG'6?A>?GX7F/?7S'CC^/!R=N^*L/@_%_ M/@[]OA\_7[\=#=A1.PA^.QL$P:OQ*]]QWNGVV%CSPD@K5<'S(!B^/V)'F;5E M& 3S^;PS/^LH/0G&GX+,3O/S(%?*B$YBDZ/+"VK!I^#)Y<546,[BC&LC[,NC MS^/7[><88:7-Q>5%L/SKQT8J65Q>)'+&C%WDXN71E.N)+-I6E>%9M[1]S S0 MO37FMCV7BR_F[).:\N)QR[?@KQ%: MIH_[;K21_Q58&@?,92':F?!R=GHO^E;Z?^"XD0 M;8@P]ZM$*D_0.;S-9"3MKX]Z3[O],RQ]$4109OEG"!X#VD+?D;RWF^3_' [& MHP_O:\F[IVPP_#0>O1X-KJB9?7C-!F]&P]=L^._AX/-X]*\AFM [_/2]3_CP M>48M]DX"\R)G5QUV+44D=(O%0EN9+IC-N V_IV ;+G#V%$.<,621P!!AV[4\ M+'ROXU7]QS]'+.,SP;2823$'0=E,&O9[Q370D"_07BIM05OLM=)3/Z77;?^# MJ93]!L9+0'Y_UZHJ6_5R1=SI'Z[>3O>@MVMN')&SZ8+=%&J>"U!^RRNN5E>B M<,A"(5;@-%P6C!<+5A565P):02!P@00JY&R*)RUYSE(>HTDS-9666>7'W1E0 MB%@8P_6"ADSYC<"^C34-VA((@RUSTAGM00-BJ1&], SQS$"21&@VSP!_9BKZ M6,^?"RWJ1>@ 4VE L:1Q'^^T,*6(G8"T;@G15()CSC M8=&BJ88#QL'9WOSG M030(ELH"^B;3K?7; A0P'-VZT2^+%-[%*5[A>YQ7"=:$#1O*;,'^DCRRA D( M/80J9!PK>-26,5M; X&)"X0M&E'E& !,*!C.;6>=97E<8"\-^9-(X5,$H4;AW*>=9\ MTN0DGT/#[C7MK\W6JOF*.B6X!;(8E2#B!]<'(L6=!*E:& MX=S%N.CB. 05"@1"S>$FE4A$9%SEG*@/QW)"K ,/9O@PUHR^^!8)&@AVPGR1 M'"0;U9"*]@"I33#M[,5W,+6[_^\,+H48GMN ':*!$A&'&=+$T* MD$D>R5S:!46A^[8E@#OK.\-Z;&X,;20RCE1OZP.5E49!"$-3U(QCI1,G@$MI M)J) ,,R!+_2(DH!+0Y"N>0P!X+($I1TRBN*]$=-PQO/*>2\I6J0I<@I4SP6R MSKNYP2KF[ M(+PF($^?%C]@ZR?[X!"OTKNFH=*ECNZNYU[[?P-S4)!1<5QI,D"#T>]9=:J, M13N]FL!:)L9"=67*CA^8D@))\.FMT;7@2'.%J[JH("NJE5PG7JJ,FU7X(S9P MR!.)HTFGCYK"%JBM;D1>EV!;XUM_6$4'BS:?/S_Y\?FS>V.1+ ';6OLMT4@3 M-&L7)K-_0V"\D^>LI./(=:S29A6+7 .6G*)NMT)\@20CA6A'_8F$?&Z18T + MG&2(\_"7,JZE/XC?*PGQ'?:K(G;%VLE?(SF^0EU+F86$W:DTH$HCE@)6JN/( M*DF="WY#@<%'=A<:7$[B7J0L:]QOLGV=3_H2[1Z'YPDF&K'R]P=Q4FAD$)I,-84>80AWF)IG[WT;<+!E$>'R2U,(LF*]/]V? MT-FAU5H,#PI>6;5L\'>2O&>AR22_E7)[? MWS+89-D^HPB *%Y?4%A5UBN>/^N<]WYIZ&JY=UC?5#0NB!J+DT'I'5>8R03H M7CVWYYJ7801OOVG/H;.O7CJM^GF$6K>RHD]W7]LG_A,P0IO0Z)7&4'=YVEF> M\>B2 -X]0^U" _=UU?)UL>3&'NY[*"TL&:/W^".ROHM >G'\96']:9/=(- Y M?_I_@(#=CQ8I:]5T>;KGG=Z/!+@7QF]\YZ1?.6%@-3GW?ASY>WC0Z;/MZ^?M MH.=:MIEX?0_:]+@'O*#=T.".3KDOY'\GE3VHCNM%N(/\]\&[CD^UJGKE+7-O M#MFCKOMW0&<,3,#>C09OKH9OW5WQ:'A--]?E3\C_)2'_0]3Q!0^BV'/([G/G M9Q8_7>>GZ_Q@USD@E7PQ5?ZHA9$$-/>J8)!)D;+AK8@K2MO8!_]F;)5*'Y;L M+LV/98GJ^8[()^OT?\4#@2M?E]GDH59/S8PW6Q6Q$8]O)EI514(%M]+ADH8; MOU#<[*B%.MT2LKM1?-<_@]PHOS?;5C^[+/E$M'V2SU/4V"&?*9G4J'_VPG%G M'3!\6]?E[_[GG.[WH9?_ U!+ P04 " #;E5]9*MR#!PX) #!-0 & M '=L9&XM,C R-# Y,C=X97@S,60R+FAT;>U;_U/;.!;_5W3I[!9FXC@AT'8= MR@P-89NY%C@NO9W]4;;E6(-L>24Y(??7WWN2G>^TM%TX:,,,22P]24_RY_.^ MR/+Q/SQOD*_D&/KJ5XUD'D"EW^WX!^V#0])^'1P>!H=MM^-EE?_3GU<"->_7IW8=AGS0\W_^CV_?]L]&9JSALM3MDI&BNN>$RI\+W M!Q<-TDB-*0+?GTZGK6FW)=78'UW[J[0H4WR<+@JEFUR@F*"& M3QCVOM1O)!A502A-VEL?8EO+HFZ7R-QX"/*R9Z4U_R^#KF&"@N?,2YG3L]7YK6?8K?&HX&,8#4M[;DD"$";XWSEP M/U"%<$6%J>LEE"*&RL%MRD-N?GW1>=7N=3NM@V,_A,4L'D/Q"*#-U+=J_N]! M?S2\O*@T;Q^0_N!Z-#P?]D^QF%R>D_[[X>" $,J[!^^'* MNU!$,5VPR"J(_1:@FHQAF@ Z6)1PMKP,.X!O!U#WN0*0*6D&)T!+\C4<;0)\!R"1]-@#1'ZUD JI 02!2(;^>(K\"FUX8& M4L4V[&JB1"E & N 8MV.&WUB:A.22+D5-<<4&S,M8%0UA"*A4YOT+*Y!&5= M*[.A[0[-V]%R^,31/%JY];^^>'/0>=W3%5ZK0 S-FTP2#I=[>M_B8DBH8A:! M@"B.MQB00IC&V\UUBBU0+ /KCA8>KV.N(R%U">W0[BLI'!0+)2'!@V)-]@!Y M,0,H.W@-;B$?RB&7.P63>ET*IJO0H4N]SM$><*HX3X"YZLCXOQYY*C1&- MM13:AC_6(TC-0"$#'@@;%11Q6 I,[ A,RRJQB(R@A8NSEL-#^!4R% 1? ^U9 M_%"^Y:=A4_BLV'1O"[Y!JOO;_GMS"_@XX3%2AFJ96\!1#73#5 %Y1%5<8QI8 MQFG(!3*0\;.[)X8;I?EY5RO?:=5 M2O4\]D-/8*G'8NLB[7I4[FM&!+]AHMH@6Y-O?O<2/23=GCN+CG[4K0"[]Q_7 M'&PN;#&ZAF4>+,PR(ODKXKR-O&6N'87)Y_*B FAY7E M 'GK-UZ^"?94:NXVV+>:; MQM!0L[GUOI,B54X"30#G@,FF"[8T1%JZS&#.L$9V,I77W+I-O0ND?H)$_!3B MI42!"6T"^)@U_ !?^Z2KPGG3A1L\GT@Q81ASY'1RDHCM2C\\>8.K!?=A]61/>X'_ZE@/ MEBP=TK%DK$>M9^N >#?O9,VOP]>MPZ-?EE9FG6Q+\U_J'&\H/GT*4A['+)]? M>TC=( 1S=^--806^>/AH7D]#+45I6*\&\^H4'QP1. A*KXSC6D(E;B@Y*US/ MN'&"<&]W>\<^BKH#..[,5O7Y>]#BEMAG)>1%V_[]GR?E M:Y]LFJ )1'?@6P.=09[O1>!"0+1_/1C^_GYT>6$/W9U>?_ASXT;N,/S$,?RH M\UTE )K!IX;^S7.D.RSOL/Q-8<6CS)BO!HKX.^ &=(T0S"EG"3F?)SR7;L?- MYNB#6Q:5&*V0_T 9N5),>5%GZIHY3V?]7>("CIFGDN7:&*8"NA$\KA"R^O?6MUY/."*VC87= M3OX'4$L#!!0 ( -N57UG2'*UN) < )HR 8 =VQD;BTR,#(T,#DR M-WAE>#,R9#$N:'1M[5M[<]HX$/\J.CIMDQG\ IJ'H9E)*&TSES1I0J[3/V5+ MQIH:RY5%@/OTMY)L,.1H'FV:I"$S!)!6J]W5;U[\95F]-,9I2 GZV#\^ M0H2'HR%-)0H%Q1):QTS&J,^S#*?HF K!D@0="$8&%"'/M;=LK_'&=BUKKP.\ MNL4@GOK0Z30]I^$V6LC=]ELMO^6ATV.T<='O;FKR=R?=_M?3GIGW].+@Z+"+ M:I;C?&EV'>==_YWI:-FNA_H"ISF3C*IQJJQ5)FON.,QV-[W+2Y&#C] M,R>6PZ3E))SGU":2U/8ZJ@7^4TSV.D,J,0IC+'(JW]8N^N^M':"03"9TK^.4 M[X8VX&2ZUR'L$N5RFM"WM2$6 Y9:DF=^T\UD&T8ZT+U$,['&C,C8]USW93O# MA+!T8"4TDM!B-W;G;8(-XGDC-\KY@B98LDNJN%?XA@G%P@^XC-O+4_S?R*P< M%_%46A$>LF3JO^ZS(MW6U#G[EP)K4#!A*;5B M:N2TO=VVI!-IX80-8#;5VC8F\8$8J9?7,!^4",&""&/#)> )@<[>)&8!DZ]> M>%MNN]FPO8X3@#&SWR%X"-"FHB+Y=<)VJ9 L8B%65D8\0MV8T0CU)C0<*7NC MDPAZJ4 X)47?>Y:"0S&RZ&1DG/M3XK M7;Y -"00&#\(/LKJIN\P#6VTH7B\>K'3:+CM+A]"\)SJ;UY[$T51BI]U!':/6%)&8VU;P)\ UP<[*>3U)A#74HC) M,-F0Y;D&:ZHI"41D%%-!0=ZJ6$:O4JHZ.F; @B9HWT8'C,+\>MI307.F[%@! M^%7P%PM>:%HWM$(O"$CQMXUZ&/34#%?YB-&B9/P/M%7F7N9/<1AKG8(I"HV' MTKR.LM5^5H6H]CDE"RZPG/T,ENO0CV5=C56$ $BK%ZVNG@/VK/8Z9I)::@?H@FL#0M)+G/7EHL9W"GB;YT%?^V*[LL&;N M#6]3&VQ)K<!P]&86D/KYM!J/ %HL12VBJ') M/&"/DA@8$6C5*"EQAYG>02!4*HC553>&%!V&@3 07Z$C \SE=3TJFL5=8$AT MZJ@C+U"-$H-0#KN1GC-?"KOV"M#I+-@@KS"7 : 5\B3!64[]\D/5,@H/A5%4 M3JOT P5*0^B4&8\D+QM,OJQ;%M)J=PZK@D:U5#+D&M(0A21:9SX:\J6F;-0:; M77L0F/7C(.?)2-)VB9BJQO<,W%)713VS&,LAIT^8G)8ZUO94:N$VVQU'$=YK MNK=:KLI(Z+RAE.9<5_S_<=R;(\-N;3T!8-Q)M1W;>PJ@OZ*;CE*+&]S=/?L^ MH-O87KXC )+JV<72+3K33'P=2_G?P&V,5N M56['V00!S!A!+US]]X@4='(''1]V/^[WCO0Q[;!WT#M;VI77>'\V>']H/R!YL,5U6GWTF0>X0>F]T ]AQV/UE^'>7?>-4 M,#CN9G#>O2+RYDSF=1!8!X%G'P1.0LEA5RQ^E?/,+P]_LGMN*+/^GIA'1/6,6'Y>@&MN%DH:TG,K[?/ MK'SA%M6J?556&"[4).,PU/4YJEZL4ACT4S6-.ACGL2HD2KFL(SH):2;+$D<0 M5UT'%Z5M! 73:TLD XH(I4,@-G6LQ9"BLDB7Q(+ &<^IKCI:J-;@R;*M8F :4"#/!+]D MJD"WL$(INS+56#T5$:AJOZ)(:TD_11.-1,KR>,[@)B6\ C&9*TFC"(TR:%&B MTES:5PI5XEE54X##;P/!1RE1%5A<^&7V7'F,8+&C &-C"9QEOKWP ,-"/=9B MV^S9B P/J&4J/' DJ?#Q)6>D"$W;NWIW*_)\T^;J^@WSS(5^B&/O/U!+ 0(4 M Q0 ( -N57UE?ILW;FQ, -7& 1 " 0 !W;&1N M+3(P,C0P.3(W+GAS9%!+ 0(4 Q0 ( -N57UE(+&4BIQ0 'PP 0 5 M "

&UL4$L! A0#% @ VY5?69EH^D(U<@ #H$' !4 M ( ! %4 '=L9&XM,C R-# Y,C=?;&%B+GAM;%!+ 0(4 Q0 ( M -N57UDWEC)2\$X *J!0 5 " 6C' !W;&1N+3(P,C0P M.3(W7W!R92YX;6Q02P$"% ,4 " #;E5]9@S6#$P"U @ @"2< %0 M @ &+%@$ =VQD;BTR,#(T,#DR-W@Q,'$N:'1M4$L! A0#% @ MVY5?625[DL7+" ]2H !@ ( !OLL# '=L9&XM,C R-# Y M,C=X97@S,60Q+FAT;5!+ 0(4 Q0 ( -N57UDJW(,'#@D ,$U 8 M " ;_4 P!W;&1N+3(P,C0P.3(W>&5X,S%D,BYH=&U02P$"% ,4 M " #;E5]9TARM;B0' ":,@ & @ $#W@, =VQD;BTR H,#(T,#DR-WAE>#,R9#$N:'1M4$L%!@ ) D 8 ( %WE P $! end XML 92 wldn-20240927x10q_htm.xml IDEA: XBRL DOCUMENT 0001370450 srt:MaximumMember 2023-12-30 2024-09-27 0001370450 wldn:DefinedContributionPlanMember 2024-09-27 0001370450 wldn:CreditAgreement2023Member us-gaap:NotesPayableToBanksMember 2024-09-27 0001370450 us-gaap:CostOfSalesMember 2023-12-30 2024-09-27 0001370450 us-gaap:CommonStockMember 2024-03-30 2024-06-28 0001370450 us-gaap:RetainedEarningsMember 2024-09-27 0001370450 us-gaap:AdditionalPaidInCapitalMember 2024-09-27 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-09-27 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-09-27 0001370450 us-gaap:RetainedEarningsMember 2024-06-28 0001370450 us-gaap:AdditionalPaidInCapitalMember 2024-06-28 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-28 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-06-28 0001370450 2024-06-28 0001370450 us-gaap:RetainedEarningsMember 2024-03-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2024-03-29 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-29 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-03-29 0001370450 2024-03-29 0001370450 us-gaap:RetainedEarningsMember 2023-12-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-12-29 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-29 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-12-29 0001370450 us-gaap:RetainedEarningsMember 2023-09-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-09-29 0001370450 us-gaap:RetainedEarningsMember 2023-06-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001370450 2023-06-30 0001370450 us-gaap:RetainedEarningsMember 2023-03-31 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001370450 2023-03-31 0001370450 us-gaap:RetainedEarningsMember 2022-12-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-12-30 0001370450 us-gaap:CommonStockMember 2024-06-29 2024-09-27 0001370450 us-gaap:CommonStockMember 2023-07-01 2023-09-29 0001370450 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001370450 us-gaap:CommonStockMember 2022-12-31 2023-03-31 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 wldn:CommercialMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 country:US wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 country:US wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 wldn:UnitBasedContractMember 2024-06-29 2024-09-27 0001370450 wldn:PublicUtilityMember 2024-06-29 2024-09-27 0001370450 wldn:GovernmentsMember 2024-06-29 2024-09-27 0001370450 wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 wldn:CommercialMember 2024-06-29 2024-09-27 0001370450 us-gaap:TimeAndMaterialsContractMember 2024-06-29 2024-09-27 0001370450 us-gaap:FixedPriceContractMember 2024-06-29 2024-09-27 0001370450 country:US 2024-06-29 2024-09-27 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 wldn:CommercialMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 country:US wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 country:US wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 wldn:UnitBasedContractMember 2023-12-30 2024-09-27 0001370450 wldn:PublicUtilityMember 2023-12-30 2024-09-27 0001370450 wldn:GovernmentsMember 2023-12-30 2024-09-27 0001370450 wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 wldn:CommercialMember 2023-12-30 2024-09-27 0001370450 us-gaap:TimeAndMaterialsContractMember 2023-12-30 2024-09-27 0001370450 us-gaap:FixedPriceContractMember 2023-12-30 2024-09-27 0001370450 country:US 2023-12-30 2024-09-27 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 wldn:CommercialMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 country:US wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 country:US wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 wldn:UnitBasedContractMember 2023-07-01 2023-09-29 0001370450 wldn:PublicUtilityMember 2023-07-01 2023-09-29 0001370450 wldn:GovernmentsMember 2023-07-01 2023-09-29 0001370450 wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 wldn:CommercialMember 2023-07-01 2023-09-29 0001370450 us-gaap:TimeAndMaterialsContractMember 2023-07-01 2023-09-29 0001370450 us-gaap:FixedPriceContractMember 2023-07-01 2023-09-29 0001370450 country:US 2023-07-01 2023-09-29 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 wldn:CommercialMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 country:US wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 country:US wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:UnitBasedContractMember 2022-12-31 2023-09-29 0001370450 wldn:PublicUtilityMember 2022-12-31 2023-09-29 0001370450 wldn:GovernmentsMember 2022-12-31 2023-09-29 0001370450 wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:CommercialMember 2022-12-31 2023-09-29 0001370450 us-gaap:TimeAndMaterialsContractMember 2022-12-31 2023-09-29 0001370450 us-gaap:FixedPriceContractMember 2022-12-31 2023-09-29 0001370450 country:US 2022-12-31 2023-09-29 0001370450 wldn:ComputerHardwareAndSoftwareMember 2024-09-27 0001370450 wldn:AutomobilesTrucksAndFieldEquipmentMember 2024-09-27 0001370450 us-gaap:LeaseholdImprovementsMember 2024-09-27 0001370450 us-gaap:FurnitureAndFixturesMember 2024-09-27 0001370450 wldn:ComputerHardwareAndSoftwareMember 2023-12-29 0001370450 wldn:AutomobilesTrucksAndFieldEquipmentMember 2023-12-29 0001370450 us-gaap:LeaseholdImprovementsMember 2023-12-29 0001370450 us-gaap:FurnitureAndFixturesMember 2023-12-29 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-29 2024-09-27 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-06-29 2024-09-27 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-30 2024-06-28 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-03-30 2024-06-28 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-30 2024-03-29 0001370450 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-12-30 2024-03-29 0001370450 us-gaap:RetainedEarningsMember 2024-06-29 2024-09-27 0001370450 us-gaap:RetainedEarningsMember 2024-03-30 2024-06-28 0001370450 us-gaap:RetainedEarningsMember 2023-12-30 2024-03-29 0001370450 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-29 0001370450 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001370450 us-gaap:RetainedEarningsMember 2022-12-31 2023-03-31 0001370450 srt:MinimumMember 2024-09-27 0001370450 srt:MaximumMember 2024-09-27 0001370450 us-gaap:CorporateNonSegmentMember 2024-06-29 2024-09-27 0001370450 us-gaap:CorporateNonSegmentMember 2023-12-30 2024-09-27 0001370450 us-gaap:CorporateNonSegmentMember 2023-07-01 2023-09-29 0001370450 us-gaap:CorporateNonSegmentMember 2022-12-31 2023-09-29 0001370450 wldn:EngineeringConsultingServicesMember 2024-09-27 0001370450 wldn:EnergyMember 2024-09-27 0001370450 wldn:EngineeringConsultingServicesMember 2023-12-29 0001370450 wldn:EnergyMember 2023-12-29 0001370450 2024-09-28 2024-12-27 0001370450 srt:MinimumMember 2023-12-30 2024-12-27 0001370450 srt:MaximumMember 2023-12-30 2024-12-27 0001370450 2023-12-30 2024-12-27 0001370450 srt:MinimumMember 2023-12-30 2024-03-29 0001370450 srt:MaximumMember 2023-12-30 2024-03-29 0001370450 2023-09-30 2023-12-29 0001370450 srt:MinimumMember 2022-12-31 2023-12-29 0001370450 srt:MaximumMember 2022-12-31 2023-12-29 0001370450 srt:MinimumMember 2022-12-31 2023-03-31 0001370450 srt:MaximumMember 2022-12-31 2023-03-31 0001370450 srt:MinimumMember us-gaap:TradeNamesMember 2024-09-27 0001370450 srt:MinimumMember us-gaap:NoncompeteAgreementsMember 2024-09-27 0001370450 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2024-09-27 0001370450 srt:MaximumMember us-gaap:TradeNamesMember 2024-09-27 0001370450 srt:MaximumMember us-gaap:NoncompeteAgreementsMember 2024-09-27 0001370450 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2024-09-27 0001370450 us-gaap:TradeNamesMember 2024-09-27 0001370450 us-gaap:OrderOrProductionBacklogMember 2024-09-27 0001370450 us-gaap:NoncompeteAgreementsMember 2024-09-27 0001370450 us-gaap:DevelopedTechnologyRightsMember 2024-09-27 0001370450 us-gaap:CustomerRelationshipsMember 2024-09-27 0001370450 us-gaap:TradeNamesMember 2023-12-29 0001370450 us-gaap:OrderOrProductionBacklogMember 2023-12-29 0001370450 us-gaap:NoncompeteAgreementsMember 2023-12-29 0001370450 us-gaap:DevelopedTechnologyRightsMember 2023-12-29 0001370450 us-gaap:CustomerRelationshipsMember 2023-12-29 0001370450 2022-12-31 2023-12-29 0001370450 us-gaap:InterestRateSwapMember us-gaap:CashFlowHedgingMember 2023-11-30 2023-11-30 0001370450 us-gaap:InterestRateSwapMember us-gaap:CashFlowHedgingMember 2023-11-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2024-06-29 2024-09-27 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2023-12-30 2024-09-27 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2023-12-30 2024-09-27 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2023-07-01 2023-09-29 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-09-29 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:QualifiedCashOrDeferredArrangementMember 2023-12-30 2024-09-27 0001370450 wldn:DefinedContributionPlanMember 2023-12-30 2024-09-27 0001370450 wldn:DefinedContributionPlanMember 2022-12-31 2023-09-29 0001370450 wldn:TermLoanMember us-gaap:NotesPayableToBanksMember 2024-09-27 0001370450 wldn:OtherDebtMember us-gaap:NotesPayableOtherPayablesMember 2024-09-27 0001370450 wldn:TermLoanMember us-gaap:NotesPayableToBanksMember 2023-12-29 0001370450 wldn:OtherDebtMember us-gaap:NotesPayableOtherPayablesMember 2023-12-29 0001370450 wldn:SouthernCaliforniaEdisonAndClarkCountySchoolDistrictMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2024-06-29 2024-09-27 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2024-06-29 2024-09-27 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2024-06-29 2024-09-27 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2024-06-29 2024-09-27 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-12-30 2024-09-27 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2023-12-30 2024-09-27 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2023-12-30 2024-09-27 0001370450 wldn:PuebloCountySchoolDistrictAndDormitoryAuthorityStateOfNewYorkMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2023-07-01 2023-09-29 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-29 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-29 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2023-07-01 2023-09-29 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerAndDormitoryAuthorityStateOfNewYorkMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2022-12-31 2023-09-29 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-12-31 2023-09-29 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-12-31 2023-09-29 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-12-31 2023-09-29 0001370450 us-gaap:CommonStockMember 2024-09-27 0001370450 us-gaap:CommonStockMember 2024-06-28 0001370450 us-gaap:CommonStockMember 2024-03-29 0001370450 us-gaap:CommonStockMember 2023-12-29 0001370450 us-gaap:CommonStockMember 2023-09-29 0001370450 us-gaap:CommonStockMember 2023-06-30 0001370450 us-gaap:CommonStockMember 2023-03-31 0001370450 us-gaap:CommonStockMember 2022-12-30 0001370450 us-gaap:AccountingStandardsUpdate202309Member 2024-09-27 0001370450 us-gaap:AccountingStandardsUpdate202307Member 2024-09-27 0001370450 us-gaap:AccountingStandardsUpdate202306Member 2024-09-27 0001370450 2022-12-30 0001370450 2022-12-31 2023-09-29 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2024-09-27 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2024-09-27 0001370450 us-gaap:IntersegmentEliminationMember 2024-09-27 0001370450 us-gaap:CorporateNonSegmentMember 2024-09-27 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2023-09-29 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2023-09-29 0001370450 us-gaap:IntersegmentEliminationMember 2023-09-29 0001370450 us-gaap:CorporateNonSegmentMember 2023-09-29 0001370450 2023-09-29 0001370450 wldn:EnicaEngineeringPllcMember us-gaap:SubsequentEventMember 2024-10-23 0001370450 wldn:EnicaEngineeringPllcMember us-gaap:SubsequentEventMember 2024-10-23 2024-10-23 0001370450 us-gaap:StockCompensationPlanMember 2023-12-30 2024-09-27 0001370450 us-gaap:StockCompensationPlanMember 2023-07-01 2023-09-29 0001370450 us-gaap:StockCompensationPlanMember 2022-12-31 2023-09-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2024-06-29 2024-09-27 0001370450 us-gaap:AdditionalPaidInCapitalMember 2024-03-30 2024-06-28 0001370450 2024-03-30 2024-06-28 0001370450 us-gaap:CommonStockMember 2023-12-30 2024-03-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-12-30 2024-03-29 0001370450 2023-12-30 2024-03-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-29 0001370450 2023-07-01 2023-09-29 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001370450 2023-04-01 2023-06-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 2023-03-31 0001370450 2022-12-31 2023-03-31 0001370450 2024-09-27 0001370450 2023-12-29 0001370450 2024-06-29 2024-09-27 0001370450 2024-10-30 0001370450 2023-12-30 2024-09-27 shares iso4217:USD iso4217:USD shares pure wldn:segment wldn:state wldn:Y wldn:entity 0001370450 Q3 false http://fasb.org/us-gaap/2024#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization http://fasb.org/us-gaap/2024#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization P1Y http://fasb.org/us-gaap/2024#QualifiedPlanMember http://fasb.org/us-gaap/2024#RestrictedCashCurrent http://fasb.org/us-gaap/2024#RestrictedCashCurrent http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent 10-Q true 2024-09-27 false 001-33076 WILLDAN GROUP, INC. DE 14-1951112 2401 East Katella Avenue Suite 300 Anaheim CA 92806 800 424-9144 Common Stock, par value $0.01 per share WLDN NASDAQ Yes Yes Accelerated Filer false false false 14124865 53106000 23397000 0 0 1465000 866000 63109000 69677000 104236000 93885000 2359000 1169000 5329000 3888000 228139000 192016000 28955000 27097000 131144000 131144000 14366000 12465000 26541000 31956000 3447000 4949000 14661000 15961000 447253000 415588000 38007000 33193000 58521000 54129000 15202000 13183000 10137000 8452000 1175000 1186000 5509000 4537000 128551000 114680000 81757000 88979000 1453000 1184000 10593000 9758000 938000 1142000 223292000 215743000 0.01 0.01 10000000 10000000 0 0 0 0 0.01 0.01 40000000 40000000 14117000 14117000 13682000 13682000 141000 137000 195168000 185795000 -807000 -664000 29459000 14577000 223961000 199845000 447253000 415588000 158252000 132738000 421737000 354418000 24088000 21856000 69247000 63568000 82563000 67454000 204667000 165508000 106651000 89310000 273914000 229076000 51601000 43428000 147823000 125342000 25876000 23805000 78449000 68606000 2381000 2303000 7231000 7200000 2020000 1244000 5355000 4064000 3716000 4190000 10937000 12518000 8934000 8049000 25368000 22629000 42927000 39591000 127340000 115017000 8674000 3837000 20483000 10325000 -1934000 -2437000 -6031000 -7110000 763000 879000 2293000 1392000 -1171000 -1558000 -3738000 -5718000 7503000 2279000 16745000 4607000 157000 713000 1863000 1712000 7346000 1566000 14882000 2895000 -678000 -143000 6668000 1566000 14739000 2895000 0.53 0.12 1.08 0.22 0.51 0.11 1.05 0.21 13930000 13462000 13753000 13357000 14358000 13709000 14130000 13563000 13682000 137000 185795000 -664000 14577000 199845000 86000 1000 1401000 1402000 19000 281000 281000 32000 1000 778000 779000 62000 1000 -1000 1390000 1390000 2942000 2942000 434000 434000 13817000 138000 188088000 -230000 17519000 205515000 86000 1000 855000 856000 6000 6000 13000 1945000 1945000 4594000 4594000 101000 101000 13916000 139000 190882000 -129000 22113000 213005000 78000 1000 1435000 1436000 92000 1000 1287000 1288000 12000 456000 456000 43000 2020000 2020000 7346000 7346000 -678000 -678000 14117000 141000 195168000 -807000 29459000 223961000 13296000 133000 177718000 3651000 181502000 92000 1000 1391000 1392000 7000 124000 124000 108000 1000 -1000 1533000 1533000 932000 932000 13489000 135000 180517000 4583000 185235000 2000 7000 7000 4000 64000 64000 17000 1287000 1287000 397000 397000 13504000 135000 181747000 4980000 186862000 91000 1000 1386000 1387000 9000 31000 31000 1000 17000 17000 44000 1244000 1244000 1566000 1566000 13647000 136000 184391000 6546000 191073000 14882000 2895000 10937000 12518000 -459000 -511000 1300000 1196000 13000 63000 806000 194000 5355000 4064000 -5762000 6335000 10351000 -4530000 1190000 -3306000 1441000 -1175000 -1456000 4993000 4814000 3922000 3910000 -2658000 2019000 2821000 94000 -1029000 38611000 24112000 6074000 7583000 29000 68000 1600000 -6045000 -9115000 4000000 10679000 190000 1463000 1114000 105000000 5625000 111000000 1064000 951000 2425000 38000 2838000 2779000 1241000 205000 -2857000 -21595000 29709000 -6598000 23397000 19485000 53106000 12887000 5301000 8025000 1203000 -3154000 1322000 652000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND OPERATIONS OF THE COMPAN</b><b style="font-weight:bold;">Y</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Willdan Group, Inc. (“Willdan” or the “Company”) is a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, the Company helps organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions and government infrastructure. Through engineering, program management, policy advisory, and software and data management, the Company designs and delivers trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company’s broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of the Company’s strategy to design and deliver trusted, comprehensive, innovative, and proven solutions for its customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, <i style="font-style:italic;">Organization and Operations of the Company</i>, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;">Fiscal Years</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2024, which ends on December 27, 2024, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2023, which ended on December 29, 2023, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Use of Estimates</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Reclassifications</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Certain prior year amounts have been reclassified in the condensed consolidated financial statements to conform to the current year presentation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2 2 2 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, <i style="font-style:italic;">Organization and Operations of the Company</i>, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 29, 2023. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;">Fiscal Years</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2024, which ends on December 27, 2024, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2023, which ended on December 29, 2023, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.</p> P364D P364D P371D P371D P91D P91D P91D P91D P91D P98D P98D 2024 --12-27 P364D P91D P91D P91D P91D P364D P91D P91D P91D P91D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Use of Estimates</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Reclassifications</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Certain prior year amounts have been reclassified in the condensed consolidated financial statements to conform to the current year presentation.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2.</b><span style="font-style:italic;font-weight:bold;"> </span><b style="font-weight:bold;">RECENT ACCOUNTING PRONOUNCEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Accounting Pronouncements Recently Issued</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”). ASU 2023-09 amends the rules on income tax disclosures to require entities to disclose specific categories in the rate reconciliation, the income or loss from continuing operations before income tax expense or benefit (separated between domestic and foreign) and income tax expense or benefit from continuing operations (separated by federal, state, and foreign). In addition, ASU 2023-09 requires entities to disclose their income tax payments to international, federal, state, and local jurisdictions, among other changes. The amendments can be applied on a prospective basis although retrospective application is permitted. The amendments are effective for the annual reporting periods beginning after December 15, 2024, with early adoption permitted. The Company is currently </span><span style="font-size:10pt;">evaluating</span><span style="font-size:10pt;"> the impact this update will have on its Consolidated Financial Statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” (“ASU 2023-07”). ASU 2023-07 expands segment disclosure requirements through enhanced disclosures related to significant segment expenses that are regularly provided to the chief operating decision maker (“CODM”), a description of other segment items by reportable segment, and any additional measures of a segment’s profit or loss used by the CODM when deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The amendments are effective for the fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently </span><span style="font-size:10pt;">evaluating</span><span style="font-size:10pt;"> the impact this update will have on its Consolidated Financial Statements. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">In October 2023, the FASB issued ASU No. 2023-06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023-06”). ASU 2023-06 amends U.S. GAAP to reflect updates and simplifications to certain disclosure and presentation requirements referred to FASB by the SEC. The targeted amendments incorporate 14 of the 27 disclosures referred by the SEC into codification. Each amendment in ASU 2023-06 is effective on either the date on which the SEC’s removal of the related disclosure requirement from Regulation S-X or Regulation S-K becomes effective, or on June 30, 2027, if the SEC has not removed the requirements by that date. The Company does </span><span style="font-size:10pt;">not</span><span style="font-size:10pt;"> believe the amendments in ASU 2023-06 will have a material impact in any of the Company’s current disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt 0pt 10pt 0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Accounting Pronouncements Recently Issued</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”). ASU 2023-09 amends the rules on income tax disclosures to require entities to disclose specific categories in the rate reconciliation, the income or loss from continuing operations before income tax expense or benefit (separated between domestic and foreign) and income tax expense or benefit from continuing operations (separated by federal, state, and foreign). In addition, ASU 2023-09 requires entities to disclose their income tax payments to international, federal, state, and local jurisdictions, among other changes. The amendments can be applied on a prospective basis although retrospective application is permitted. The amendments are effective for the annual reporting periods beginning after December 15, 2024, with early adoption permitted. The Company is currently </span><span style="font-size:10pt;">evaluating</span><span style="font-size:10pt;"> the impact this update will have on its Consolidated Financial Statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:10pt;">In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” (“ASU 2023-07”). ASU 2023-07 expands segment disclosure requirements through enhanced disclosures related to significant segment expenses that are regularly provided to the chief operating decision maker (“CODM”), a description of other segment items by reportable segment, and any additional measures of a segment’s profit or loss used by the CODM when deciding how to allocate resources. All disclosure requirements under ASU 2023-07 are also required for public entities with a single reportable segment. The amendments are effective for the fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company is currently </span><span style="font-size:10pt;">evaluating</span><span style="font-size:10pt;"> the impact this update will have on its Consolidated Financial Statements. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;">  </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">In October 2023, the FASB issued ASU No. 2023-06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023-06”). ASU 2023-06 amends U.S. GAAP to reflect updates and simplifications to certain disclosure and presentation requirements referred to FASB by the SEC. The targeted amendments incorporate 14 of the 27 disclosures referred by the SEC into codification. Each amendment in ASU 2023-06 is effective on either the date on which the SEC’s removal of the related disclosure requirement from Regulation S-X or Regulation S-K becomes effective, or on June 30, 2027, if the SEC has not removed the requirements by that date. The Company does </span><span style="font-size:10pt;">not</span><span style="font-size:10pt;"> believe the amendments in ASU 2023-06 will have a material impact in any of the Company’s current disclosures.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> false false false <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">3. REVENUES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition Method</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Energy</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Software license</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:10pt 0pt 12pt 0pt;">Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and, usually, are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, which usually is the life of the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying condensed consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of September 27, 2024 and December 29, 2023, contract assets included retainage of approximately $18.9 million and $14.3 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">3. REVENUES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition Method</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Energy</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Software license</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:10pt 0pt 12pt 0pt;">Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and, usually, are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, which usually is the life of the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying condensed consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of September 27, 2024 and December 29, 2023, contract assets included retainage of approximately $18.9 million and $14.3 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 2 2 2 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition Method</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Energy</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Software license</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 0.020 0.030 0 0 0 18900000 14300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:8pt;margin:0pt;"><b style="font-weight:bold;">4. SUPPLEMENTAL FINANCIAL STATEMENT DATA </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:8pt;text-indent:18pt;background:#ffffff;margin:0pt;"><i style="font-style:italic;">Restricted Cash</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt 0pt 8pt 0pt;">The following table provides a reconciliation of cash and cash equivalents, and restricted cash reported within the condensed consolidated balance sheets to the total cash, cash equivalents, and restricted cash shown in the consolidated statements of cash flows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:42.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 53,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 23,397</p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_5TTUzMUMBEy71vBqnC--mA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 53,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 23,397</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Under certain utility contracts, the Company periodically receives cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. The Company acts solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, the Company classifies these contractually </span>restricted<span style="background:#ffffff;"> funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on the Company’s working capital or operating cash flows, these cash receipts are presented in the condensed consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Equipment and Leasehold Improvements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,379</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer hardware and software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 50,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 44,594</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,382</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment under finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,139</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Automobiles, trucks, and field equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,373</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 68,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 61,867</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (39,687)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (34,770)</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27,097</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Included in accumulated depreciation and amortization is $1.1 million and $1.3 million of amortization expense related to equipment held under finance leases for the nine months ended September 27, 2024 and for fiscal year 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Accrued Liabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued subcontractor costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 32,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 30,196</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,423</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employee withholdings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,123</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Compensation and payroll taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,125</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rebate and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 139</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued accounting costs and taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,123</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 58,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 54,129</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><i style="font-style:italic;">Goodwill</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions / </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchase Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Reporting Unit:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 129,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 129,375</p></td></tr><tr><td style="vertical-align:bottom;width:48.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,769</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,769</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 131,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 131,144</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company tests its goodwill at least annually for possible impairment. The Company completes its annual testing of goodwill as of the last day of the first month of its fourth fiscal quarter each year to determine whether there is a potential impairment. In addition to the Company’s annual test, it regularly evaluates whether events and circumstances have occurred that may indicate a potential impairment of goodwill. The Company evaluated the current economic environment and noted that it does not believe it is more likely than not that goodwill was impaired as of September 27, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Intangible Assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in years)</i></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finite:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Backlog</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,095</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,074</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 6.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,613</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,613</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 5.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 35,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 31,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 99,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 73,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 99,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 67,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:42.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 53,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 23,397</p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_5TTUzMUMBEy71vBqnC--mA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:53.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 53,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 23,397</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 53106000 23397000 0 0 53106000 23397000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,379</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer hardware and software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 50,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 44,594</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,382</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment under finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,139</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Automobiles, trucks, and field equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,373</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 68,642</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 61,867</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (39,687)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (34,770)</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27,097</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 4501000 4379000 50070000 44594000 3551000 3382000 6969000 6139000 3551000 3373000 68642000 61867000 39687000 34770000 28955000 27097000 1100000 1300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued subcontractor costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 32,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 30,196</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,423</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employee withholdings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,123</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Compensation and payroll taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,125</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rebate and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 139</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued accounting costs and taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,123</p></td></tr><tr><td style="vertical-align:bottom;width:52.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 58,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 54,129</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 32122000 30196000 13331000 14423000 4079000 3123000 4705000 3125000 139000 4284000 3123000 58521000 54129000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions / </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchase Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Reporting Unit:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 129,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 129,375</p></td></tr><tr><td style="vertical-align:bottom;width:48.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,769</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,769</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 131,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 131,144</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 129375000 129375000 1769000 1769000 131144000 131144000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in years)</i></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finite:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Backlog</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,095</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,074</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 6.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,613</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,613</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 5.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,121</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 35,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 31,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 99,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 73,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 99,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 67,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 8306000 8306000 8306000 8095000 P1Y 15936000 13074000 15936000 12695000 P2Y6M P6Y 1613000 1476000 1613000 1440000 P4Y P5Y 15810000 15121000 15810000 14521000 P8Y 58149000 35296000 58149000 31107000 P5Y P8Y 99814000 73273000 99814000 67858000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;margin:0pt;"><b style="font-weight:bold;">5. DERIVATIVE FINANCIAL INSTRUMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;background:#ffffff;margin:0pt;">The Company uses certain interest rate derivative contracts to hedge interest rate exposures on its variable rate debt. The Company’s hedging program is not designated for trading or speculative purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt 0pt 12pt 0pt;">The Company recognizes derivative instruments as either assets or liabilities on the accompanying condensed consolidated balance sheets at fair value. The Company records changes in the fair value (i.e., gains or losses) of the derivatives that have been designated as cash flow hedges in its consolidated balance sheets as accumulated other comprehensive income (loss), and in its consolidated statements of comprehensive income (loss) as unrealized gain or loss on derivative contracts. All related cash flows are reported in the operating activities section of the consolidated statements of cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">On November 30, 2023, the Company entered into an interest rate swap agreement that the Company designated as cash flow hedge to fix the variable interest rate on a portion of the Company’s term loan (see Note 6, <i style="font-style:italic;">“Debt Obligations” </i>for information regarding our indebtedness). The interest rate swap agreement has a total notional amount of $50.0 million, has a fixed annual interest rate of 4.77%, and expires on September 29, 2026. As of September 27, 2024, the effective portion of the Company’s interest rate swap agreement designated as a cash flow hedge before tax effects was $(0.8) million, of which no amounts were reclassified from accumulated other comprehensive income (loss) to interest expense<span style="background:#ffffff;"> in the three nor nine months ended September 27, 2024</span>. The Company expects to reclassify $0.4 million from accumulated other comprehensive income (loss) to interest expense within the next twelve months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The fair values of the Company’s outstanding derivatives designated as hedging instruments were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value of Derivative</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Instruments as of</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 29, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:28.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Interest rate swap agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_EsG08bm2CkKJ1JiC4p-H7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 46</p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Interest rate swap agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_yr0AYKg8JkOvb7ETUYvgYg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (339)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Interest rate swap agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_WbXDk_CbvEe1R0R8QkpIhg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other noncurrent liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (683)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (887)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;background:#ffffff;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="font-size:9pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;background:#ffffff;margin:0pt;">The impact of the effective portions of derivative instruments in cash flow hedging relationships and fair value relationships on other comprehensive income (loss) were $(0.7) million and $(0.1) million for the three and nine months ended September 27, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt 0pt 12pt 0pt;">The accumulated balances and reporting period activities for the periods below related to reclassifications out of accumulated other comprehensive income (loss) are summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:19.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain (Loss) on</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:21.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:19.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivative Instruments</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:21.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive Income (Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:42.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at December 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(664)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(664)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other comprehensive income (loss) before reclassifications</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 549</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">549 </p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts reclassified from accumulated other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax benefit (expense) related to derivative instruments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(115)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(115)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net current-period other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 434</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 434</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at March 29, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(230)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(230)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other comprehensive income (loss) before reclassifications</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 127</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">127 </p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts reclassified from accumulated other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax benefit (expense) related to derivative instruments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(26)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(26)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net current-period other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 101</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 101</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at June 28, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(129)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(129)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other comprehensive income (loss) before reclassifications</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (858)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(858)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts reclassified from accumulated other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax benefit (expense) related to derivative instruments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">180 </p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">180 </p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net current-period other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (678)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (678)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(807)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(807)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p> 2023-11-30 50000000.0 0.0477 2026-09-29 -800000 0 400000 P12M <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value of Derivative</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Instruments as of</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 29, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:28.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Interest rate swap agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_EsG08bm2CkKJ1JiC4p-H7Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 46</p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Interest rate swap agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_yr0AYKg8JkOvb7ETUYvgYg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (339)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:42.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Interest rate swap agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_WbXDk_CbvEe1R0R8QkpIhg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other noncurrent liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (683)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (887)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;background:#ffffff;margin:0pt;"> </p> 46000 339000 683000 887000 -700000 -100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:19.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain (Loss) on</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:21.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:19.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Derivative Instruments</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:middle;white-space:nowrap;width:21.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive Income (Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:42.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at December 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(664)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(664)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other comprehensive income (loss) before reclassifications</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 549</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">549 </p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts reclassified from accumulated other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax benefit (expense) related to derivative instruments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(115)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(115)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net current-period other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 434</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 434</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at March 29, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(230)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(230)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other comprehensive income (loss) before reclassifications</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 127</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">127 </p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts reclassified from accumulated other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax benefit (expense) related to derivative instruments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(26)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(26)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net current-period other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 101</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 101</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at June 28, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(129)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(129)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other comprehensive income (loss) before reclassifications</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (858)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(858)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts reclassified from accumulated other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax benefit (expense) related to derivative instruments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">180 </p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">180 </p></td></tr><tr><td style="vertical-align:middle;width:55.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net current-period other comprehensive income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (678)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (678)</p></td></tr><tr><td style="vertical-align:middle;width:55.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balances at September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:17.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(807)</p></td><td style="vertical-align:middle;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:middle;white-space:nowrap;width:19.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(807)</p></td></tr></table> -664000 -664000 549000 549000 115000 115000 434000 434000 -230000 -230000 127000 127000 26000 26000 101000 101000 -129000 -129000 -858000 -858000 -180000 -180000 -678000 -678000 -807000 -807000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">6. DEBT OBLIGATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Debt obligations, excluding obligations under finance leases (see Note 7, “<i style="font-style:italic;">Leases”,</i> below), consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:26.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Term Loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 92,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 98,125</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Revolving Credit Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other debt agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 327</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 92,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 98,452</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Issuance costs and debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (743)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,021)</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Subtotal</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 91,894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 97,431</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">Less current portion of long-term debt</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,452</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Long-term debt portion</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 81,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 88,979</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The credit agreement governing the Company’s Term Loan and Revolving Credit Facility require the Company to comply with certain financial obligations, including a maximum Net Leverage Ratio and a minimum Fixed Charge Coverage Ratio (as defined in the credit agreement governing the Term Loan and Revolving Credit Facility). The credit agreement also contains customary restrictive covenants. As of September 27, 2024, the Company was in compliance with all these covenants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In addition, as of September 27, 2024, <span style="background:#ffffff;">the Company’s composite interest rate, exclusive of the effects of upfront fees, undrawn fees and issuance cost amortization, was </span><span style="background:#ffffff;">7.2%</span><span style="background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="color:#212529;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:26.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Term Loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 92,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 98,125</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Revolving Credit Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other debt agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 327</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 92,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 98,452</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Issuance costs and debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (743)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,021)</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Subtotal</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 91,894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 97,431</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">Less current portion of long-term debt</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,452</p></td></tr><tr><td style="vertical-align:bottom;width:71.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Long-term debt portion</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 81,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 88,979</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 92500000 98125000 137000 327000 92637000 98452000 743000 1021000 91894000 97431000 10137000 8452000 81757000 88979000 0.072 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">7. LEASES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company leases certain office facilities under long-term, non-cancellable operating leases that expire at various dates through 2029. In addition, the Company is obligated under finance leases for certain furniture and office equipment that expire at various dates through 2029.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;">From time to time, the Company enters into non-cancelable leases for some of its facility and equipment needs. These leases allow the Company to conserve cash by paying a monthly lease rental fee for the use of facilities and equipment rather than purchasing them. The Company’s leases typically have remaining terms ranging from </span><span style="-sec-ix-hidden:Hidden_NuAAD2hJ-kGEgRc8jY55RQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">eight years</span><span style="font-size:10pt;">, some of which may include options to </span><span style="font-size:10pt;">extend</span><span style="font-size:10pt;"> the leases for up to </span><span style="font-size:10pt;">five years</span><span style="font-size:10pt;">, and some of which may include options to </span><span style="font-size:10pt;">terminate</span><span style="font-size:10pt;"> the leases within </span><span style="font-size:10pt;">one year</span><span style="font-size:10pt;">. Currently, all of the Company’s leases contain fixed payment terms. The Company may decide to cancel or terminate a lease before the end of its term, in which case the Company is typically liable to the lessor for the remaining lease payments under the term of the lease. Additionally, all of the Company’s month-to-month leases are cancelable by the Company or the lessor, at any time, and are not included in the Company’s right-of-use asset or lease liability. As of September 27, 2024, the Company had </span><span style="font-size:10pt;">no</span><span style="font-size:10pt;"> leases with residual value guarantees. Typically, the Company has purchase options on the equipment underlying its long-term leases. The Company may exercise some of these purchase options when the need for equipment is on-going and the purchase option price is attractive. Nonperformance-related default covenants, cross-default provisions, subjective default provisions and material adverse change clauses contained in material lease agreements, if any, are also evaluated to determine whether those clauses affect lease classification in accordance with ASC Topic 842-10-25. Leases are accounted for as operating or financing leases, depending on the terms of the lease.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Financing Leases</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company leases certain equipment under financing leases. The economic substance of the leases is a financing transaction for acquisition of equipment and leasehold improvements. Accordingly, the right-of-use assets for these leases are included in the balance sheets in equipment and leasehold improvements, net of accumulated depreciation, with a corresponding amount recorded in current portion of financing lease obligations or noncurrent portion of financing lease obligations, as appropriate. The financing lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The interest associated with financing lease obligations is included in interest expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Right-of-use assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Operating leases are included in right-of-use assets, and current portion of lease liability and noncurrent portion of lease liability, as appropriate. Right-of-use assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Company’s leases do not provide an implicit rate to calculate present value, the Company determines this rate by estimating the Company’s incremental borrowing rate at the lease commencement date. The right-of-use asset also includes any lease payments made and initial direct costs incurred at lease commencement and excludes lease incentives. The Company’s lease terms may include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of the Company’s lease expense:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,464</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,579</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,621</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sublease Income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (42)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30)</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">392</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,114</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 969</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 74</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,634</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of lease information presented on the Company’s consolidated balance sheet:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating leases:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,537</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,295</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance leases (included in equipment and leasehold improvements, net):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,458)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,837)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="-sec-ix-hidden:Hidden_nfB21VcXV0GxmED_nYfUJA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total equipment and leasehold improvements, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,184</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3.43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2.49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">6.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">6.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">6.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">5.19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Rent expense was $1.7 million and $5.2 million for the three and nine months ended September 27, 2024, respectively, as compared to $1.7 million and $5.1 million for the three and nine months ended September 29, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of other information and supplemental cash flow information related to finance and operating leases: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,318</p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74</p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 951</p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,316</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of the maturities of lease liabilities as of September 27, 2024:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:25.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Fiscal year:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Remainder of 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 438</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 6,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 5,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,673</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2029 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 18,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,954)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (226)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 16,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 5,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 10,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:9pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The imputed interest for finance lease obligations represents the interest component of finance leases that will be recognized as interest expense in future periods. The financing component for operating lease obligations represents the effect of discounting the operating lease payments to their present value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p> P8Y true P5Y true P1Y 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,464</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,579</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,621</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sublease Income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (42)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30)</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">392</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,114</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 969</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 74</p></td></tr><tr><td style="vertical-align:bottom;width:37.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,763</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,634</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 1522000 1464000 4579000 4621000 14000 30000 42000 30000 392000 340000 1114000 969000 46000 28000 112000 74000 1946000 1802000 5763000 5634000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating leases:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,537</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,295</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance leases (included in equipment and leasehold improvements, net):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,458)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,837)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="-sec-ix-hidden:Hidden_nfB21VcXV0GxmED_nYfUJA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total equipment and leasehold improvements, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,184</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3.43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2.49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">6.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">6.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">6.68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;">5.19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 14366000 12465000 5509000 4537000 10593000 9758000 16102000 14295000 6969000 6139000 4458000 3837000 2511000 2302000 1175000 1186000 1453000 1184000 2628000 2370000 P3Y18D P3Y5M4D P2Y5M26D P2Y3M21D 0.0691 0.0609 0.0668 0.0519 1700000 5200000 1700000 5100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,318</p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74</p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 951</p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,316</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 4707000 4318000 112000 74000 1064000 951000 5757000 4316000 <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:25.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Fiscal year:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Remainder of 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 438</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 6,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 5,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,673</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2029 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 18,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,954)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (226)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 16,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 5,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 10,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:25.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Fiscal year:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Remainder of 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 438</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 6,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 5,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,673</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2029 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 18,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,954)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (226)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 16,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 2,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 5,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 10,593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.5pt 0.05pt 0pt;"> 1,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 1588000 438000 6278000 1158000 5100000 824000 2667000 313000 1673000 94000 750000 27000 18056000 2854000 1954000 226000 16102000 2628000 5509000 1175000 10593000 1453000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">8. COMMITMENTS AND VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;">Employee Benefit Plans</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company has a qualified profit sharing plan pursuant to Code Section 401(a) and <span style="-sec-ix-hidden:Hidden_jKPs-OvMEUCheOUT_PJiGQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">qualified</span></span> cash or deferred arrangement pursuant to Code Section 401(k) covering all employees. Employees may elect to contribute up to 50% of their compensation limited to the amount allowed by tax laws. Company contributions are made solely at the discretion of the Company’s board of directors. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company’s defined contribution plan (the “Plan”) covers employees who have completed three months of service and who have attained 21 years of age. The Company elects to make matching contributions equal to 50% of the participants’ contributions to the Plan, up to 6% of the individual participant’s compensation, and subject to a maximum of $3,000 per employee. Under the Plan, the Company may make discretionary contributions to employee accounts. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the nine months ended September 27, 2024 and September 29, 2023, the Company made matching contributions of $2.1 million and <span style="background:#ffffff;">$1.9</span><span style="background:#ffffff;"> million, respectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><i style="font-style:italic;">Variable Interest Entities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">On March 4, 2016, the Company and the Company’s wholly-owned subsidiary, Willdan Energy Solutions, Inc. (“WES”), acquired substantially all of the assets of Genesys Engineering, P.C. (“Genesys”) and assumed certain specified liabilities of Genesys (collectively, the “Purchase”) pursuant to an Asset Purchase and Merger Agreement, dated as of February 26, 2016 (the “Agreement”), by and among Willdan Group, Inc., WES, WESGEN (as defined below), Genesys and Ronald W. Mineo (“Mineo”) and Robert J. Braun (“Braun” and, together with Mineo, the “Genesys Shareholders”). On March 5, 2016, pursuant to the terms of the Agreement, WESGEN, Inc., a non-affiliated corporation (“WESGEN”), merged (the “Merger” and, together with the Purchase, the “Acquisition”) with Genesys, with Genesys remaining as the surviving corporation. Genesys was acquired to strengthen the Company’s power engineering capability in the northeastern U.S., and also to increase client exposure and experience with universities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Genesys continues to be a professional corporation organized under the laws of the State of New York, wholly-owned by one or more licensed engineers. Pursuant to New York law, the Company does not own capital stock of Genesys. The Company has entered into an agreement with the Shareholder of Genesys pursuant to which the Shareholder will be prohibited from selling, transferring or encumbering the Shareholder’s ownership interest in Genesys without the Company’s consent. Notwithstanding the Company’s rights regarding the transfer of Genesys’s stock, the Company does not have control over the professional decision making of Genesys’s engineering services. The Company has entered into an administrative services agreement with Genesys pursuant to which WES will provide Genesys with ongoing administrative, operational and other non-professional support services. Genesys pays WES a service fee, which consists of all of the costs incurred by WES to provide the administrative services to Genesys plus ten percent of such costs, as well as any other costs that relate to professional service supplies and personnel costs. As a result of the administrative services agreement, the Company absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The Company manages Genesys and has the power to direct the activities that most significantly impact Genesys’s performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, the Company is the primary beneficiary of Genesys and consolidates Genesys as a variable interest entity (“VIE”). In addition, the Company concluded there is no noncontrolling interest related to the consolidation of Genesys because the Company determined that (i) the shareholder of Genesys does not have more than a nominal amount of equity investment at risk, (ii) WES absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES and the Company has, since entering into the administrative services agreement, had to continuously defer service fees for Genesys, and (iii) the Company believes Genesys will continue to have a shortfall on payment of its service fees for the foreseeable future, leaving no expected residual returns for the shareholder. As of September 27, 2024, the Company had one VIE — Genesys.</p> 0.50 P3M 21 0.50 0.06 3000 2100000 1900000 0.10 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;"> 9. SEGMENT AND GEOGRAPHICAL INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Segment Information</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company’s two<span style="white-space:pre-wrap;"> segments are Energy, and Engineering and Consulting, and the Company’s chief operating decision maker, which continues to be its chief executive officer, receives and reviews financial information in this format. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no intersegment sales during the three and nine months ended September 27, 2024 and September 29, 2023. The Company’s chief operating decision maker evaluates the performance of each segment based upon income or loss from operations before income taxes. Certain segment asset information including expenditures for long-lived assets has not been presented as it is not reported to or reviewed by the chief operating decision maker. In addition, enterprise-wide service line contract revenue is not included as it is impracticable to report this information for each group of similar services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Financial information with respect to the reportable segments and reconciliation to the amounts reported in the Company’s Condensed Consolidated Financial Statements is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unallocated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&amp; Consulting</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Corporate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intersegment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:55.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158,252</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,337</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,716</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,934</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,934</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,176</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,953)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,503</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (25)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,202</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,194</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,346</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 447,253</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended September 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 111,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,738</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,190</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,435</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,437</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,388)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,279</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (867)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 713</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,522)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,566</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 401,620</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Nine Months Ended September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 421,737</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,937</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,031</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,031</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (8,749)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,745</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,863</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (7,776)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,882</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 447,253</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Nine Months Ended September 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 354,418</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,518</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,110</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (10,239)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,607</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,806)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,712</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,433)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,895</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 401,620</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment assets are presented net of intercompany receivables.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 11pt 0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following tables provide information about disaggregated revenue by contract type, client type and geographical region: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended September 27, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">7,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">17,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">25,720</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">52,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">4,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">57,480</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">73,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">1,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">75,052</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">134,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">24,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">158,252</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">7,964</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">1,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">9,932</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">61,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">22,155</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">83,270</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">64,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">65,050</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">134,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">24,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">158,252</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">134,036</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">24,216</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 158,252</p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine months ended September 27, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">25,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">51,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">76,383</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">147,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">14,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">161,397</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">180,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">3,535</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">183,957</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">352,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">69,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">421,737</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">23,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">5,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">29,139</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">148,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">63,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">212,017</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">180,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">180,581</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">352,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">69,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">421,737</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 352,634</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 69,103</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 421,737</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended September 29, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">9,382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">16,629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">26,011</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">42,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">4,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">46,301</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">59,529</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">60,426</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">111,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">132,738</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">7,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">1,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">9,036</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">52,410</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">20,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">72,464</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">51,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">51,238</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">111,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">132,738</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">111,030</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,708</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 132,738</p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine months ended September 29, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">26,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">47,626</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">73,664</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">126,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">11,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">138,562</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">139,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">2,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">142,192</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">292,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">62,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">354,418</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,607</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">4,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">25,735</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">119,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">57,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">176,787</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">151,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">201</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">151,896</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">292,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">62,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">354,418</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 292,330</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 62,088</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 354,418</p></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Amounts may not add to the totals due to rounding.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Includes the portion of revenue related to small business programs paid by the end user/customer.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Revenue from the Company’s foreign operations were not material for the three and nine months ended September 27, 2024 and September 29, 2023. </i></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"> <i style="font-style:italic;">Geographical Information</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Substantially all of the Company’s consolidated revenue was derived from its operations in the U.S. The Company operates through a network of offices spread across 22 U.S. states, the District of Columbia, the Commonwealth of Puerto Rico, and Canada. Revenues from the Company’s Puerto Rican and Canadian operations were not material for the three and nine months ended September 27, 2024, nor for the three and nine months ended September 29, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Customer Concentration</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">For the three and nine months ended September 27, 2024, the Company’s top 10 customers accounted for 49.1%, and 49.5%, respectively, of the Company’s consolidated contract revenue. <span style="background:#ffffff;">For the three and nine months ended September 29, 2023, the Company’s top 10 customers accounted for </span><span style="background:#ffffff;">52.9%</span><span style="background:#ffffff;">, and </span><span style="background:#ffffff;">50.6%</span><span style="background:#ffffff;">, respectively, of the Company’s consolidated contract revenue.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">For the three and nine months ended September 27, 2024 and September 29, 2023, the Company had no individual customers that accounted for more than 10% of its consolidated contract revenue<span style="background:#ffffff;">.</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">On a segment basis, the Company reports customers that accounted for more than 10% of its segment contract revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;"><span style="color:#212529;">For the three months ended September 27, 2024, the Company derived </span><span style="color:#212529;">22.1%</span><span style="color:#212529;"> of its Energy segment revenues from two customers, </span><span style="color:#212529;background:#ffffff;">Southern California Edison and Clark County School District.</span> F<span style="background:#ffffff;">or the nine months ended September 27, 2024, no single customer accounted for 10% or more of the Company’s Energy segment revenues.</span> <span style="background:#ffffff;">For the three and nine months ended September 27, 2024, no single customer accounted for 10% or more of the Company’s Engineering and Consulting segment revenues.</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;margin:12pt 0pt 0pt 0pt;"><span style="color:#212529;background:#ffffff;">For the three months ended September 29, 2023, the Company derived </span><span style="color:#212529;background:#ffffff;">21.7%</span><span style="color:#212529;background:#ffffff;"> of its Energy segment revenues from two customers, Pueblo County School District and Dormitory Authority State of New York (“DASNY”). For the nine months ended September 29, 2023, the Company derived </span><span style="color:#212529;background:#ffffff;">22.7%</span><span style="color:#212529;background:#ffffff;"> of its Energy Segment revenues from two customers, </span>the Los Angeles Department of Water and Power (“<span style="color:#212529;background:#ffffff;">LADWP”) and DASNY. For the three and nine months ended September 29, 2023, no single customer accounted for 10% or more of the Company’s Engineering and Consulting segment revenues.  </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:2pt 0pt 0pt 0pt;">On a geographical basis, the Company’s largest clients are based in California and New York. For the three and nine months ended September 27, 2024, services provided to clients in California accounted for 42.2% and 43.3%, respectively, of the Company’s consolidated contract revenue, and services provided to clients in New York accounted for 21.0% and 23.7%, respectively, of the Company’s consolidated contract revenue. For the three and nine months ended September 29, 2023, services provided to clients in California accounted for 42.8% and 42.2%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 23.6% and 24.7%, respectively, of the Company’s contract revenue.  <span style="font-size:12pt;"> </span></p> 2 2 2 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unallocated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&amp; Consulting</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Corporate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intersegment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:55.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158,252</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,337</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,716</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,934</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,934</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,176</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,953)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,503</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (25)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,202</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,194</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,346</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 447,253</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended September 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 111,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,738</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,190</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,435</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,437</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,388)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,279</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (867)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 713</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,522)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,566</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 401,620</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Nine Months Ended September 27, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 421,737</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,937</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,031</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,031</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (8,749)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,745</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,863</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (7,776)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,882</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348,617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 447,253</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Nine Months Ended September 29, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 354,418</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,518</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,110</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (10,239)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,607</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,806)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,712</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,888</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,433)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,895</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,901</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,427</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 401,620</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment assets are presented net of intercompany receivables.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 134036000 24216000 158252000 3337000 379000 3716000 -1934000 -1934000 6176000 4280000 -2953000 7503000 -25000 85000 97000 157000 6202000 4194000 -3050000 7346000 348617000 29523000 92243000 -23130000 447253000 111030000 21708000 132738000 3854000 336000 4190000 -2000 -2435000 -2437000 2814000 2853000 -3388000 2279000 852000 728000 -867000 713000 1961000 2127000 -2522000 1566000 340422000 26901000 57427000 -23130000 401620000 352634000 69103000 421737000 9800000 1137000 10937000 -6031000 -6031000 15886000 9608000 -8749000 16745000 1767000 1069000 -973000 1863000 14119000 8539000 -7776000 14882000 348617000 29523000 92243000 -23130000 447253000 292330000 62088000 354418000 11655000 863000 12518000 -5000 -7105000 -7110000 6188000 8658000 -10239000 4607000 2300000 3218000 -3806000 1712000 3888000 5440000 -6433000 2895000 340422000 26901000 57427000 -23130000 401620000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended September 27, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">7,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">17,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">25,720</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">52,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">4,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">57,480</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">73,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">1,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">75,052</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">134,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">24,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">158,252</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">7,964</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">1,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">9,932</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">61,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">22,155</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">83,270</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">64,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">65,050</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">134,036</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">24,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">158,252</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">134,036</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">24,216</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 158,252</p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine months ended September 27, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">25,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">51,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">76,383</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">147,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">14,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">161,397</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">180,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">3,535</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">183,957</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">352,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">69,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">421,737</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">23,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">5,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">29,139</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">148,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">63,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">212,017</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">180,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">180,581</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">352,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">69,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">421,737</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 352,634</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 69,103</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 421,737</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended September 29, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">9,382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">16,629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">26,011</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">42,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">4,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">46,301</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">59,529</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">60,426</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">111,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">132,738</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">7,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">1,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">9,036</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">52,410</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">20,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">72,464</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">51,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">51,238</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">111,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">132,738</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">111,030</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,708</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 132,738</p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine months ended September 29, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">26,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">47,626</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">73,664</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">126,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">11,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">138,562</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">139,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">2,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">142,192</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">292,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">62,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">354,418</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">21,607</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">4,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">25,735</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">119,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">57,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">176,787</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">151,695</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">201</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">151,896</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">292,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">62,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;">354,418</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 292,330</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 62,088</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 354,418</p></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Amounts may not add to the totals due to rounding.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Includes the portion of revenue related to small business programs paid by the end user/customer.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Revenue from the Company’s foreign operations were not material for the three and nine months ended September 27, 2024 and September 29, 2023. </i></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 7953000 17767000 25720000 52487000 4993000 57480000 73596000 1456000 75052000 134036000 24216000 158252000 7964000 1968000 9932000 61115000 22155000 83270000 64957000 93000 65050000 134036000 24216000 158252000 134036000 24216000 158252000 25190000 51193000 76383000 147022000 14375000 161397000 180422000 3535000 183957000 352634000 69103000 421737000 23858000 5281000 29139000 148403000 63614000 212017000 180373000 208000 180581000 352634000 69103000 421737000 352634000 69103000 421737000 9382000 16629000 26011000 42119000 4182000 46301000 59529000 897000 60426000 111030000 21708000 132738000 7448000 1588000 9036000 52410000 20054000 72464000 51172000 66000 51238000 111030000 21708000 132738000 111030000 21708000 132738000 26038000 47626000 73664000 126946000 11616000 138562000 139346000 2846000 142192000 292330000 62088000 354418000 21607000 4128000 25735000 119028000 57759000 176787000 151695000 201000 151896000 292330000 62088000 354418000 292330000 62088000 354418000 22 0.491 0.495 0.529 0.506 0.221 0.217 0.227 0.422 0.433 0.210 0.237 0.428 0.422 0.236 0.247 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">10. INCOME TAXES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences of temporary differences between the financial reporting basis and tax basis of the Company’s assets and liabilities, subject to a judgmental assessment of the recoverability of deferred tax assets. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets may not be realized. Significant judgment is applied when assessing the need for valuation allowances and includes the evaluation of historical income (loss) adjusted for the effects of non-recurring items and the impact of recent business combinations. Areas of estimation include the Company’s consideration of future taxable income which is driven by verifiable signed contracts and ongoing prudent and feasible tax planning strategies. Should a change in circumstances lead to a change in judgment about the utilization of deferred tax assets in future years, the Company would adjust the related valuation allowances in the period that the change in circumstances occurs, along with a corresponding increase or charge to income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">At the end of fiscal year 2023, the Company’s total valuation allowance was $1.2 million, remaining unchanged from the end of fiscal year 2022. As of September 27, 2024, the Company assessed all available positive and negative evidence available to determine whether, based on the weight of that evidence, there was a change in judgment related to the utilization of deferred tax assets in future years. The Company concluded that as of September 27, 2024, the valuation allowance for the Company’s deferred tax assets was appropriate in accordance with ASC 740. Consequently, there was no change to the valuation allowance during the three and nine months ended September 27, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For acquired business entities, if the Company identifies changes to acquired deferred tax asset valuation allowances or liabilities related to uncertain tax positions during the measurement period and they relate to new information obtained about facts and circumstances that existed as of the acquisition date, those changes are considered a measurement period adjustment, and the Company records the offset to goodwill. The Company records all other changes to deferred tax asset valuation allowances and liabilities related to uncertain tax positions in current period income tax expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes the tax benefit from uncertain tax positions if it is more likely than not that the tax positions will be sustained on examination by the tax authorities, based on the technical merits of the position. The tax benefit is measured based on the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement. The Company recognizes interest and penalties related to unrecognized tax benefits in income tax expense. During the three and nine months ended September 27, 2024, and the three and nine months ended September 29, 2023, the Company did not record a liability for uncertain tax positions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Based on the Company’s estimates and determination of an effective tax rate for the year, the Company recorded an income tax expense of $0.2 million and $1.9 million for the three and nine months ended September 27, 2024, respectively, compared to an income tax expense of $0.7 million and $1.7 million for the three and nine months ended September 29, 2023, respectively. During the three and nine months ended September 27, 2024, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, nondeductible executive compensation, deductions related to stock option exercises, research and development tax credits, and the energy-efficiency building deduction. During the three and nine months ended September 29, 2023, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the energy-efficiency building deduction. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 1200000 0 0 0 0 0 0 200000 1900000 700000 1700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">11. EARNINGS PER SHARE (“EPS”)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Basic EPS is computed by dividing net income available to common stockholders by the weighted-average number of common shares outstanding. Diluted EPS is computed by dividing net income by the weighted-average number of common shares outstanding and dilutive potential common shares for the period. Potential common shares include the weighted-average dilutive effects of outstanding stock options and restricted stock awards using the treasury stock method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the number of weighted-average common shares outstanding used to compute basic and diluted EPS:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:54.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands, except per share amounts)</i></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,566</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,882</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,895</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,357</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive stock options and restricted stock awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 377</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 206</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding-diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,358</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,563</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings (Loss) per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.22</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.51</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.21</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For the three months ended September 27, 2024, the Company did not exclude any shares subject to outstanding equity awards from the calculation of diluted shares. For the nine months ended September 27, 2024, the Company excluded 269,000 common shares subject to outstanding equity awards from the calculation of diluted shares because their impact would have been anti-dilutive. For the three and nine months ended September 29, 2023, the Company excluded 363,000 and 389,000 common shares subject to outstanding equity awards, respectively, from the calculation of diluted shares because their impact would have been anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 27,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 29,</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:54.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands, except per share amounts)</i></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,566</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,882</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,895</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,357</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive stock options and restricted stock awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 377</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 206</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding-diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,358</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,563</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings (Loss) per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.53</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.22</p></td></tr><tr><td style="vertical-align:bottom;width:43.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.51</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.21</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 7346000 7346000 1566000 1566000 14882000 14882000 2895000 2895000 13930000 13462000 13753000 13357000 428000 247000 377000 206000 14358000 13709000 14130000 13563000 0.53 0.12 1.08 0.22 0.51 0.11 1.05 0.21 269000 363000 389000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">12. CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Claims and Lawsuits</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company is subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In accordance with accounting standards regarding loss contingencies, the Company accrues an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and discloses the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for the Company’s financial statements not to be misleading. The Company does not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Because litigation outcomes are inherently unpredictable, the Company’s evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of the Company’s financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then the Company will disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on the Company’s earnings in any given reporting period. However, in the opinion of the Company’s management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on the Company’s financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">13. SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt;">In accordance with ASC Topic 855, Subsequent Events, the Company evaluates subsequent events up until the date the Condensed Consolidated Financial Statements are issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">On </span><span style="font-size:10pt;">October 23, 2024</span><span style="font-size:10pt;"> </span><span style="font-size:10pt;">(the “Enica Closing Date”), the Company, through its wholly owned subsidiary, WES, acquired substantially all of the assets of Enica Engineering, PLLC. (“Enica”), </span><span style="font-size:10pt;">pursuant to the terms of the Asset Purchase Agreement, dated as of </span><span style="font-size:10pt;">October 23, 2024</span><span style="font-size:10pt;"> (the “Enica Agreement”), by and among the Company, WES, Genesys, Enica, and Reed Berinato (“Berinato”) and Mark Prewett (“Prewett” and, together with Berinato, the “Enica Members”). </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;">Pursuant to the terms of the Enica Agreement, the purchase price consists of (i) </span><span style="font-size:10pt;">$12.0</span><span style="font-size:10pt;"> million to be paid in cash on the Enica Closing Date (subject to holdbacks and adjustments) and (ii) up to </span><span style="font-size:10pt;">$6.0</span><span style="font-size:10pt;"> million in cash if Enica exceeds certain financial targets during the </span><span style="font-size:10pt;">two years</span><span style="font-size:10pt;"> after the Enica Closing Date; for a potential maximum purchase price of </span><span style="font-size:10pt;">$18.0</span><span style="font-size:10pt;"> million.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Enica Agreement contains customary representations and warranties regarding the Company, WES, Genesys, Enica, and the Enica members, indemnification provisions and other provisions customary for transactions of this nature. Pursuant to the terms of the Agreement, the Company, WES, and Genesys provided guarantees to the Enica Members which guarantee certain of Enica’s obligations under the Enica Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company used cash on hand to fund the initial purchase price. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Enica is an energy efficiency company that provides an array of services around energy projects, metering, and consulting services to help its customers drive energy efficiency, decarbonization, and energy reduction. Enica’s financial information will be included within the Company’s Energy segment beginning in the fourth quarter of fiscal year 2024 and the Company expects to finalize the purchase price allocation related to this transaction by the end of the second quarter of fiscal year 2025. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2024-10-23 2024-10-23 12000000.0 6000000.0 P2Y 18000000.0 false false

@=M<,R.!JF,KWDM94R;\.,41*U.JA' //2L73I(#[! M4: VV76$)1!$&N-8*M8NX^#HG,IT#IB=S.B())L"81JJ(?NN<@ /T?C!]Q;) M_,<#-Z'7J*#W1U%![_7,&E\/!Y]ZL\%XQ +YN1'@A^D9=W8I$77QK@#RN#8[ MQ,&";G]6#!56JZ>(M8M!P838%6PO/.0MI,+L(^LEE)01=!DPC!"Z2IU44@ 1 M.A_A"(7W]B9Q$J[MX'O5N74I/ #G2ZU5Q=/I4CK R(.OA^G/^E(1M@+@S#23 MC9 :P]48^3E760:]#PBHQ%EKY1#1 (C[E3<0R<%AK!UR99)+H:VK@R0O4VC9^D^6N$O[T 1!!K2*"(.XQ@WP@]W5"E M\*([V_%\VC&J7\W[X^4;C: ?'L M;&5L+ZE)3R&>HYJ87UY6+B%G3-)JN(^WZG6D*FB#P!YOI9$JR 2MH0GU(%XLOW: M=IIK!2!7V)J!YLB"+3>!PC&TO4!^ 5?];@#<_M2=?>;H;$W4DFB-"*/M\ +3 MTVUT3/G\>+!\=*F"8W@3%'IN;/M?;3^FFL.1=?D; A(34S4XIK#>M69,*HH, M!=9N\&KE1VS]G,;]^$/$"B/YJ[>,-0M=T3I][T;UO!_4+,'[: M#[W=C#]_'LR2F]-ZHUOK:V\RZ%T/^]9@-.M/^M.913\-9@,>GLN0L%(L+(X& M_ C=+9,1[JTQLZW=@ M,-==E\I25;-BU7EYL4HI/<_L.LLXY.&:D#T2-O2D=P[5[02 P7:D!1*"X?AN MLODG28CT@H N#/F/X3TBV7:=_N@@Q<&2%GH&$/KL1#/J<:'KP(L$R10/\MF. MG*47+/+?IX@\>@Y*;B"IL4;7Z!- P+29[%NB'Z#4>PLTGF?J65[UV^H40#CU MN'(O,P#\ZJ B)IVTQG/^L=[:4*=? $'=3E:&.CSX(RA*ZQH"(H1L2C5 KAK9 M9H>?P\WM;UI:/^3='U,1?H*PDLA9 6ZJR"4<"OO?ZTU&H'IFT&E_3/F_[W B MT*'54)9IFL0N>H'[">$%L==+SRG4<6]?P6 I99[.Q TR3.\O7Y MXMFE3_WQITGO_I?!#7^TYVX\^(!6<6TL2@!KSAVO65'DP0Q8Y=S+5]"2&C"$>V'\[P;A.#W.KWM)KT!<>6 M:RM)0XKAV/T$/:(@1@QS'N2BZ/W#BY8W<1CA%2+]Y_0))E953?]S52_)-.@) MP")YD $4=:$! ^!HPBU:$^0D7.@%;F_%+.&?_%=I3%C1 H!1MR99):%P))B= M,D@>F>D_K^F&F[F3.'/SY;>=ZC4%4!?4FDSU*(8DW.SEH&R"\8*8HKD+KB0&1<*1&I[&=?DID58(!4.33FH1*I('-UZ8 [.QBDSSMWE7,NGG: M9%PK&1A^>K:H%^-Y@G=!/_*:H(JQ3AO:4H3UE:$\9VE.& M5L_M3T/*?=_CMU6PJD251"K:&'3TZTJE@I)3[KRCW/FAB_LI>7Y*GI^2YZ?D M^1\Q><[GPNT$&2S8$K:71JS(HE?T 2:=KD6K/&6JNW"\O,1Z0I=$VME'.);8 M7* 9+5!C:Q347BP(6J0*E^9I&T39?F@892MBP(Y$I#C #[A)F*>\;$O9Y-B> MZGXB_MH.O7 \OR>>P]1=OA77;0PFX*8CK*)'JT=@QY?OMRI/Y69=OSF,?7P] M]:TG6A 1O1EE")VY/].5GGBV'V9H*X,758T . ]U]30ONBKR.G VOE V7;/+ M,Y7\5X,"V,HTX;J:**/&<><](YP09(68?XF%W^K&+.')X2=-P"ECS>3BY(F7,5Z#?Q3N&>$4'<.AZ MHWB^< _&<":M4AMV3Q;NH=X!#S_A1T0">6)2!F0X!Z;/10'N';#Q/G[P/>=+ MQ!X+5P2,A6"&$U?ZK!1B?TI6';KHR6X3K.D85] %QQ\^9:A.&:I3A@IJANKH MV^.M5>5#X1(O10%[_'E;=A-H#6=%08]9GR55I#Q:4I]% 6O>9ZG4KJTHY%2T MQOT0.:\6^/'"89>ND4TB@/27'?_3/WS[,BTQ.__!L!=3J1^,K7E\S1X3%)OD ML.I2^LIFYJZBUZ2H<")0.3&]O&3UG^@8<+VXF%(+NCGQ:RA-3BE@=YDF)]8F M7OB]08+\QX8)\L+8%ALH)2J,= ->ZIJ@TB#K5_=1.@58O/-45/V].%3]_G(J?&5[/4+!%2)ZP MDP"^F-H?"?X=L'2*XVB)2'##GO7%)/#LONN%_,ZX&Y]Z33D%=/W.V2?:J!ZZB60C_R<*I^ZSJ^<*I^>SG5;W^N0BS)C9EZWN.I!.M/ M68(51FN2<)_]E.,\_>W;3:_,X^RO+Z'L:HOL<9DV^E7$-/97PXZ=/M,8LK 2 M$\.*$C55 V/%:=54J!,1+[4@;8^2]*EE>X&N=.57: (Q#EY/E@5R#%61]6T2 M>,$BI+A,ES9!:$U]O\AS/3^.O$C3U+KO M3ZSI+[U)W_K+__L]QM%_]>^GR0]_I6!Y!*P=!O KR'8O#(EYF-0/(C=)U*_6 M<936)I:EH/<,;3N#'/D2I<-POMZ(.U"X\YV."*9.KAO5*]P*U24?C6XLQ(BQ M>)DR$%'=#$9LX@@F5ZTG>;88C@ABYSLCF/*04\R>@U>7\ZE: (B;Z*IO,2*H MH F@,6IK:Y5/T%[WQCR(MCDD?B.QG67DY?DI94)N&0^0.V9)S=UF-JQX.+%V M+P"\F2[UJC8_X-P%>R!;>BN6-NUF-LKZ!K (-32;%C>8&3-,'<>*'T+T>\PN MK7]DB9_:_O*;RZN]PU9?KJ?]OW]AYZWZ7^G_IR_ !2ZR0>G("D&/O!LLX:"N M2)="PW$#%>POK/,R2LSNS?>Q4J>"Y? P7*\*]:J0" Q_J8B7VE,2PP)8GBHU M2R$*&&X1NY.[Y_P>>V'"047 2P@*YL",[A0E)@.4$-3A(0DPC)E)I4\J*71: ML.(Y=NX:GGO?=U3E*W)H !..6E5R52UR*B!-^U5A%3FXN7TM"$*I FHM0XH. M %PK?8A$5:3!E2B[;O,VI"DG#(XL[^T- MK_*=88XX0?<$NS&?592O!6FT.Z;T)#6B=:2G01$^ MF[M59%[W.,P16Z,G11[Z,5/=V@5 M'0Y.B#[C./:# %W&OK?%"'W\YJO_^.J;K[[_([JX^#.C<>DDI$\4(D;LVZ\^ MYE]<9>2B\ ?2[>O??_SZVV^^_0/Z[H<__/&';_Z('C[G#3\3WC9^:\O #W_[ M@?[/FHR(B)!A\L-KXO_7%[LT/?SP]=DN[??/SZ?S[?/;D[ MO'$?7@7N4[*-%3I_KJ.@YS [[\NQA*VH/^ZR)M=T(\N M/GY[\?N/7[TFWA<9B_1KA4'RYO1;+RTZ5!O_\6O^9='TC'0F_L?OO__^:_;M M%W_^-X3^,XX"_(@WB'WT0_IVP/_U1>+O#P$=E7VVB_&FF_(7S6I\&N*0P][N5QT- EEQDSQ4U/2D5NC%U!#C^)S-26Y M>278_6H;/7_M89\Y'OWC@O[!M$/^\=>KB.#)?)VDL>.F.27&_G]]T?1]-VU0 MIBFM>5SGW(G=?"SR9XL>LA9?NQ%Q]$-Z$60_#.N^B:-],Z=\N*CAR[\&Z^X_ M;"Y*38X8)]$Q=G&G7[3*ODC3!8ND!05W'%[\]-2!YS\S:NC7G-[_]Y]\W $M MZ3J;;&[#313O&0*OG'7IQ151)4WAVE>;?+FIB=K!M+I6;G4-,">,*I31KXRV M'6,D<(QO4[Q/U+10;3XIHSR34V*81=O)&.Q9KGJ9E9O ]G4!)SV-+>2*J)DQS*YV]"-8@*?;&W\ ME)(I_2HZAFG\=A5Y8@MLZP7=()6DKMNGM MDL&+&@,V73;6.YIM(0\JM,?>;Z? M>QY16I+]A^Y+?A3JHKDM= N52%BWSH:&D"U3QFY/J\QHSO(_$-NO7H:CX>>Y M;-]VT,.WD[3*;U6M\MMI6>6WPUKEZB4:V2JOR)_+>!6]A&U:J+62]=H MCV6S"5AC [.F;)&2IE$F)3ZR';((=QD_Q-&S'[KBE9*P^40L4B!GHUF>M)V M;8HX-F6@Q3HH'V%D*WV(DM0)_H]_D*[F!8TG8J&-,C;:9ZWE!*RSF5]3MLFI M(T)^I-4Y1>MYC!V!+9Y\#=?ZFN0HDA KW\&TL$8.M5,0F441:B.9$,W[#AYV M42@^@6EH M>41/+DYG3Z/4R3$G*I:U:,(&(41]N1><+N,2;F_/';]7K;KZ,F M24^_AVM9C9+D9E7[$J9--;.H;5"<&N+DQL.IQ:N[(QQCP4FQH!EA?*?\;63.AD[0F4(FT.W4;FV6A/(QM;,:$]C8T113G4L M8UOL<;PED_ZG.'I)=U?1_N"$8H03M89N?%(IZT;8V!2R,R+@I3FV&9&AMO3/-O(_>UIYQ!% M+8\I+6!#-XG$JS)Y)^AFJ"+SR<)9T@.RF2KQW7<1S<9 ;) 9XL.@RCBC63)9 M%,5.G\"C(C/KQ%SLG0'A,L M<)HF\-/OX5I>HR2YM=6^A&EAS2SJ6E5!#5%R(V0_\5U&;L-_P4XL+J(@:0K7 MNMKD*S*D!.U@VEPKM]J94]E)289IE+2%H@JE7&J3;+4E7%-LD:YY@BV:P33$ M-F9-3:[,$(U,K1LG6;,1C\G%UG$.W!1QD";Y)Z5-9A_\E>5+4W:6FQL_=$+7 M)Z%$Q,L\""I8=NP*TVIUY*=FW*4?/+O6XEX;<)?WUXO[I\4U(G\]+>]NK^UG< MG:!>IK3A1"SO3+9&Z[N#6QU3@5<#5GAGKABFCBG.DP2G2_<_B[T?_V0D(0\D\O7+B^,T/ MMS\[P5$4_:KVA>V7G310]5.ECG#]MAO[VB9.R",G]!#[HS+0##DIRL=";# K MGCVR&ESZ!RX'LN'SCYC@E^^FF$G=G(W=UA:V3TLEK/IP8T.X/BMG5]"U.MQ_'%P$:D'6HEP79=6W4L>L8N)]Z\#?(]3N?.U=('M@RKRUL)>27NX M'JG$M780G!%')?49(O3M>N@X(L<5D4.]G9,CD@-D-E$ GI^8E\$+F]M]\_^UWS/7I)W^]BD*V6OC%3PF<)6FTQS%; M3M"H(PH)+AU=NJ6>MXOB4K&/.'7\T-GB^8;\+/-<_ILHOHJQYZ=W49(T0\C( M0\.$(AOZIY VYKAVH3%_YY*5Z;1H@@9>;>/C\X"9]*'OWL/=[""?5:?XH?,/*1A2]3'>X(GW2 M&D-+.\"7-PR:+;BG \Q/CB^MW@] MX##!!+P85[6]]!!'!QRG;P]$#AKRTW.H UU5D[]YYB6^PX3C1W^[2Y>;GPC,L,4!"_A= ML@ _!DZ*O6M\(/._SY;BI.=\3VO]_*-I93[JP+!]?3S=U^?\H4>%BTHCRJX_ MWW(69X@QR;<;"C[9OS).$6,5,5XOHLT%X;;8HN#;#27'J,HR(U)EVE+P OZW MJ*L]H-SLHL!#_OX01\\L73)A)P16)J1WK,!1IKY/4>2]^(%(O96O84\CIW)4 MP3[_#BXDGW&H:VLYH2%\\9"_G"SS1^.2T!-$3%=;&\09&$ZTI]2)T]&%6^.M M'X8T!VM0$5NGHJ%M<)S=::) AQ;8; )]T:9@2Q_8P*YM3Y_'DK"&@M+-A/:C4A9!'NJMG;?E-XC0_Q7?^,_9NPY2(XJ\#+B'=H!=H MIK43;+=5D[GJM_(>8TW MF$CBT3?&]WCEO+9-F=(.L)VO7=:J!XI;PW5#!9ZU:YEDI!&GS=[WMCT]CB&N MS\5-G5=L;V+D+%U\-O)&SW0L/6<<\.S9T M:&QOVKWSG;4?^*F/DWGHL6JT=#N?_(YTHS]]:[D[WZ$[;%#HJH+6D[!ETP46*J3!E)(84-Q< MPJ .,6!7"]N!]4"[IB1LV-P;MB2TL][!32ADU39"V_'%@42N3 MHIWUYV 29DO25CG'*2C5<)_CU*L%M\WMX3MQ!+IJC[;T RNB\J8U;5&1A-&0#^<>!9#^6H* MN>(DVM(%MM^IR'N2E"1L#]<3E;CND9!47DP9?&[\GDL;8FGB\J "W^$D^:'8 MW(O6@;]E%R?LG)>-\MNR2QP242WD.BNB4VLGV/BD)K,XW7DZ&*7(M[&$9R Q M_,!B\]N">>A^6F3.B(C/.%Y'EH54 V1+1X7*QS+@T4AMWW-*&YX#;(Z-ML/9 MMO\WV,9?7L# \H[ 711N5SC>5Q=B(E4T-P7N;1+Y:O[6T ZPQ\FX-;0M8#G] M>D 1#[F( 9GS"D<\T-O;9S?Z[6T8M-Z(:.\%VS45I6[=.9C"?0E5QLWO'PSD MQCVV$ R*79)J75U;W$@8X'<^DQ8.F G6*>T7O!3ZP08T9MC@PH\-;OI[$ :%/MEK 01K].)>936H=F%5U $XD+7*>G9UM;$U8.AJ MY[G?#<_:!H9MJ!I:V+""5):W,\KAVS=TP/MA@S2"/4*XGM;$I(%=0=N;@89V M :VG_>WW?LJ*R?%'"^CFZ?L#E<=U-A6C^+K:"=/^51 M4K>4O#>>M*Y$VI%>FN]X:W3"]T2[W0R=XEW0 6]_ZWIFY6K= ]Q5DZ"<21[C;FY)6SGE$AW\D3&:3.X[BAC M5M<<"YJ($9WQ]Y)GZ#9)CGB0>IT*6SC#"IIP0?_]FZ^^^8@.3HR>N<@?OYE] M\\TW*-D1""+3Z3'=1;'_#^S-R-HQ_]1G:N&O9!S3)"5_D/G65E@JMMX+JLD-,^$5\40G+6H404N>D?!&[Z_Z*/?YA]_/@=<\Z/OY_] MZ3^^E7OMJ$^X]O;WN>?Y=%_9"1XT+?A^ECK Q05WVVK7< MUEYP<:,#[]JW5XLA$!T#^2'*1IFA*LK8N;0[JOST":P+(K_+1[%TM3Y_LH'M M5Q-)#S'>X3 AB,-KR='W-N]QNMRLG%>1VCI3 >[X>EHYN9S?A01@2- 4I,?M M]N)]F>Q%N.J(*""#V;K0#TH1637&#U0A7]K #OY0+_863DR?6TAJS[]L?-<7 M;;XI=82-$.JR5T&AO1=<'.C NZ[%YT.@? STH?[:%!OFU-;'\?XQQ4\&IFHSBKCMB\76[EH'D D?EY<]*P0PZQ'FK[ ;RH M&VSO5)6[2]U3N)ZKS+G9.J>V;)W8N219O[,24Q&)L(_/: M3]P@2H[DJY9PI#]5V$AC2&OB3)_.).&BD2G!C&40<1;HH[^"I"FPY MP.]C5%BQ'?_ T6#2<.!J ::(T,OX*:5[JDSX!QPS;2CI3])Y2J#3I@,QMHAZ M3@5"6ODWAA04%\A$S;?_%,P3LW31SMHK.@P/6>NR]KFR+SUM)SXA&?3#CQ8P0*==EHG,'=15[S4]]VV0NLV'*UVFYW!GB1APX()?0DN$[VC74$C4IFYI#2Y_4 (NK.V$U@1ON,VH%K/ MR8!+EPU A6Z3@(K!-KSJB !OWV]$'0#>\:MH07&[3]YC,KZNLM$G:3X)WS:^ MV57W:1C[>R/("W5G[TQTZ;:>N/7$G%:\H2=H.B%G-;2YU>2H0Q8-().8'WF+ MT.ODJ8:$O70"E@$D]D:#,I(P(986%Y^XE-WQUJS)0MR,/1.Y?2>VI^]CB$RV%U7?D^<+?/V[=<_Q*UA^VZ+E%6W%32%Z[%M M#&M;[O+^>G'_M+A&Y*^GY=WM]7Q%_O&T(O_YO+A?/:'E#?GJ\\/CXD?2[O;G M!;J])_]>V+GZ_XS#([XAOWK3(^&+5S;)PDF_^>)2X?H48)M_CVT4Z\6 MT)D,7+?I(XS^A7HV)J*_#BK>F7\APZ)\W!DJ1D;YT(B,;:G&P/@Z*M02\\$M M57.S:!YV@ODD76XR!EI/59O;PL9 J83UN+VA(5P$*%=4^@A\;FQ,U9<2/RM<>:!V_D:U[_Q<,'\HG/7OEA)[C. MGKYY\P_VP9=6BAE317&QB#I+Z@WJK+>"[[L-4IUZ;:4);']M8K2OIS[A^-EW MZ7HZ,VM&WIJWFA3QR0F<."^B\.)LM4KZOP1>R/SEF^^__8[Y#/TD0Y:GXSIW M_BC.-5EF-U!1:,/3AS;T*,#TM1[:H'ZHT=VNCWJ1>Z3K90;6_7_7_D9>'0@E M?*1L;F(%>UEVD%>=LGS^DI-W/C.E44Z!7@P./4Q;K=\((41$I@64O&-,EQB$ M*&G GFHC_^*;^5\- 1I-D&A#S05RU+#A4Y_B*$D>XF@CK(M:;P'; MGQJDJ7I3Y6NXOM3$I*[=,5J($[/B1N:%.30),^X[V8O7 PZ3UHL'LO:PW:A5 MTL;WL$\;PW6Q=I9U;;1\_SHG;7O7;#A9/^&0D [XII>W]T.?$J:/@B"K8!.OA(NZ70)P739_KHI%NY:5("O MW_O)I!WND06UL]W&>$L&I1O"QY %M,PM/#]E]WIH5:[D;%,+?<#%T1]=EV*79WH>]F'A>2X+'XH(%.L2] G_*(PI ^UT/HL'/&?&N;S*7>T66+_CCZ M&VF1?,DH')PWHMX I+'3"ZHCC[7,%3[N9H,=FV"C,A5FX^8S1.6LEPV-V-BH M.OCX6P]V='2^QSNKVV*C"0ZR,R,Y';:HH =MQ[PZ=4PK$;3K'@D7[ML]%@;- M]28P)UV9/+70N/(]X&BXB4OM #@G-D.$G)V(UZ0\-XY;K=Z]X?\L-MFM/(9! M$T7;0MW6QK ]2RYC[6&,QI9PO:V%7^VIDY+-0BMKHP@PI9 M-7=H8^6LU+Q@/.U@VWY.8]7CRE=JVQ13:SD1KSN7KM'ORF83\+P&9OO[WFWV M543/SP2B9?% MIL0EWD0QYNU6-,]L\4J62U'L^:$3O]VF>)\05;&[2Q$[$\@C!6&T,N2(L/%A M!&V?ERT;9#BX&T 9W_TH&4X&*T^)H)V@X MDAZKO/HAQCMB\/YS%@40OI8;XFOMK]XI](1MG1VD/ZFYWM8-[OS8A?D>YIY%^P4AUXV)>/-T#Q-8W]]3)UU@&DYJ0?L3>%G]R_)!^.-\0;3YB-W"2Q-_X;I[4+:Y\;7@( MV SA#[/#F4,T8<+68-(V<]QI0A'>4*4*<2XFB'*5_&M0YE#I]RQY,F!*G K M1-B@5/Q3&&,G8*]\;9GF^-8*49*'8_^99Y;FM:T2MM/-RA><:<]V"-5]?@&/ M: K2*H9*FCAQ*$?;I/\&=)K/SBFV&M9"[7W@NW4 MBE)7';NE"USG5F55TK:YE3:2^=Q'<5 M-9.WG9;;UB24.2MK.!T7K;-KTC$991"^:$9&1@70$]<"Q.F&3Y/SPQ,I%:;- MZ?CB*<,#3),@_-&4G/G4#\G_6<<.UM\?]RO<;SJFZ=U<:6Q)=1\D'1-F(B _)7E'@[YE61@434EM3TX63J>G\L5%<:[P-/A%%[)P+31Q(S$7!'&+&W !A7+>7"8,#WZQ7.&>P80P&6 M;O9.-K@'L@5ZR68YX4OP:MJ54)DDA+9I10%$120F!Z.M@HP;CUDYG["EFG98 MN? JRS^0R#N8DJY;)1^GEFW^8CV99&AUSUT4>&1J7K!*\2U+7-6^L$&TDP9J MA6]5.L(%S&[LZY>,S49AP%@9YW>(CR1>H8YK_YP;>MP:A>2?R?S5%Z48M_69 MB+W+)&ZT\Z8.$[!O*=O:^[/<>$NJQ(X)72LV?"+@=;1W?%$19%%;V#8KE;!V M?M#4$*Z-RMDU99OH5T[8BG'RO)S/F(93 BV<-(%MBDWR5"VP^CU M\JQT3LZ*E5VQ%0:++Z2FUM0.MKT))3M)(ZPW@FMY8E9[I,C1U25_NTE@A./L M60XKFPV_FGN>3S.7G>#!\;W;\,HY^*D32'VLK0]L?U.2N.I[T@YP_5"-;5V[ M+:DC2O["#U$V@%T/M26U%=]UW>/^R%Y)$EU?D/MQA_[ ?;JK)FK^K=H9L*]W M%D'; Y97M\);BU8=?SP5E".AULM0EC:[X6B#:L$&.#[BE*R(L9?GM4F14-@8 M-NS)9:QB7'-+N(#6PJ^NL>9D49%]:16SQI+24B&A&!-VKC'_[VUX?@CQ& 7! M312_.+$H([H[%=@>JZF5DX)$74C ]7%=07H4NV'CH _YB%_2I[N;SZSHP"@; MV0XX %:/G7.\4^$)P_PIZ ?^@GLU*EU%G2IH&B,.&WW,ZK!^A&B",ERL,BR? M_F'[N3/.4,$*RG@Y6Z"-6-+R@&,_\A:A]#D!(.J\=$A'=Y#*E%P-3ZD3IY-5 MQ'BX?ILD1^Q='V,J-]/,&9M'LA/L"/D%P8@/B_BXB \\0VSH&,CU=CC7FTUHXG()]29.*M.E-DEX M4M62 D"UD9H<1"D+- 1(\<'E*#7,\ZR:,#6\MDP"E?U\;S'6L^^6!U;W?/&* M8]=/A+4(=.A,$JC:-:,:0S42F1PX*8@R8.S$FV0CHV)H2'@TI(*Z(I%/K#YD MY0 S*((8*AF '3FA2>*.@FZ48Z/W@3PJLO3RK OZM\<.J'&8\+*C\S@F%/D- MEO4;JK9[<-[8QW.ZOS[+06E6H%)"/9*S#@F?!E=C7X"R'2+-O;\=DY3^M,DC M9ID+JVCEO/Y"^*5;<421-U%1E I[57,1I5OTH@@;O@QHJYY-J4T.+J"9$*JG M2_Y$$8OE8KWQUZU0D3+]B2 <+1/, A=+#P@#T- QT]"!:"C--<11:ZP M'V8TJH_CR:.+@M<6+=?PS-^B3-1+=S9U@0V *O(*"G6>M8<+>$I<:]<56MY? M+^Z?%M>(_/6TO+N]GJ_(/YY6Y#^?%_>K)[2\05?SIQ_1S=WRER<;5DV]RS=ZLG ;+@D@$9\+MW.7>!X)=7";K6L1@NT!^KJI^D5W*G"]I8_[ABVV(Y/IJ#QN-!X> JM]&OZH4NU?JAJ_9AK'4SX,'D]5.\M[*I?XTW.(YI$$.E6SFO MF8"7.,1D$2B$L;9>L-U44>KZS"OM M=E51G7GVTX_=QGR0@H&P)]R 89Y-A. M8;(=2?(L#&>Y]C,:@]OPY$^.'](ERC)\<@*\W)!%"HGVTS=:G8(]3G6@BPB! MJI0[P_;K;CJHNK=:3[A>WI%_79.GP^0+?!)<7OO)(4I8(A#-5L@'9=5;4E0, M:VGV'DDG'^@X7R*Z!F<7;? M_)5M0"1$ZS=1?!T=U^GF&,Q=-SJ&:9*?XM[N#^?[E-U[PW1X32U0C^_8U:[+ M>Y%[I*;3M"&B*XBNG:]VF.\MT?,TY#.BU+Y)),NWFR@;:!/%R,L804[&R5=# MS/]-<#BV3AYJ#H7PTO@-*QT-\P%'C(+O*.#,"&/7?B[W:+.^UY4"G$P&8 M6*FO"WG!=U%ON$&2A@R&ZYB7QQ[%.U6#GGDHG/:.J)2K'2URPPK65$XBD@03 MI*3[E('OK/T@2V$)>08LWFRPFV;I&^MCXH>8Q%F.R_/2:5J+E0.,P_TY-]984W=IT:F(CEE\/(>;\I 8B$>\/04<04Y5"6UE6C:*$0-Q:):\G/ MK[(<;%K1X>J8I-$>QW.*8W:D/N_,+N4\* =B$,0T$^("]NE@\Y M0VQ0,* PG%H*^7GL ,7V(E."8"BO$ZECE-# 9'L+0N(DUY3\GDA[Z87#.R< ML#(0&/?MB3G2'-0_ZD)0,T=5]7)#8U_^^B(SDF MJ%":$DYTDLQ=(G-G6S>-&_:@Y)1E)1K([M2SG<1JNX99IRGYMHCUH?8+LW& /!]K6OI"S$.CF/:\.3X2I"L/-+HH MZ+SK!'U:('^K6Y_TFYAGB[@W[]QT)%09"HY_F]9!+FP@%!;044 N^%NO?=(J ME:GYOI)6NA\+%"2FA AJ@HQT/% ,# 0JAE5.H85^L"'(P#R7YM'?[M+EYJ<$ M-R[6U7O!]/>.4A>9ENU=@&=8=A! >X+;TQ"69KOXA4=[58^.Z8CT^R/=QF.# MCIM2.8(2!&#&QKF(-A=D)#M;$V,IH)"T_)%A%\02 'TG C#!3E\7>H6OX(8T M&C*,6.C*2FW,D57"4N[+$@[5P@Y-Y1P 0<9M^(P3$S7TY(0F"2$*NE& $@F5 MR4&*BBP#04LQ]&1KZ VIO-,:>GZA+=LU]/C+J+2F.4T'CW'M@M\\]-INO78B M !MFNNNB5J-/N3=<6-&003N5(!N*/17 !RONOL[XY=<92R^P?0-V3)T0]G=T M^5:]\3I#2;1)7YP8U' [6 4\ M.E$ CA[=M7%2XE.U.V#\T!"BQTU)-A:?4.EHU>OS(T"(:KAA3RE)II0^M^?- M1QB7V04TS*O^T] H^\93A6 Y"> XH:$/:9PAZ0\8*72D,!EKE.,5#X6P(#T? M%$JT,:1>F, LH9->-J_>!RVNCK*=$Z=9)\#V17JO]L!#1W==Z.U_P(4-#1E& MW.^ M)4ZE$HD6ZE-FQJ (./&#YW0-;"5*B[E3JD\DZW4C>%MOIMI0J25/+X:UY&1_R7V)(PC?R5$+GYC\$4P<.WIM-O M74(P\:2_;HKL%BTJP!->^LG4/P>&UZ_/ESU$Q&/ )F;F,;38F%MP0_\LV4%. M'-,",[3CN.DQ=E26CXHJP^98R[13&WF6P38?W$8.C1TM%0MH8B BRS%8F3$; M[2:*J1#7F-7'3'[$ 9E:5O$Q2Y;OHK#S; M^6S4I-IQA@4,YR/JO2PB.?R8P*>*,370V__I/A&#P)Q-1/FD.8:,4_8]YQ45 MS"+.;8Z:"7WD.V>8$9LU1KSCEKO\UX\P_(^@.,5-Z+>@\V%G^ MIKM!E#K*R2-&W_)YY+ 2A\BC$ONYQ&Z#Q*.G--W1A?9RH:165DOHSB.7DCLG*!CZ.$8$5[V*(B< M$&T"#8N6Z\#?\N-R2SX^K!8*BN6!'WT^AH_)KPO8*6PSK-CE=F7YH%(E M(4 @^?@7(]+(_6UY8.:W>,6QZR?B/&>%?K!Q35ERX=6'IDYP\4V==4/7'.@8 M*!L$%:-87W6,(7O"9(_8( AG@X!P;WJ/0[BE)VH\,4>NR2CU7M9R0BY;Y]>D MGS+*,'QS""'I]2(6>;G1?D]?[61"\[4&WA^"Z WC[,-#?K/Q0$:VN1=_$\4D M:LRX66Y8#5MZ_4I8:TZI(W!?5I:]:8->W NPCZOS;N0TOAR$N@,OC,S'L;QM M/Z "6 8"NP>01G3EP9_N1@4.;&/'TKUD]:1D@?8Z$8#M^]UUH9?G#Q<+-&08 M,:\?TI6AH50BN3+4E+QO S*H.NC_4VQ\)F'-61+1//3J'U1:/N#8C[SSZG9N M\%>XA3\+*,S 1NZ[/PF5?@;EP.X$&I)#WTBDRQ3O\+' M6<8C._PX_:S6@;..&JIJSE A ,HE0%0$Q&6P NL3^YGHU""HU>JR7Y#-&[AD MD?U@ -(M>^EYB-_N?4.Y<61^IT +!3>'P+X#0Z=%*%WT0M">"F8A)T68/IRV M05RNX33VE#IQ^EYTML9;/PSIE#NHYH:=9WOK;$79$\R0LT;5);OH):33:G;Q M,XD"WZ,[2"A)R7_X189->8QJ907V=#P< L:+$[!;&X21VW 3Q7MV=-]2J4&] M-^R)LJ,6JE.B8E>XDU]7 70=J#H.G[SH2*@RE.VJ"F-IXLK)ZS]]X$\&8^]+ MY!UC"K$4*SC&TAUN*[5I;T.B*8)E#X1#LE@0*.N\%6P7%TA5?\RGU@2NRXH8 MU7^_@M-#E""KRV;IF9UAQ++TXE:TQRMZ-M/F1PT-H;N22+:3I[%.6D%V*"&O M/=Z$(201HVG=KX:2CIT]VMH+HM/S/;%6\F=9=2WT&HY3KOW$#:+D&..6>-8 M6=BN:TIOIYM"?6C"A05CDO6*%"D'!#PX#Y4"B'3-V72VB4I&;$?4UA586W1X M!7V6/A5F&O5K&C55U\P Q+%L>I;&7 MU!C71P_!?0R4#V$)%(85NRCK7A10SI(C[=]06,9;)_3_X63UP[(=0;JW$'H/ M1-EYP:+E)H-')WC*]PK;JJ::H@T;'XQJL(HB1@C#Q1JSXNFZYO+QT_S^]O_, M5[?+>S2_OT;+A\4C^]<36MZ@U8\+=+7\_#"__\ODO+,,7E;X-;TD'/XVQ$_1 M/,P[]EF)7HVY;\,8[]2399)J.W6%(5;#LV2)1=15IFC<7;"%2KYJ:Q;*&F*\ MV5FUP-,P:-B\QR]SUZ4E<,FJZ2&.0O*GFTTEP'L;0+K!>$:<@0>D[L)>BG M TVF81$&9X"FVE1:%CR0@()R<1I+@/;(.S_$MR2B$%^5ZD_W?7KFF>9,>&=! M]/UYZ+EH^HGE+W7_J_* :/'D%C>EK"#&BZU754"K$!A^M45:;=L@ADA/%L4Z MZ\]0>#^!+0ZCT@T#9V78D8@ +;&_DP%"D1!72H_X&8='3.MTT'=&[?3==%!U>;6>WY*^G MU7S%/D77\]7<]IVVJBXJ2FB;^CJ2@.T).OH077%KZP_7*[2D,))WFHV&V'"5 MDVX "\1QE0(5,*YQ[#\[]$&SVY" XS%?(/^(O:W>18)^%&'#B0%M5=&E!SFX M8&-"*%TWNUX\WOX\7]W^O*@XV>W]T^KQ)VO[+:4^9&?-YZVFX@G"\^"3)E.P M6#-GMB4]F^>O)1=M)ZK-+:=B?])3SX9F4[!#<\=J55NT?<@XL'QE7;6!C$?7:8?% MG* Q=$21R5C'BJ:6D%% RJ^^H5ZNT/+R[O83SZVW99BEC\H72TTMX9ND0+I3 M>SQI!ML81:PNK*I2MR^N1*VG9*\MBZS&IE.Q M6Y.+D9J50EAQ#2BH^)5#"W%,^P)*U!J^&RHO>QJ;PG;#818KZQ38&F0@00%$ M;:R615M>Q5DCV$[7+%/5U^HMX+J8@$]=@[M;S)_LI/7 M990M$N0]H!M@J[1U:Q0VAVR:[4QKVRFC/>/E?V:H0M_FPJ%9XK8%1'NO*=JR M=$'1TF5J-FTN[I;9M>VUQO"R:Y:N>@F\D#GC-]]_^QUS2/I)QN_R@&.G5I>/ MBR!,D^O:%Z9S:FF NFBGCG8=U8MW 1>X^J"#X2*D="\J.6).:Y9S T<616ZT;0 T:ZB_=Y/ M3TKQ"%9F2AT 8Y>2K 5@25O#"R7=PMT M>[]:/"Z>5HA\=;NZM;/::Y2];8NOM1-,<^XFV:9?D0>T" M#BTV:(]^PELJ^2,^1#&;55M>5Q(WA^W%;7+6+I<(VL+UW%:.M4]]%Y_8-0AJ MN)\6RT^/\X@AC(FLY+;-77.F;],D#CI]V3NN,(FD.VSW; MY*RZIJ@M7+=LY5C[$;#YX_WM_:E+"*;:-IW(VD_+ M6*43B;#Q=,S5')SFE!$AC1AM^_/'@-("\LZ[*$EH)4 B*0[=M[8D;F%KV)[9 M(F4M\;"Y*5RO;&-8_S"1E2M>W%]9.B^\PULG^.RDU%-IO>9"1K^]@IUJ7^!F MVT4#]>Q9A8Z 3;H3^_II:&04E W#2YI7![(_ XVC!NM^_G1<)_CO1QRFBV>% MEUXES6%[LK?W'12 MMBD^IV]H-QF;-'327A!%C*K50_2Z@'=M!^?BYI,RSS,Y)29Z-X%#\3:.S9GJ MG>4;0L.)"G"64*BS+6X_*8=LJZ M:#P9ES1:&[ONDP#6&0,*"\$K+YW$3Y:; MRC-/4>"[;_Q_VUQ4N3-L?^VF@_IS$"H]X7IR1_YU+9T-0Y,ORX%FB ^"?LW^ M:]O/QU9%];5X&XY_XR>N$SS@V(\\@4I.FL!VXB9YJJY:_1ZN0S9RJ6MKG!CB MU, YW!"B_@4[L95B6S\E>+E9)*F_=U(L6F&>-8+M4$$0G&L-+*\-!WL@,!%SL'C$;N DB;_Q739[SKV_'1-V;[!25T.@&0TR ML)U45R]5-^Y* ZZC:TNBZQJGHX"# NL:@?8V>9?UK089V&BAJQ?%]\4GMOK5 MED37-Z3OAH.#CM'5(WY2G8 *^6_PAFZ3Y(@]@ \FJP%*9R*PX41/)QV>4)X, ME&C*H3_)*CRG/ Z,/.-X'?5Z5WDHY1#0B+:AK[G!)J@A55Y?OWQ;D=[ST.,7 M]^@Q=_72NK0^GA85F%C04RM%":KN)(!7S^LAD'8=/6=]#)SXI(B>F_E<@C91 MC.+,.[8X+&KKE2\3K=\050E+^"-_Q\6%V80S/&[1/0LJK):*N"3@295!*_"5 MXY[4A[ 6ID'04&E:A;$PG636PA-'F4%5&]LM5'/E)+N;('JIOF]\O>'.'K&UE[&+4%S[KKQ$7MWOK,F^$5C\XZ!B0(!VG?-X4=; M;[C@H"&#">?(!D.5T:# A"6-.)E&@G(TN^CP*8J\%S\(U.&@J<=4_%\H;;/# MGS6?@H>+F39AP#EU>'X\K-SNCM @\.6'*-UA$M/'\1O=S2)!_Y$UV.:*J6UV M'4,_M>O@-SYA =_YS]B[)>NE<.N3GVV>)#CM&@=TH3050.BLG6:@4"8S!0#I M+HP)!^.C7K!A43DNX@/#@QL[6MK&49(@9T]/M_F>*(DHCOMCX-"=!O(Y@9U_ M%'L4CDM6)S'YPO?(.L3?^$R'?JEUM6P[9XD_HI)>*RO]COX(2NS_)_6?59XOW%0S+TXRAA!W=W$<\BTMR5'9B) MJ>#EF+^)? ]X2 ZF@-*CZL'HCC/*6*Z^,C]#)=?9;, 91!7&&=Y5OLEXGZ&< M>WBSQ.1^)1K<;AP_YH$M^RVB8YJ0&<.C/YF'8_^9\$ F!_)WXF]#/O$D:)?] MJ'XIHO5]KWQB7!*IXJMH?XCQ#H<)X9Y7K:0UG;IOAFE1G0K ]]*:<-NL.\DI M0' _P0QML!7!'V,!U7A 6 (1*N3=@W)0_/[P<6VJ-"1^O W_)[(S.$7]W@ MR *8RL?H&'K4X9V#3S,? MU7CWO[.'OM]"I*U-Q;W!JV9[=(6:^KV-@4KC^W M,:Q?.]&AKX]3RE"\>"A1GX[[O1._Y6L0-@Q:O![(1(Q-/T5^Z01TB?6TPYBF M"+#8H_)VT7*3O3_122L(J#-ZOPF4>![;'554[EI0#]5!-%- M-43(3F"(_B>U+-"&?YS1NZ M;U]M%F.^:9)&V4QC8PX!H]QL6CF?1.C44LNO+T]!H,\U8)1;F7[.%>RH*?BQ M-%=^JL(/DY:'_.;:G<75/]-VS@EC)$]&?/OLI,>8_%=Q9T"'$LSIR(!VZCL* MG**^:%VVG<"-# MPAZ(TXT";*31T$:]*J1R=[C(HB.$?J%%/@_#QY$QM2+%CYK*;*-'>9PC>6W^ M\BV_.JY\:-F5&FQ4Z:FEYJ/.3J3@HDU?@4R<%9X_Z%X9>T:3^8$4:8"DM$V1 M@U?=$F!9Q$3F W93NM"B^-50R<$&5EW[B;/=QGB;K5.SPCY*,8YJ7]@XU$D# M5=11Z@@78[JQ;R3[H#8B+Q[ QK0[29^^LTK+Q[OST+OV@V.*O8Z915VIP7:. MGEIJGJ0[D8+K0'T%,N%2Y^\6SQ ;G6WB9>/#FZ#M*2P\[M=$5>2O%^QO=V2P M"^<9Q\X6T_S&/8&EA#*4U'*[CPG?(*49D(0_M"XT[&4:7CS8>>_I)- I2[X0 M'8L4GZ)X1YCX7=) M0\VX!/V:\V$)YD"HKK+FL5(=G.$LC2I/)15H3=H!-J:TRUJK[2UL#1<-%'C6 MKM==3,@-KFRG)O<8PIY5_>R]^D^P^]4V>O[:PSYW4/)'Z9?D'W]EX)-7<3D1 MONE[F%XGE(0ZV=F7\'Q*S**N5>74C#\$G,1I!>O)OTI[(O_XZR,M_#%_]4\A M_?0[F';4* &UH=H7\.RGF3WM<(&F:26I3U_V^HP=&J7P/5U*?5Q+^HPI.(JD M+;X%;DUU*6KVQ+\";%$G#!JWJ>MH[_CA:%;UV0_]_7$OM*O3[^%:5J,DN6W5 MOH1I7 O:))DL(KJE\"]8I&%K7- MB%.SZ!5#B#/2JNBMLEURYX?X-L7[T["VM3%,3U&3L;9X:FP)SX<4^>VUK'JK M)4O_2JDC1GY<_QI=5-O/95\?XZ;[(RU-87J@BGRB9[3S=O"\3XE;_13(RK/: M*"=K_0UM8_+=X7";[GC&$)/TP.C;\+KRB=+D)HHE#Q(V[/3HTH#MIUH:J3IP M)P)P/5M/#%V7J+Q,^40/WIW82]!/!WI'UO1N5 ?OH \^+3?S[*YXXZ*II2EL M6Y?)5S7IIG9P+5?*[2 &:GIKJPN %WP5;'&N2,O??_.]U&95^\(VXDX:J &U M2D>X9MZ-_2'LG@YT\-[_IQ[>_Z=WX?U_TO7^/TW;^T_9'\[L_P39^T=4@PWOOV)/[]R& MU76Y'[K^(55OFL+%$B6N M=4W]^NPN:4;>>!)L!SOFA?F+]TOR1TDD!R?R'K"M6$':JA%+FL.U816F=4TX M>X*B(%YYK,?:<8= 7KZ[W4U'19])6G%=8@4[YATF9\DG; ]@RQ9/1F@Q]N7F MR0EP(MT):6H'VVJ%DM56**>-X%JGF%7M6)B^#$#+V%":=O2$J_L8=98R];)^S MAEXH;_3).\H<2C+NT(&QAZ(8X8S!<6N]P])MQ@TMV<[X*;"\X(A^5?"$&%,H MXPKE;"'.%UK&*.=L_#KO,!5;%DQ#'YP$.;DEZSR_*)A#YD&0+=R6FQO'S8JH MTG S6477?HS=E/VC5$&FG"8M]B$&>&[HK:-B'M"F!!SS^\O5!]^=/3WD8+GU MQ=@$R\EXR.&,\6I>'F,D^Z8"][F3C8OE]G16CDSQN1R;/:Z7$"Q'?/CLWQ4, M1\TQ[ @ #4);31;&JL35[<@<.F^.MC"2LV7$)B'D!D5=0QO_CGAWF(FR(6FR5$@H!]3ENY MSH'8>V1BU# % M.UO[89+&1YP_T_/?1YPZ?DC8$^[)JO>'B93:FJ@?$2AVAKM) MV5T$_5WW_8-*RY:2N*9H P<2DQJL@8P)PH !R*AXVN!$ MZ,[X&W\5\A2/\I$1;T++5I]\6.UANWKN^]*F#22L:T>@YK-&L+&I6:8JR-1; MP$4+ 9_ZTW#-]JRX[' BN>9+@M$AM6FYN\D=^'J+$IY'6XC7%8>*3 MR.?.3T1!1%^:4W)038V)_;DCP:FXOZY8AM!B5DG8*Q[1HX]7Y<.C7TL&T"(\ M[C&O?V,G-)B6[NP^:O001P<-1EWUT/Q. MD;PO7(SI+('VP71&?H;8 "P8+H:P>1%#*/?E&RT-([F0H=83MO5WD+YJ^ K= MX-I\%^:UB[9%X?;BSG\F,\"*4&"3(IN%+%[8$'LX&51Z;4.MYT0M_5QZ)4LO MNTW0TAN8'\#2+5[GN#G&H9\>8TRDOO%?Z5_R>QW2#K MNUW66L5086NX=JS MLW;UT)PTBTARXG8O@8PNKKFTDRO^[&'\HQ-[+PZ3X"G:I/3/1O=3[@33!;O) M7"2BM/8 GHZBSG^O625@LXI'\U/(>]BV-3.0]8.)B!VFKL8FD.=S@1(5I M_=K?&6U4)6XW.AE?7H-W%HYIM(_6?H"357QT?TM8A(6#QYPQ$HO!4Z\Q>@Y[U_V8 3.NKFD><3FM: (FF;"J(EUIS?;&-4W&@L=H@3S MYP6(&M!+%/\V\G6&L7Z2RD SQ(?*ED%4\,INM+6(R(8J))H M4MYUU(P0*DC M3&3N+KO2%N4=_+(!'7@?Z.3I3E@\P*ZY,\^G!\68!46/_G:7+C<_)9AMKLXW M!$CF+IGLC@&]I':=P3VK.!5Z\SV='/[!_RE/6!V5@8FZWV"_A9(;&Q]]@G P MG X,PTB MR2/5,XU)0E6S,7+'D6'C_8C:-[""[C(LW%ED3.&MKID;IB3IHAE60 SHUU # M\&W#H@(RA-L [W]NV!X=L/])H7I*(&T'G;_GN@]I)6;L#;&3.=ZH] M1ZR]<>JY:Q\UO8435^]LQ22E0W$1Q M!]-7Z0?;\)4EKSV0[ MZ[SZ]3&.Z6*G)6A1Z <;YI0E/WGM7=X)+K2IL]YC:4I'0)4A9B@;Q'H08T-Z M@Y=3./&GX]HMRK&RRO0GXK8VANF3:C*6]TU$+:%?,&GEN]>#%=D[8SB[S1KC M('^C(K?-VLCL(0:VB$YP_.R[>.3;K<-I0RRNA4> AA>Y@=13$X45:F./[97APF.0G-@_.&Q$T6#FOHCE;O1=@V%&7NE:)1]X%."1U$$"_FFWM@2A% MK/+H(H5\$ZT#GS^,G-!742E/'EN09+#%;J0G1, C,>XW^BD5 *54@K)#NHNC MXW;'+],STI1$E7:%9$)?NZ1/CE NV2MKI8[HORV!Y @_574(II%L$,1&L1*< M61.]9DG&=VD>\9I8(;V?OR2V'TM0M:T#8$!5DO5TQZ:Y-7 85>.][Q(B(\_, MDPTPZ'JI;5/F70FKM#\SD,2<+)^1*%WC8#/G[V:1Z8RPWA;%*?2!#SFM$I^B MCK##-("GG?V^[EB.P R5C6$5?MZAR$H@-+S<3BEW]I8UD5XW#.J]95P^,? I MBKP7G\9]*N]*G+:&"5J*4C:_&E%K"G?KN(UA77O-Z=)E8D[9YE,0Q2LME\?$ M#W&2/.$MNP4C>02BK0]PJU61N&:[L@Z +5B);6T[SHA9?-LA8T'ZBL-I&^"F MV211S12K#0";7B.;_4U-_W$%T7%4B./MF[C^Z&I->O"43'(Y)\$\?^#X&=!GPE.7^R)Q;I1MH MGU>6NP(%K7W (X2Z!/H66HR!RD%0/HHM1'G?@KW5F_.R&,4!#=1_.+$7HL2ZBVG M88@-TC698J49?&-L8K:_.5*J*"-KY\;#$/)=[4@_EGMQFNH1;= V&]#N1O*- M'_HI9H\.WI+HB+\ZR&YP)6I[RPH$8#MK=UTT[T"W]8;KVAHRF-BGYH-E#UZ6 MP_$+G8G-W6N)&B[?/CM_B^*KP$ED>]G=*,!V$ UMG%QR5NT.UT5TA.AQV5GF M%^LWQ 9$;$2+&^42G90:N7?V\@>1NU.9K+?(M*+H,4TD)NDU4D&&\9Q9S6_H ML%;?55[&'HZ7\4,<>4>7[DI=.NYO0;25OF#8V@FV0^XIJ_(MZZE M,_*(&',Y ,I&L/NDX#ZG9!3 M[3MEE"";+2P_%CJ,9"$A:,.;[HEATFL&*9YO8ZSP=J^T VP/:Y>UZFOBUG"] M3H%G72LM2:.2]J">J%#X:%AY+W*!G8*XG>JDSSB(#MA;87<71F3:?6-%GN1^ MVMX+MK,J2EVO2"KM M=M51G7KT2:T4?E +QXFW4/'D_TM!C AA-?'9,TVN/X MD5:WH;<[=_Y![L#R'K"=5T':JN-*FL-U6A6FM0^L,MJH1MRVKXXB<5PE#FP[ M]:XE54.Q*VS?[2*_XF[I'?PD[2\YOX'^I,A(QEN]@H"$T P#9&\8*W2;K],)WC-OZ3-+1S;SI MV^;B]AXS'EQT1H76?C^>74.W[<&='RSN3FBR7M[MD>*.5":)! ,^3"S%!FC/ M$8^M'T7Y+8/)3PG>'(,[?R/*QU7L.E7 .)=?#2+*?E,$A0;N!X&!&>(C(3H4 M,,\6U(5C;L5N*CG_PFR29NZ0+;JU7DK9^F MB=O#]6(EKO4/DW+BJ*1N,?.WY.?LIF+"$ M:P,FG%.WFGU+IAE,%)@^DLCOZ<4Y2(]$A8UAFZU$:ZHM_.H::4X6 M4;J($K:;\C>:F%#BH.03P8.[*$DNWW[$WM8/M]4SWXX1DA(QV![<3T=M454[ M);@(T%,>7=?)Z-;R(RP&8@UB2J,P67O8GM J:=78A8WAVG,[RV9-UF+H=>4D MNYL@>LD8DR>C"=K"-E:IA+4$M*:&<(U4SJYV"A:ABBA9E)NJU:!K)"%MAUS4 MA@D:7-,J[@IS[$ESV/[7)JN%K1SW7Z//4$$:4=I6''$4.?U"3N]< MSI&=\CZBC#@!/\YNUZ5A00OA M'&O9'*5L-_XK.XHJME]:M='48RH.*92VV2?/FD_!+<5,F_!,1AW5-M8L>Z=Y M>;F,,=TS_. DR*%/P[DX3+^TZZJ?G?08^^F;6B1[VGHJ+MHH9;-[UII.P36; M&3;AEL51TR+T( 2RPTF:OVB.,)'45BC+GP*+]H<8[W"8\,@]VN.2T>2_CT[@ M;V@EQ'E"5\(XN<2;*,8KYY6G9) >,2;B76/^WY9K$ ,/"1L>QM!WK1C/@./! M!:I1I-8N!$290S7N$&,=5O&4J#FHJCIM4G)ZI&":\GNJVF)M,_82R =X9L+;JLA>J"JF_ M(TAME]$:GLJBT&F Z=#*[8&DIQ!:*' M$;0J"@IXK3\-E!U%SSV@ENM9!K@SE$:I8^7M%VGF[*E2;PBX5*[(+J]N5Q'_ M<19)ZN_I9[1$!SNQ7467>!4[8;+!<8Q%[SF-.#QLI![[=U#.!C!7EO\C'<S,?]II@6QY""G _HJ&V68?I>S_!XF@4%_!O/@3W^&-/L9 MTN:?863(SVMQ.FL_\%,?)_/TQO'CG^E;EF2"O7R[=(@B7?RTPSB]JA\DR/,W M3(\Q%3 WJ-%FY#8PP!1@VJ28!L @JZC[H<(0W0]($64*,:Y8RMI MN>*)E#)/S)I.QQ%/&39EGC.440;AA0-(Z7 IW48I;3AC)N-32N)VN@9@;VCS M-,"'*/'I5+YX3>DAPCK BY"L$V)'4@;6'/5).7M?+4K 09?T9,"DMX#&P6>& M"F:R=]ZSO-B<'_1KR1&JL 0B>)B@/NWB8'7QI;I,:.XS%RYI MB+=T;[RSNPXK,(@%1\'/8(L.$R-,#1)Z:U..(-KDIP0X_84A#W=WCFUJOJ>%9H]2M44[994JXT\RX69LO!X 4[@PC=E"*'8K$MA7T ME!(/&/?T&V1J4&%"IRW13X\1I@1$1N0<"K>F'P9-6KLV\+.:#R>Y7;-RB+($ M/T-'$K"Q3T)EO=:;:^A7-JB57*<*HWF*Z3U.:Q?/'ASJ MZ=)*Y=VI3,9CNFA%X#0J)";A-YT$,>$ZM0N<+'/P[(XG']MNU?2Q553-=Z=% MJAO3X@'/O'=^B&])U""J6*E!9C)XTDDO&K-P06,2B-)-DI%F8SHP8B-;F9+; MKG@(5)9M3_*2;P1^EIN5\]J2DS#04+"=<4C]5AUVB''@.O6@TFH[/KUD1 8* MCAY]6N6!OH%+)LQYFL;^^IC2J)O>,Z+K65I"-@H"VBPO',U"#G8MC-:!?"3? MHILH?G%BSPHNR+"RN8Y9DBM4\)OUHPC;RPUH2[7N2PLYN#YK0J@!Z[D(*@PF M5;\$5[-E'+U)ZK.(J@9:61"8G!5&F'C H]H0^APJ9H&+>X-(J>O0"A?6A5!9 M)"4@SM1@R*A^8 M*M[SX25+!0J+.LYOH41ND_I#/3"D)!-2]B\(MFYI;3L5!##_4VVZC%AWKO MHQ0G#\X;W2-819=.^%LB/0*3M8=MJZV25LU5V!BNQ;:SW./5/IR@C#2=_AEQ MNV=18TMKVS=90)G]K>ZAS;VFXZ<2J47>VM!E&CXK8]R(+<^R%58^!AP''EUT M.^FNZ[0\MY:L4QH;PO99L6SUU-'35G ]4\*K?I+A.JUD+EAF*XTP M@!I4)'/.S0(NBB1B[SYO MB]!?(4_GWR/7 '%W';[[B631Q67'RB\LB=?$"A MYML88VN'-O7(Y60(.W[)WY[@]]OP592D-*-'J A1:^C>*)6R[HB-32'[ MH)SA?DO")#FR8M:,+$O"L'9=?A@Q"PE=2I$]0$M]$7E^XK(4"UL'R:OL*%)R M6EEI MO_FN0Y/2K.OX?K:8U>B5M]);;KUTZ X?,+KH091W(NL+&V@Z26 JQ,YS+NDL6 YGNX[G:.I@(<]R M'?A;>WGE52B3U_!L;@G?KP72B>(!\(4Z9 MB!,=LGMLT08%A0ILK8VKTK96G!,VGHY#RNO+-;>'*R9Q_M#[1N&\YO MP#\ZZ6F%M [= &-,![D+M%'H QQWNDB@?YWQ0&C1 U24[C Z8"($86G+'G9U M\R&1GXV)XNS-5S9?EG?FOAH5J\90S&F68S%*46\"T7'&/TT?0_@KP0__P4F0 MDQO)EU:6+V1AA?'RP"IFAML[3/A]Q#2A+_\7#1-%4:1J9YA0J*>#VG)'J2?@ MY4\W_ONLWC%-ML\'0HSV#!5C\0\0'F@<190*"+@"XD(![ .4GBO &@PL M7OTDQ<1[EIOE@3(Q@3E>2,"'-!S&WE]HD7B%+0P2@W DF'G23 MN=A%;>T!? ]5G7]#.ZCL--$/T#J\1/L(Y MY)78-GI@-)+D9PA6_,C6XJ)'G/C>T0E^=H(C06TFM,?>;!? OK0#3&Q3E[5> M/%/4&F[\HL"S/HYQTHC1IE$)IXX8>2L1R!C2/C-IMT=*-D]0FM8SDH<1CMU!LE* OS;14\$$ M@C-G&\TBGB!53][.JX9 [SHLD#^LT:P M_:M9IJIOU5O ]2L!GSWND7%KX_0LW9L=5:A1G"B[ 7S'I>(Y-PM>L5R@ WD/ MV.ZE(&W5UR3-X3J>"M.Z!IO1SN>U(B,MHV]ICAM2XD+$*,RFNZ!\8-[JHJTM MF@;OC-(0<@*1H[F(:N PL?W&MS%)>/V5$*>68T.V69/,0^^N]%:^#=NRUZ'4 M$;9?J>S>TM1=<3^S NZYA\R'87>[*(#.4G3D,NX6B, >.H(*3=5_R@_W- ME5S8MQ:O;N\%VZ45I1;OP9QU@>O,JHP;VYTIAK"]$3J>Y-R!9S B6H'8W90T M51?NX+J3<]D!7=5*F#R4F#QH;O-%.SO&IJ4\34J)[!:(J6X=//K;7;K<_)1@ M%DS--P2P*T\2SO?TEOX_&*\MX49_JK"QS)#61%MM&B3A8J,IP0QMV3$6+J+- M!6&"9UC,D$/YJ#TE6N7$=E0$18$\9D(??/9./%&2'R+\]Z-_V.=%OEB+7120 MK_:'.'KF!:)G=#OD2RN+)9GJFK6F\1L("4T7P^2Z486M9BK31*H6608$)Q$L M63H!M*"DJ@8\FO3K^DT:L(THW14V98SH" :3]/KAW=O*,FY(B?DB1SDL .;" M3RD!&@%/RAG"/U:LH06X7'/MC2BLZ?=K*^/)J55VUBH>I;4UF-DRH%2V[,:R6AC2VBURF\G QA1=O2A'*PTTX.** MMB3#12OYJ.RA@1G*!H87KPRK'2&^Y(\9LZ<)@ 4JZK#2F0AL4-'3B6*@,BE MT91CJ$ %$)A8TLQ@0"(H,'I6?CF_#)^='F[$8&YD-\E3W&B!.4Y&5*?%:F9-RRH0/JX"02HN73BU(6XSXW.;2D M3#+<+-DH(UDY)0!;%4,(*1+W7=#D )1 MNSF-VZQG8>65LC+)EV&7M"QI9]ANVTT';>7ESGO"=>N._)LN.I<-12NS#9ON MU65?84 ]")&@EB9E!0=.\LZ7Z]3Q0^S=AF0-N2/2XILH[E;FHQ]%V(AA0%NU M]P3TR<'%%A-"::^6SRXOH'Q\&B3G'+ H^G0/P2X2@=#:D:C!X>72HHK:<%5M M9ZL*]BF$D*99/83#/**[/K9M5G0D 1NL=/317LRHN3]<.-*2PM2^9*W@8#X@ M(B/:WKJPHQ4HKSP6T)E+R[-=/!S3ZW:)ZP1_P4XL4%TO@K 1H[^NVMZ 5*,& M%TT,R-0O3;WA7Y=X _$CUU1I\&6A/''IE$XR /C6XH"XCS@#@3<'%G M"(T1!/@C9*"AT+IZB7JJK:3R/F#E1"LZ:)*1F#Z(G HR'G;0D0EV1* 1PY1Z MB ?_"3Q0D#%%3PKIT'E'8%'5C#9<4"+O!#!JHHP-&71P^*!A1$7$G[^##ALW M1-$&%):1>3^@4=6++F90&N\#,FJ2C(P8=&SP@&%$0<21_\-A&""0;]=5/DO6M1 9X2WT^F_MGR 1O_=PDZAOGU#>Q52M-43C@$D-,/',JM%*0.Q& #2?===%6''MJR<<:,I@M;%]+/)Y!R#P> M7R508$ KVUB+T/1@H7MV<7806] 1B-QAJ=SJ.<,:9":, M(HHYPEUI3!1!ALAP5<$/0)G H^O'5@9PFZ#RS%_UWM,&!TFFKV+7Z4*!J=15 M502PFL\[EC)LY?$JR2?)W^W2_QVXO"A?5[GSQ-W>2/)I-\>WEI4[GD)L9>.J M2"C)PNW0??JN+\JZ5>T[;<^MY=:.I@ZS.;5M;+?FTG8E -.E]751 MY,YVZ@T\9U9/%FNYLO57'],(K3&O6OJOA-EN";/C_NZB-Y%AY<>.JQ,@>;%M M0FM.@F#QOZO<74*YZ89P8X5N<)YTE.]5%*:QOS[29>X#$6KEK /1 J*E"VP@4)&WZO>R]G#=7(EK7>/-B*,J M=43)HU_9 *=S_#BUZG'J\^=M*"?WSA[/7WU1PI.P,6S;EO8 MJ^ TZ;^/3N!O?#([.,EN&1,TQW&,O7D+_&C0=)'?K"-%$M#13' M1ZH=@9\<=19#UZ*+@1![I"Z*43X6J@R&?N7##;(W(#Q&^6=2@OSP!)@FS"&= M( H6PUM;!\"8IB1K 632UL#12XWW 18W-E#J/0HK1R-+$@/:>Z&OU@<1?:WU MCGQ]F^*]:!W;B0!,\-+7A<(N34-ON.L*#1G,^WTY&OJ5CH?8@'9.;494R&)_ M"*(WC-$E#LFH? %FY2!8N'/W^D2FQ&.R>$UQF/CK@$B?B,YN.A.9)#:TZ$1I M%[>1PN0PHDT.XS@Q0V1(Q,=$OY:CHD5(@K>8Q6Z@0,.JA@#AR&?GU=\?]W.6 M)EG],GG <8Z"Y$\7"P^&S5">).+H:$\!AKJ0G1PV:0DW@#MF?"#.2*U%@LCX M*.=EAC)N(.'7J%K,587SJ,BMJM-)D$-SJ>E0SA;35&DWVA\(JO+T[R.KBO"' M;SY^^.U+'E1^J';YYU]1=/%U7Y&2HCR6<;H)PX&]9K)5&Z.#$J>_Z!WHOP0^1E\%? MS5\/9.AQ;RA8UYID&LB90#D7M48SE#&"."=@MK_&TUVN@$.3 L8%Z_D6+S?Y MY':Z!V:,Z/N"ZV:=]<'K.L7W!]@"^2Q@SYQ'4P4OT$'[GTMSQG';L/KF:>HP M_9&@'-".@TP#V8)EN6%?=EL1=:(+$^.-:TYAKT&=Z.1V&C1$LP!5&2<4KE@+ M2+L,%C1XME29Y=L.,=KG&G1K&CR4&F0M^N\O6,0^XS_0.T8[LS#W'O$-"+ 5 M0'-K%)Q,/^0 WZVG, M #E+KZ)*JAUB7K[E.I-/Y$K]8HD+ E"RI^=V*=W@F^S*^Z+,*45?(KL@>7F M*DKH&PW^?GTDZFD\D]ZNG+HUWW:8?/0CHGQ(Q,/'+XHE.%Y\(5"=O M!O'R_DBON2PWS3(W::>U!V D5).V@#UY<^ 8I\B\_N7Q Z'&*G*F.YH,M(GB MO9/'_O1DD,[RQ')#Q@>UZ^<< 3!EP5)1[Y5[F\(__X*XE1DRCP/69L[#I.0^45:4.8"-4N&P4F<2MX2S %7G5- MKT:67QHS76BELQDV%E=I:3HE4SPOJB)K-Q5S-%1,I=$@]6NI]-X *UX]?L); M5F6VL0I!>VN8!JHH974K2] 4GIFJ,JQKJ>43WCEA.[?OQY?3AA]>1?$A(GS@ M>YHXO166.U)I#]L76R6M>J.P,5Q_;&=9?^[(*,\0H7V1$;?KE6-+:Z<^'C5K M/_#9I'U#K#ECAE5I3U91.:ECKZ4*NBXMV#[=2T/ULGL:A.!B03]Q]*_*<&"H MCVZ[V+E=7<2UT>VCR'+#S_IJ>JAJ0%;I6)/4E#"DFW[$$*)&9RH(TE$:_4W; M&G!$F^Q@FK]*E;M4&J'JT#:K++,-RX3SM0C\O1\RSJ41=%L?V-ZB)''5+:0= MX-J_&MNZAEZECBKD+2]U+0EMPW,S,'ED[]Z113@#F@)_PBW=(;MK*3?7E09L MS];22-73.Q& Z_EZ8O2/F;/A9GS.0Y41V7:M_?ISEA5C9WA M]]FAKRD[09(S+5W\M7:";?]J,E>M7MX#KJTK\JV=;TO(7SBA=U$,@ JCM[H$ MM">WN:31GT(_)5"17402N61+4YB.J")?D1\J: <\,;2-:UW3HW0OZ)_>.*XF M3/1\+P+*832UK"]?J6B7,C4_8$*8-MK/;WQ2-/TEY%>T)892+D &E,N?MGZ)G'(?B2Q#"1H#] M72A3X?!G+8![O)A?75LJ*=IQ^P<=K[K!(*-#EE;F)"A)&&^\A0VA+GR;&=7>SZJ$!QY(R3+RJIR(-P( MD;4%;(YM$A;F*&H(U!Q;V35CCH8R,A+L?K6-GLFO=0S3^(W;9/:/TB2S#_[* M&*Y*7/L"IK&=\TXMJ_P4GADU\*8]C][?KA;7Z&DU7RV>1@T-# I!3!TGJ>_: M.'_,2^>P62:Y#7\A[K?C=7/XQ?*S!Z*Z]83I,QK25P\H%;K!\SH=YOM73.*C MT$?T7N@X68DHE(]DY0AS7 TD)QK 7 -1LP;&2L.E=?CX>]*/?O*;[+*FL#%L MUY;+>))0V] 2K@.W\-LC6;8DBRA=FSV;E.S[F:YY=9=[S,EZQ9P/HQU M6[S3\.0$.'G$SS@\XGLL3VD4M85MR5():[=9FQK"M5DYN_H%&1C!JG4V;^>/ M5,F$<4.+4#1=19):JVI?V-;;20/UXB0*'>%:=S?V^UH[JS;2? >MW1/&60H# M5 B,>.QM18;KMM"H](#M_0K2MBPO\N9P/5V%:8-A%Z4-:3U!^>FVE*CUF)C] MGDLKW]\IFD_(?AN8-FZ_%E<,^3QP)K>\BFQK+^"6K"9US9KE70!;M"+CO?/H MFS8RK9:8M2>X#4\NC_&[^;)*/]C>K"QYU9];.\'U:'76^Z>$@/-JR\*;RR!> M18<5#HOK=>(<8E%#F$[9+EN11]S8"G@FL9QG[;(:T0$1LL6J?-@ZDL)TXO<@ MG#RG>"0)S:'$4W1,=S@.KYS WT1QZ#L+ST^BGMQ=% 77 M?I+&OJQ<2B]J@/&FOY8*4-(G!1RY# BFOP^I^)A?SB,JF42<2^2$'F)\(LXH MXIRBG-51@=*B+B4JFK>HR"+NPE181YOJ=5T,KX.H24JB@6OB#3ZA]#8GG$:Q M3YK0W+7EYAZ__"6*FY=O!LD"!G:#>JM<7^M-$SC4FY10_QH9Y4&$1!2J"D90 MP0E/6Z79FX091+FQ=:_N7PHT<8$/NA8=52V:FPGNHF0>;G& DVM\<.*4.O)R M\PLMITBT\A"]L/_J3PF&Z0.>&X;09#%)F"0.?+881%1=?R7,H(P;5+)#79$Q MQ#R6L31C?Z[(8'2?2ORKU@\J^_7LU/ M]%M^"G,*..&:W>KE'\$[N#EE3/O$<7YW>[-\O+^=C^IJQM@O%N"CF/3]7YKD M8)\"-NF2Z\*D[_\"U*0KC&G?UUO\@OZR?/S?XQNT">8-(;21U+.[EM>NI!U@ M.H2ZK-*\LSOXCU8I\&SR?N&=Y:>H1A47A'<^X)A^X&SQ1U6=U+M,S$,;Y)7Z M:*7]A+RTB6MSACM#)7T8;CJ' M<"B[HB]N#=M;6Z2L.JJ@*5P?;6-8UUP+NJ@@;/.>_KF8;?&?O,?4#%8: 4J: M3\EPS05%C<9K.P@<66 ;7GJ--SB.Z?/JK_PE]'.9!A6YP MO;@+\]IUR[(Q$!F$OS:G=YY*="G^U(P+BVW"^I^?/ MRCC82@:VW^OJ13Z%RVG 101M20S.?3-TCADS=!NZ,29=T(=KS/_ZW)HN;U 8=.0&M9 MST/O-B3:Q4DZ=]WXB+WY.F%W_06*-D,9-@@9U%X5EPR0A0M5)H73KBQ;X8&! M5>\H(P9]&O.CIV5S7O1X\10S_RO\9Y1SC"ZO4M4@^B% MX"&L?R*5[ZSYXR.;*$9'X@3LCA!*B:H.4>+3T,Q*_=Y[G'(%W$5),G]V_(#N M_ZXB^JI8%#ZED?O;+@H\HMMK/SBFK7%8'WJP<:FWIFIEOW6)P<6D_B+IYZRD M.?1\H(-_B8KAZ0T\S@"J" M-#6MZ.$+(_$>4*4NR)A8PD8>!#ZBU G,P(B6 A)@ .)20V=0HG7J(%1P(3MF[,[94$F\\XAFIZG:>RO MCRG7!ON,("GV'IPWVG@>QW3WGKWL*M"L$<*PX<:<[JKXTY\J7$ R*%NO@R+. M0@%'C E4Y8*"%?-X_QFCQ6:#77;[B[6\H(0\E#&'JMP-@6'/.%Y'\M44 +66 M.O)RM244/5%T8'L\;#N,[BS1R]I$>_Q+Y\6)O01]\$.4,):MK,:>W!WVC@%> M;N9AZN?\/V'W&+,'9A>O;G#TL,=+?.\/1WX!=[E9.#$M=Y,\X)AI5Y9@:GP0 MV-@XC$YKKT(8'0$N9@XDIW8-GHP=ZNI5AE#)$ ZK- MY-N>.KU\:R8@*7L_[(BP46$$;5>R]WN3F6?J?E$ ^>N&Z!AVWQ&C@3;U>!PFS.4?B(CRU\2D/6"; MM8*TM1A2W!RN,:LPK1W=L07NI6B!:[=>N$7!X4Q-RA/Y7)[F#^G ML(J=,.&E,Q6U*>D^+:!HTX,,)D1]IP,2K1(8A(C:6*@R& AX&$P3#X3U'2T: M>XA].X5ALU3C9!4Q>6/\$$?>D84RO.2V0$4J_6 [N[+D52]O[037O=59U[;F M; 1Z=ST; Y6#9-7EK3CT\+)?.6*5]* RXV:$MB-@3(QJQ' S-4# LE&!A6-Q5%N+6P MZ."\L=(@=+EPNJHP=]9QMI'BQ&%TK O[&3LTR9EBZ@.._>AT9="+$$S@Z*^; MXO!$BPKP0#GV)(96S$!Q_U..9?ZFD_Q;&C(SK*!=7(OJ*"PZD* M_O/KDMT[\M>?_RW_)"/TY_\?4$L#!!0 ( -N57UDWEC)2\$X *J!0 5 M =VQD;BTR,#(T,#DR-U]P&UL[7UK<^,XEN7WB=C_H,V-F*V.V*ST M0[+3-=TS(MV7D!CFO8UM\^G/]Z]J$#+-U>&M;Z;Q]\;_7Q\X?_ M^L__]6]__=\?/_[C=O;86=JZOP66U]$=H'E@V?EI>)O.PM[M-*OS!!S',,W. MK6,LUZ#3.3_[]?.O9[_>]#H?/_YGT,:MYL(ZMM4)&KOX]3S^PR!JSK9^@]4^ M79Y_NCB[Z':N?^OV?COK=:9/<<$GV+>502UI&M:/W]#_>X9?[$ A+?>W5]?X MVX>-Y^U^^_3IY\^?O_Z\_-5VUK#ZV?FG?SP]SO4-V&H?#\ *%$]==GQXP;N/RT_Q:V!/K7Q[C81_2KC^<7'R_/?WUUEQ^B+J(_ M,WPD+OZ:*1_)='YS<_,I^.N^*&S((#2]%_L__ZW3^:MCFV &5IV@B=^\MQWX MVP?7V.Y,].G@=QL'K/[VX:>YM#XB_,]N+JZ1(/_G+B)(_-^^M1Q:GN&]C:R5 M[6P#&#]T4/M?9Z-TUR%UEIKUJVYO/Z&_?V)K*A"/";-/!46;>Y"BJ",#VUH" M"S(9_N#:IK%$U+W53(3?? . YS)*R-6BDH).-0>6VP#/T#53OM1'S:L"P?ZO M[F0UL+<[!VQ@&>,%C*#MW (I.%"_H2(8<\_6?VQLXNFF[O@,FSEJSC'\%YA>:Y,D..,'/$4\UBU7G M?$W6(>H,Z&C>T77;AQ./M9XZM@5_U$--<(M):ZX>$5^ Y0,18>**=71[[N]@ M>82;9MX;%IPQ#,W<#Y([S=.X!6)IL@Y1[X!CO,#A\ +VO1K!Q9KCBY&0UEP] M(CY[DV?36(>C7D"FH_IU"/$(8(/\?8^KU=%E:%RWAA #VVM%V&[2T%-B<\+18AZ#A,G&AO0HH,%6W MCLX/-<>"$Z0[!INM0_? $CG51<47_HZ:H*!3E5TT.P>(1[Y>4(EK+6!ER_]UT7 M>.Z#8[LNY+T?.KJACOTM-$/0RB<'0WD(RNM:XZ!/2@$W5X:]K 5F0C?4)M7#X*$ M!9UX&^#DA&0]VF61AO?C"GAN41=MURAF9:@MJB"HJ;FNL3+T@A:5I5$%Q!V# MGP,'+ WO7M,+KIHY6J[/F2M?'ZQ(].1*QU^,\GS?.= M8"Z8K(+?2/#6B'](&5B"[?V= ;U[ M2H*$DZ4LD&C?4Q(DN ]'T42A&9@9[H_2X,%_J>:K' 0,98BGS M4$Y6OPF_;Z%E%%@^:L_ _, $S7%;IN.DFD*9<&Y0)ISSJP"C]!<*]W0!'!>4 MW]WD9XKWV?8TLX(^)SY3I,^>G*YZV6YZJ=[M'. BSS6RV(^PV:AQ5)UB'-@2 M"26Z#UX]8"W!W9QU/G;BQI(_:M:R$[;<$;O_B^1$>K#U M5'=,E'_*=ACLSA(8H=V!/QSL#OS']X'] IS^LPL7L;H7MV0B?/_VX>AOGTKL M1HS5 K9XU(OC/W^_NOQ\=07QOCZ[O+KJ=7N75X>^)TS<'(T<%RD$<@S M=3I"O%<#XC.P-E#/+6^L;?-L3UZQ!B'/T/$(_:L:T$<.%@<.Q,/AQ0"%Y#MO M WN)5P:Q5H-TPR]'I*KK&E2UT%Y'2RCK/NJ28J42 MPN9&_X$;/W".54I.V08IA+7WD3)NE%#&!8Q_N[L_JT,8 _3IR% M_=.BZ>)0,BW+5;?7O59<$Y2^QWJH=J.=ZF$PQ4VKFU'8]S?P?8T=<=.45;IY*Z-V/%5+M1AP-WKX#-(P*DG]N!.C4 M#L%WV<=%&@$W4Z=CR*O=9D?'IV_G%\\+=$J0 _EQD49 MSM3I&/)J]];1Z>?\;?MLFSEXI_[>"+#I/8Z1KG9K')-@^*IOT$DSQH>45ZP1 MN#-W/(:_C@WPP'>0<*%'%[$$XN:[V(5,?O%&J(-;@%@M=6R%@Q!V+;B^C[)$ M1+TF./7RBJ>ENH927:BJ%@X!XL.V.O;$R!7O#.#&9&T[;\13AGVI!BF!WN\8 M^SKVP?.M9IJWOFN@?!98[%.E&H0]O=\Q]G5L=H=;X*RAM7QP[)_>YO!L2KX. M@#0K0IS9"W!ZW\#_" Y*MQPC7>VN.MJY'!)MXP/S<$4;@3]7YV-55+N33@],U$3 9WPW'\^$=^FD^ M>1S=]1?P'[?]Q_YX,.S,OPR'B_F'"@+E5YK['+3GNQ_7FK:+;NF8GAO_YL#0 MZ!??$[?.]]GYXEN"F(AZMBKB0TM$C"AE:7Z'\PNE*7K3[5W6XS7DT0 :=1S2 M8./SH7@K "UH>!6)T/V@[V;BIDK%&HWL/)-BC\JJHE\.?>&4S"*9)%U[QY>] M*E,XRMG5MX)'!%"*]A?-!"C?BC?0'.<-[N^"+*H8 C#559,0++K-\D)<4Q+)M(@6[@-@;0S)(<%[Y5!$^N>.B!WC@4'@V MP1AX9"Z0JK2)$MQR8J\RR6#&!2O96[@_02 A MBV@'J:7U*+-)4,YV#N+/T)5Y2UN#_@KV<9\$Y-YVP@2]*-=T/G6J_'0;*%@[ M7MB[8(TT <=[ M0YE9@]P?B MI!MC:4&NU I>"(C8KLU.8LD^MBV=OO<]+ML*&K!+UOB]RUW4S7TF5YH5P%=H MA>HYQ9.UMU%C6@AE)>Y@6Z%D@BC8/"5-V:PFGIF!FY@@BA>]O0T)AK9%WAOE ME)^UNBH\$ WL*"2GI)U?+2$?"<'9XC[P%53A@!2=$BG"(GCC8T/B8\RI]H:\ M_&QGN^G""C."187XHUT&,=N@?\>'O6<)\>R MOY$YP5(U#=KYS>=N/3F\I-%#6.A278V5^P[&M@?8)H^0#!R@ERI=:P0$+<$QV.-CB?F-2=M"7;1[?7JC: I M3 9&$1L?5?%H6^L%<+;)B1*G]9RB"NM=BO.!5>12HQ#J.)C,SH_4DRA*K993 M143Z-@"4O(6:B6G)P'ZJS0MPZ:G *+BOXHC9F3.-^!H*3+M/GE%2-"YS*RVJ?549) M)Z?I!67U\T64,X^80N&H6.M4SB2@))=%G?KN+Y=&V.NI9BQ'UD#;&7"MDA ? M=VA.K=@Z3@B*7(*+HO)XBOAJ4;!Q0KE.'; !EFN\@#"^%-VN'@-OLEIHK_@H M"YY6VL<>"?*7>L;*FV]!0CH6=&4?+(>:8\&5MINZPK8R= .?FX56,8U>M]L[ MKW?;6I@]@B(W_M0U"QSSUJ1U'& 4L?$^"]K>33#B6S4^E.?*8A1#1KDM6><+CWR9CK/7.(U90VG5;*W$$)VMU M7J1)56@HNC27+GOCCT 3B' NRAEJJD*7TM1/9-@)K\4S#U12%^*$&FF\KFH_ M,*^614QHM&O]G9&>N/C&E'YG#1&)=JVY.1X#9JGRSATZ')6LLZL];=W_U9VL MAN/%O#.YAW]ZFLZ&7V"YT;=A9S2&_QZJ>NP:8K(7 M$;/IP):J.B#K!5@^N(>C*B\5S/!5-WW$=)1V$/[O$A_L)]"2*M:$HK%T4)8< M*1M_^#JP7;C'C."@;JQSRC90^>QR-/Y4"HEZ9SA ]^#G#ZWG*#912A65\NLK M7]$L6^A88PF/O/^OX%K3EP7@P]B!F+UD9(3%3P^(*@0 MMX( L ML5MA!?;@L1CW-FB?73!96\7:PFX?'-MUIXZ]PL;=)TJD(;CN]B[J#:8MHEN: M6++V< G-UODR0IPK(WK?C'80@BVO"@4XUFQ\LM1]:H&9Q(,E")QU9B"X_A&) MLM]L!,Z)6RW8M&_1G_(>YA)O2!6MBZGT:%J7AT#CMW 37?=WFJ6_X5_,2!9I M"PV896M7>K+ >4DS$N3";6, AY1U3PR%U<__@B/SFX+-)P*OJ"6X^&O(&S8' M)FQS_0 LB)Z)Y%YN#P@H-9+P_6YVSOO MJ:YT,9D:;\M'%OPV<+V4R$DL\)M#EJJJ$*&8EK-L$9:]7>&,P5((BREIZ8BM MU%;&"$C=^/,C7F:<'"F$^-#<\Z;#>BH.H#$L'XH>+;ALR[T%*]L!^Q=L@3M\ MA7A"P0U+<]Y&C(UD[V(#%AA@[1Y7V154XR;'&J1J-QN]\]D!$P_(6 M;O?QAZ68THTE"ILDDG(BUYD2$R[6J%O;5)D&JI3>_\:_'YT3FASG5J1?_:/5 M3$-VT^U=-"!>44PJ62G"ZG5O8[)M#C1WCQ&8'3H 1)V'9=%/\=&.L- @PN;+0U2-^-35Q@I4P9O,VH M0B...42*B+%%:6XL*"L,I,F&JXT4CI_/(([U9D"1P@-Q>N$Q:7R8,0:"R!BS M9B7@;.6TZ<6%2BE/&F7?&*DO8P'^.0&&A 678@D+YHO)X+^_3![OAK/Y_^T, M__YUM/CC@Z()"Q(YPYB?!V2L4_7+(5&G%H0'V=.%5+$37#I(OQ!"%0<[@]2D MG5 HY,*Q+31"^Z\&[M"%6$<5W7&H@J _9@D546?X!L830#,.1GO)(LHJBQGW MK.ZH\DE:NYDUYS\D*CE3KHV:9A.R\?%:F.<.B?HGUDG#=-[MH8>,&LX%?H$; M?WF,X2%#,D=8Z[>2+X6$;_Q5L^-G#(E$R2_<1E9P2-KX.P9',-W96R@Z[H B MKVP;"< N*#:*LJ;]VR/D;1 )2MNT[0LJJS^AG1I9+$F+P%K6_' V_NS(D-8PMPJ4W2K'JK1 M\QSCV??0T%O87-'\)-GKDK#2A))=\ Q;.2I=[SZ3\SEIU9O+;-X MA)_X*!(AQ]6"SPZW.AUM+07M3^F+H\?C!S3PBB=BSI,$ '?YL$(KG# M5^#HAHN=-+G;48UQU=LY=EA*?76B^F1UI/$G@7.$AE0CG1QZ<)HX;MZID0-= MP@'8/WW7"^*&H@2A"WNAO:(G'M HARC!L5FY*8S>,S*6$(=B7!1I2C42RJ9+CF&4A5)1TZ@<$PDST0RXGF/H M7O0B;1\9@"#)NL!:$-N6:ERL?CW(!XVD]!NXR-X;10@8#EA)#*0TIAH%Y9&% MFV^U=7+60672196784>.2*2FY!R5I M!4O5TR"-,!*2DO0HD_FD:8$#K65DB5C)2KX1'@RFN 5Q S>];J][WD)B M\0@OZT8]GBGQKJ'&E[2C!%C[)13#==2NX/O9_?F7SOWCY/?Y!_4OH>YQH=\] MS2E:^5(8]6'JV"\&U-GMVU>H\)&U?T&@KWO&"]P<4-_0>VS MT(D1A%)"H.OF#GHW#X&' L,'<(3#L>ST79?P3BYS"R?()#XLVN9YR $8>6(. MPPIW.$2O>()<8H*@J&-!29LT=WS&&LU5J"%)&_Z"T6RGZ^\JNA["%HA>. M5>-3:=%W!2&1%4A0V[/V&/E'U@MP9<28$QI2A6.28LQY)6U\.";<(,0WG?4_ M?<,!J;"(OK6DQ:&P-Z *5213(,NM@I"TX$@$"JP#L'3O(> YT38LM&)O(0WB MYVZOUVTIKPIB4NH+QI4?V69&V:WO&A: *\GP6C320?07W&5+GB9.AV5%02GE M^.1 M,_JKJX*KZI.AF0%(9&5RU2U%?N]86F6+F'%3FA(%8Y)6K'S2EIWU#C& MIQ0;V<"RND&R(.0\@W*%%\5=*+,3J"4 (;31>6XFH894X81D71]YH.1!4W+B M1EZG%"XZ/)K)[VT'"70'=C:4VOT"3(CEPO%=#_YE: %GC1)XP)+&"YB!9]BE MN.8AAULP1+/PYX:5E__9T^!K74"V+81J!G81'I/5V/8 Y3P95[SUI!,"H 7! M4M.]M'?@V4,Y9R" 8&"[V'@50HTT2#=P 5SOX\:EL807@U)BG&K<%B:],8]H M70'7L5 ([&50;/G380P7 NVZ+)6TJ2QLP98_&;;P(5 TF(EB72KW;H;X@4=T M4CYU# CE#J6@#0'!<(98YV1XPX]"T7 F%98PR:,!CM=OJ/5.AC9B2)00KE0S M<4COPN47/EV*X,67E'NW_KB >]N!$W'TA-UD%<2CA^D]*5LC?,4D8-=G9]W> M5;U)$: "Q]RG RW"D(B*WMN?2=H2'KT?V@@O6AF MUMO9MY;I7R1*A@\S9"-2HRS6PU,\G<[,P!2 M,_?9LJR5[6Q#+9(C71AK-]4N%1&O!??QPC=!T!M;8T*:E%2I-!3G$(J;6M?Z M1328Y0.+L*4^FE='II,P]V?XMBJ)!\<%VTX%)GE+#>^N_MF<"+9]RN$X,M1: MYFQR[PQ7-VW7=P!E%BG:K"I,$UF32)>[\=[OZ!IK<%8T>3:-=: Z%PXXW\%? M&Z#44H4BI:H^CV'\J%0R@[C1K[R2G M/MQT?@;_I_.Q^B/1__37XPFXTY_?->93(>SX%_!FTV++\/.8/(T M[8__^*#HHTU)A ZO7(5P31,*F*PB*FKFX0$LC"F7U&;%3Q(4Z?2!% M(H5O8 MPQ\8TR3[,^E1>]'M=7NUV#*I/$H]:U %8&4]J%&>94,I\BPORB*$WG5T; O^ MJ(-4_ F#5;O(6K79<# <+SK]P6#R=;P8C1\ZT]ED#'\>A,_1J6K+QN G#A!( MED'@AG;WJ9>",D'TB8F]Q".EQ:K/\H2[3+-=,II6Q5Y)Y$KZU*\DB)IHH5Z MY0,>6W299XN^#<=?A\K:G$A*%'&2FP8WWZXPUZHZ!I;8+9I]8*VNB@W@U%TZ M]K6 J,T;RTEW67:9=:=Y&L+V9? ME=YY'#!)0 $7?%_ /HX?03ZNN27GV&*Q%?J&J#4&R%_0QGEM: MG>%+PCT],MD%:=Z@"XZ)>,;:=7:L/0[[48XN<$AZ M&A_O15CC!@Y7756&43ZX^\P9A<1IWF :V-NMX<53]S?-,5"ZACB":&AYJC_NWC$*Z?%\/9<+[HP#^-%J/2!B2&]0G9 MJ?,9I6S%L0=YG:'-;N1*JHQ.)IVD8@?XQ6K>*)V#-9(0CM '8*\=;;%<0S0FQPGU_ A\&6AP?DPG#S,^M,OHT&PP;V?S)Z"Y:BJ8,X$8O)/ES/S[+#=32& M,^JPL^C_0]TE[%Y8ZLQ*+%E3&#'[J"15464X,N@B-V:XO4-QJ#D6M#7HAF#P M>#;8\0S)G'"[87\V'HT?YIWI<-:9?^G/AIU?_OU/W_;^8SB=AS_\1=6A>@P& M9ISBBU4[2(_[01NAV/*J#$\:_LFQR2=,\P;F/JFJSK7K/,^)%1M,@@BQX7A0 MWL:RN*?'=MV#S&\XEP^N5+4C[Q&L-?-)\Q ?4,Q04E>T4Y\1/S;_>SH=__XKVG2B22MTCU&.Q<3M,;+&J M(R72_:"'16#*IUG;Z_:NKNO935+P3T<]\ C3O"%(OS8RM4V#8_*\@3/GV87X M[9'.+_$'E5W?OE\DV8>#N08D2B+$%ZDN9,P;S4RP55;%9I1VZ:, #&59FPH3 MB[JZ9H99=3 L219I/1>HPC;^B;^O*.G4=X-SO"F6X**C_\VW1E M<$_W.(U1D@?)>W D6U&P-55L1H&+A!(%;[P+#/MJ.HT^](K-9XJ@C(WWDAU& M"-Q^.3[LKZ$]&V80.<]I6V@--)\D!65MO&OM(/^#;2_1HH6='9D:;:(#FW"- M=WX=!(8K4<,#C\8+>GW#TZRU =G?=UW@\5H-YI;:Q)=B0I?EYJHKNP'O!J:7 MW<#04APHOW>1E^M 0HO?+^O?[T3=3/3]X.Y+^ "GP DN$L$1>4CL"G]MAP_= M/]KA"87@-JG,3J2']G7W"KU\56.^W()\8=E\50YGNS+%IY:?_M8/YI[@6344 M/^6 #;#<0'WH#@2* ^5?P/.W>D(TEH=/)3GK*TL=PCM_7^7-W^G\(0V8KQN3 M2.1 8-0?3IN0K:+*@&=/*<(M3?-.":($#YP#\3H[$,/D(LH/O_*RC,CIVL!V MV48:IK0J@PR?<$1$@+I=Z,0,,LE]/0I/1S-\(DO!9)488PQ)982:4U_MI4A8 MMQ>=G%GH2"XH*N6=(UZJR/I"H]A3JM"-][0?97(*!(\/&]Z>-,]'2WW&"8:[ MI32DG[M79_6\Y,,R^<@1KO&>^62>+S&><+30''X4%:IYGG9JMB7>/<)-3K00 M0\HEY7<0331%'KWK\4]UH9KK9> M.V =+:BB:$RF"8*I;A,9(BX8=M]2?0H@3K-^?IXUZRQY@)0WZPU+"'2P3L<] M0I=U=3B-WQFF[X$EI]N6JS55!BU/,B&9HC;/W4M/I1 9P,0<=P<\S3"9342W MV,N<:)D8=J&3Z$/GEZ@7RMJ/,A(N2&Y;E:2?<.BA%,MO;N8B!@V(0FVFA_!- MMW=]5>N!&369(%,:4Y3ES'2] =_NN@9?B/[S/TK&S_ MU3B>3E)_4T6[;"HXJ(PN1"/5]030I(936/A7551&5T&.N@@B8!56/O9/AF5L M_2T6_=3?E<.?T*VT!NABJ.DAIFE/>R5K+_GW!FN/*D;=<2@BRY"WA'L%KHW! M",[4QS,6N; J&N6=P@2D4DK!1=,8WOGA%@9[H)\MF@+E_*RV9#\"JLL[W&<4 ML.%;UQG0T8D^)CL6]UXU)]W\;#@(SO,'@\G7(/%\9SJ;C.'/@V%T>T[U+2DA M?1C*;+Y!$X4[LI)E#+BUV9G8(&*I+2N3HV[BA#W.[7#>=E9*FZJ8G1+8PIC# M3A CY?9@'"P\)(5T[VV'!'EVBRW41H-8)DB'+.6* ]1DBJ%$8)-5?QEV.G?_ M0BJJ&F&**S-+$&:YF\R# TYS3[.6FK-TO^Z6F@=@R98 M#&%YU?1M2*/)=0&:7)\834CR-GZ/31;]J@!-KDZ,)B1Y&W]%1W1YAW/226M7 M-7I5L0XN![3&FS*"Y-B1&]B!@^OHB)T%6DQ#?-Z]ZM6;*:0'P'B7*$A>I &ODJSYG M8<6'1DOFI@=@ 2=U;59@;LJ$A";FIN@#IS W*3HGD6[]82P#J8HJMJ' 3,(M M'F&PQT/VHFJUAFGX]@&K<:Y(PAD3H88J2A764%;)O-(RZ+CR*1TCPYV]U0Q< M- RQCFIZYE42LYH)XI89/RT@/KE= IP7L+UTN@K,QMK1RTG*7$D=?HW;HT.:H060\J1Q'KP+^ MA&ZE-4 7HY$V33R.OEG:HXK1^',3C*&G'=W1JJFB&KSM@N6#XBJ0- MS@UM_<@#@[IR&-0WS6CS.5G=:WKT M7AW:6[H+^\YP@.X%_SB,J C5/!8)-]9&)LD%H]19D==)A^%2U']HDS<@/&+J MNWVKOX9@Y[&%4+R-?. 5MX2TPS6ZWE$R"<_Q]2BQ1,!WVT&WUXP7M**,M M2UOCCE>8ZZ>QO.SVKB^;3!TY\I>0JC@[$]7YS/D,0'0,'<[8*#<\]WEL-QLK MQ/;J^O,"H4?_AUYF?M%,M*A/4R)8TB5_D2A) MD5E*VZJ9)79%YMBBT@!I5W11!,4Q -Y ;,3.6,2.>,OOD R?++X"\J/63]0@,].;Y M?IF?? ,X>NQWB);T+GH>_=%P\6'O!=H\9;+*!ZY4ET;Y <#T;2@">Q<]L1.\ M*[2QS>5HNW/LE_"D80S04XB^J3G)!W.Y=ZN9Z&'6W>J^@QW-6G;V7>PD^_C_ M.K"7L&S4T>2'WC>W=;X",77L'7"\MRGL)F+87IFDN&36ZND!VZW]8BB?)O-? M?Q"06)%(1VS/;]_0A6Q"Q#)#3=5474AA6?V+(J"ZZE'GB6',##554[VHKCBT M3A%>$:W?^XYE>.BM<(.:8%$4.^+#1 M+YJS_*D%PLSME8=^S-4X6Z7V:;V W(V/,65P03B^ M9V_M9\,$[L+Q]1]N8-^ >4 &;QA8Z[:/!,7%;_S+SE@0'RG!R/2*JO&EJDT" M&0!)$TLMB1"Q(@=#YO 6]LQ8;[S)ZJL+ I]??P7YW==U?^N'NW 9=6-^%68 M_A;E%XC>3B+[5ZKK@&KD%60;!VVK@;!=1Z=8,!\M;(#HRX=*'4#HK;%> VCYWWFC>]OAX FUGFHL M$=5TEC-BHI^,IZV88TWEA9N8XKG<7ZR+IJ;F>:8OFN""TO&A%(;V'*5U$%@ M=4470-'7.XG/OR]A$+.KGY@R/!CX#AJAM(F)5B\]K*[@L.HV8?ERGCL5"0FK M:.Q>),SX M^YIJ;_";YD)[Q8UHQEJMU+R@V)7< )4SQ\_ ,USGH'C2B;U PVO"GU6FS^OF$CAAPI00#RMOZ\6[YVD80,8$C?JIT>K12HDBJ@G&OS.#^+!9SU&_[.8_+ORL%/A>[8AT(31E%7^-!:0WH! M!R[_47)BWPQ>*@?.BZ%C4A>P5FN!2L5D;/RU]7C:>*1Z*D:IIGTQU>YS312CWXJGQ)'$M-T;>J2J8I M"Z_F,G6[@S.'O83K.,=KLH;/VZ?BJ[A4P%L%?VMXX-%X ;G^+'+_(\8^Y!2G@YKH2=7.%G?UHHMYV#MWMA/U%?C#4 MY4[4YS ,_-#K=$CXNZ<,A?&RK%MZ2B$S0/]M0,8\FOB*YP&+3CEEQ3P MF7[]MNH+JB_ M'=@N0#ZQK*A37P+;D*1>4*I=1ID$0%!4FAHG8P9^*YG;X$3 M[.-@[]V-L2.SA5#C-)C""X"D.-(Z64( DG9NQE)5-=Y4N: M=M^0K7(:LQN(64]5@T/6,Q=E: "TZZ(:S;'/3Z"F;R[RX(4_&=IP MIROE;.A4J<4#1R5W)Q4]CTR",PT.507.'J]+.WM,G2Z&_7L_9 P.M"HW8K4= M,M9OM#AT(N^04>Y,J-JJN^S#R/I)4U#O$@\CV\VDJDXPZV=440)(/L%L :U* M/_94FC3,*BYV[%G>EJYYQYX79]U>[Z*%A&"2^OW8$W/LUUI:<,K_?NS)<.+7 M6K*(@/!^[$DX]6LM4W@!4/78TW6\!$/@OP[L@/_X/H-XY3U6G_J;:AJ7MN^E M2ZG:CL<(= M/;%458TYPHKFX0Q%_(8_17 ''.,%-O "]N?B(\OU'#_P0SP "SCH-RO;V8I= MN^V=G1\??=\-9Z-O_<7HVS!Q\#T:SQ>SK^CD>XXNU(8?[B2^K/ZA]@'+!(1] M:_D%+-3#,#/<'X=295$45[?*HA:1,1@G5UNP@>C)A ;]&/ $F55%7LXPZ M(JF945Q%KJ/"50J @'LSS0/SG]J.Z W-+ZRN-AE5D=4FAZ!J;O*++C<>(%:/ MMNO>OD5S6-+_RVG/Z8VIRZ"BEEY0=H+OH;8Y(*?_Q D 6UY=;1?66Y84?"@H M,BD,-'=S;]H_H\Z33\CRRJJF8CXMY)R",0O9HNF YB3,*:F:WHL:OUYK/HC3^%4"=MU<^H@^M@.!0GST%&Y MD"[>1BXP2%CJQ:8:7CP_>'-? T_V?C=$I4.F1AL9P29DJ6_)59Y?]2#]D^;Y MJ!-LPDL?DZCK<2:Z-P7"U LC;#=![#@*'/!<"ASRH QW4@T[0 MA4ZJ#Z=TW".AQ>J?I@X?Y+.WD*<;8+GATLO>)DCG_MW73&/UAKKN!BIV;\'* M=N":_C6\J IK..C]]SL0_I>"3YF?5-? "7$A:_P=4 M -T,Z"A\UU@9>LB>X!U#3GX+?4,U0E?./_8A( _?$^?\,5)[]4S'?R5]Y)7YST @@K]=1\N#*??1\T90\:-L@E77RG0WLVS*!S?6_/&CCKW+XETX\-TIMU5C@D?$,U'M96#4Y4=(Q.IS$4Y]#92F=3K0J.*/<0C(4?> [2$.,)(I*J\ZA@G0@2=EJ M-D2"[Q/7!C=FP_74U'8-).H0+9=<='EQ:$%[[VB$5,F26F\WVZ2BTBZ?:3(& MXS IL$Y[.772F'6[O=Z94DRJ=NYC!>@$2,4Z"V:KJ$LI5O4R4H0D;]%)\29D MB 76R(NA(D?>2IL:"W_A-!@H%YX3,&DH[2._53O4.@U:T44N>AC7 -MV0*!$ M\U;@(Z=!1>D(M3JX.'GJ03B2%W#Y=P5<_HG>=(+N=%+]Z80=ZOR"NO27]U,! MOFC3RB\T,W*+E(^&IPEUS9N0KK*VKC 837;;[VWY\$\?+6.A[+85((I/ED"L MHQI="FLW2QA^^9O,D",AB;D3Q* MRBJ8*E>3]9JPB7'HSAAXJ?A0!M5SMI)&L=?M7=5[(8.J8>)*05CBQB?:8)A0 M66E#KM\NP@C(*LD-6.?+%8RKKT=*RA;>9E2C3@F+4"F0*/<\ @>U:,&F&% B M1WT8# NM]V2UT%XI[H$R/M50BI+YE*5I9=#)78_5Z &?>[;^8V.;4!PW7,%" M2$Q_:5CK*7KJ&#+"\QSCV?>0M5C8P0-:E@=[#WNQCI-[8+?N,AI7C;N5D2S/ M%U :H)(8O0O$@YM>QZO_>(=D6O)O&[NQ8@3N%%):?*=Q:2BVZP1;IF(J6&*\ M\[HZ6-MV_DXR! 4L\3LUN4PN"^4*'YS;GF;63[AF+G?K30_;QO7NN;1KGN&" M=VAEK>E%!5$AS][DV336X1HI.'L( V.X0SVN\EX.NEUT)K>/HX?^8C09!TGD M#E]H0N#&L\<1DY%?N.IXM&?O$&= ?N,G4S)-\ZMNKW=3<^@$"?]T_!>;,$T^ M!7NTK34T1ULD*WII@Q#QD%=41>6RJ"RK;&;IVJ1M8AQ#?F'5-,ZL-[K*"0(V M6>ECVP/N5'L+UR*WFO6#_&PZMKSJJB?H+ZM\/BD;?V"=%#=8&D<_LU,AIU9K M"<$J:^.?&4[/E\2WH8X+JJ9\\:F?4;8FGQ.G11QK6]K[?_G%U=8YQ]3/)6"- MD_]/*IFLF8!XMEO=\5?JE%+@!"SG6:7L"5CJ(R=Q"%;] M:T=)]U)TC-RWEH>4 !0Q6*NK.-I9'Q@J)&.[IOR&V_A"FA0W^BU4/CEQ64[) M$Z("2>)VA<\FI:;F?]>TZ-, M10++Q)PT^)EE(OQ2)_Q4Y_"MTU@M]AH<-%7_4,>#2G/UX,5I4$ 9NL])+"IM13/4%_Y"@9NI1U'\2J$Q]3 MO]K%;3RC;._Q,4;-B<;'U&_E,9$6X1ZGOW9 D.,,%KC$QUQ@"ZNM38I2 MCJ(O^(24I-$ZD^Z4$(FA&@/$;3A9P+HC,3"#^BB$(+KS!>+K=#/-.]Y@LU9+ MHW#3[5U]5DC-9&4=C7-1:2MQOY?G47M$KWBZ#\ "#DI!O;*=K=AQZW7VPN'C ML#\?(N]9U'PGT;[ZOK,0&8S/[/B/%6^K@>N"4'5WP-4=(R =R5-&J*'*&,[' M.[5_YA2",#2/[_064YWK> FUP7\=5 ;_\7VF6>L\1U?J;ZJH013L@[KH8BFE MF-SU[=%?55$.'=H<-1!$P"JB?.R?#,O8^ELL^JF_*X<_H5MI#=#%4-/50].> M]DK67O+O#=8>58S&!][GVWG:MH]22Q6-%Y_,B@A<:AQ&MQZB3';!JSS6.H!B M!I ;)?X7BD$@\H56N1FT(2L=1QTAV4O=7%ZIP* A7,C 3:4.)JM)."CMX!&H M)0>1L&VD,+T\ZUYUZWUEFUYN?^LXD$#E,68[2>+M06C3-(U;9L %$&A' ; M:ZPWWF3UU07!2J*_1?FD_T5ZQYVQ=AK)<[BHN6XD/XJ(*\D'@#,3E7L!DEC$ M$3[1$HJ!+$U1>%D@61MRG.3B5Q7M.T:V)9K MF\82S5>WFHGX/=\ X ELP3+71/=;L.1'.M%7.L%G&KX?PQ6J^!50-$6Y?6OY M:&C/T=7;T!%!Z3:]HI(CF;B#$Y2IY'5^]0\-I8\PTLL9ILW>41W5F""H9]I& MD$7J=B442_5(PT>5-%(7W=Y-O2_*E4J07&$KR72IA!]S!:U=XG6^ MI*N.LH8IV*IJ)).VQBD#ETKR:JG Q_ Y9PQ$_$0D-J<: \L@#A<]^=%JV[Z? MI )9G'QG(Z.QY.?A*9P\\A/NG5DL@)S,DF\.E1WD&IFLPE*&9DZC5WJ#H'[7 M>#;A^AA[4"6E[7=2RH6NU##G6NG+ZE,EUE&-;J7L-MBD/@&FD+VII"JJ\81? MO8P4()M1CR4<#*"=D F*WRYB)2<_85KQ-=(R4DD0 MOMV']$>@(*#1XZLH(^@4.#IKH >]F9812XKX[3U8%:857R,M(Y4$X2OQKY6] M"YK!5L2OD_>P>Q_4;DMNDV.6YKR913$I03))=&)U'*?,HY1.4[2K0,ZS8[0. M@U!$E%;DQY[[NYT9'/YHYD!S-_>F_;.8]^$*.P*3W^J@CW70UUKDB:CW-E&L MOCV-^[IGO+!?*F*NK\K IM\I*B92R[)%3+4W-/9PB4_S"ZNB:SD:I2WEB5*7 M:N\KSR>1=R!Y<@:ONH;E,?\WG;X[I,4:+'M9),-325I+]Z0%=I\T MSW<"B*.L?8G@*($]T#5V#[3_;IC>SH6_.GR[8Z^BK'>)SS=\3X39?5>^WLEG MN!&\7!J8W3N?MD'B:2(]^,V16$Y"O70=P>1E?]Y8QAB0\2()B MH]A95]?,/X"&>PY8O$'5V%28*;@0 FG@G" 5(>9C."TM?@+S!3S9EK((BLT:$PN?MH%N1>U\DXY)D3:=9C,A0C\)L];!L1VWMG&B$F[ M;G+P8')O^X76=XEFWMG&!HE2CRAPO*.1)VAPHP_#(_&&6LPDR:"4^N2"LH:K MH,%J,;VD0!&1ZKK1MT^./*(/CNVZ=\8*]A^]>23@!/W,XP0-/MIJ.**D33OV$((M2T)4@FY+%O.)1X, M2GYS116VR$NL?)K<(4%1\@LMJE!(=L;ETR02!8U*W(ME[]Z3$86RHYENL!OY MZ*LG'LO44R%9#%L!%- )(3(AQ[C!)O,Z=--E9 VA611(.$'(G$6/ODB47"H5UQ1TQ($.*- MF.N_S)Y%?SM-R M\;1[,N'7OMQII26Q/KD0<,;X<+61QO1SMW=]4I_T.3W.D& HZN/;&QA/4=K(?>?G],A#0:*H0X^!/^7ML ?V=FMXP6*O M;RV_:0X4VMSGD!M:7@#M<+LS[3< ;H$%5H8W-36+/WSG\]GY\ MAN/%O-,?WW6^]6>C_NWCL#,:+X:SX7S1@7\:+4;![CSN1"?J12?H1NE;L(Q/K#'B&$Z0^1C*.M2WHOQJXT(?\PJIH6UA_60IP"-HNY=_9*#:(6?UA M<=4(P*$]%M43A*Q1^9AYZ.^^9AHK ])?TA+@T)99V MB4,U^.>1![:X29^] =68(F$A4%#XMK)GH;VBM]E]-_T*.^]6(;>1AK"(E0(< M^PMV.-IU:H>SRMJKL?6W?<\:1[4A+5._GT.G!=#1Y(;]I)C,<7<9FL)5QXZ2@5[RZ-:?PTFJWBHY;YQ M5KC1=[+QP].N(' !C"*K/UD%?^2;>MG;;2TURT5(J7CR&MDIG9;O?.2#1JDP M=7F3U;C!O9!M+KMY9T MX*!3O$7>D$_>D$W>E'3$?WR7-:;D*>XMF:@UM M;P:VB[) &-MG'S(OUXG!W4AJ@'3/NKW/EXJ&?'S/3C]RI%7**8LAQ]A')UV3 M5;[$>4P@UVBTV@5$J\2I69[)GX,U@@>:^P=@KQUMMS%TS4R\1\@57:BXI M3+;8T&9!P# )7R&-UGGM:=_DJSY++TXT*N%.G7,4;#Z(_YFLHKR:MD#X^4UV M.\(Z3<7?1YDD#SUHS52ES!2E;\#2-^% .NY1@@RW;]$?2;'J BVI8F>XIB%) M8F(-B 3]NXZ7T#W\UT'O\!]P"6^YMFDL@ZX&GIR<<'1\056T)ELC!UUSRJZ4 M*G.#RTE%55$G)^@T;1&$*U-?'*9WGZ\Z7FCDQ@Y32JNM/8(2LI:51\*Z@\(+ M*W]@.]!(P37.>.\/(*H?6[Y%!."3L?%AO_LE[JWO&A9PW?W.!7\YC%A'%2J4 M-S&+PX!E2RT>(>(-L%09Y73*C3S6DU/Z#(UQSP\MX*S?\!=UDG]/]^ZB>W7> M5<$3PF16V82I>R;%*FD-Z06<,"#!]8OE%BKM4"E8C(J%2LNW<^2 MF%+V 0J,+O2\JLJQI+RY5!0-20'A-5W*UFU+-TPCD/,>0ATCA]*CN0O[L)0% M2\J)C%!;RO%+E 590LG#HU0G>^6O\<[ "[!\@ ) J"@U+\;WF;@NYZ]!<[P M53?])?(^NBYZFG&YT%ZQC.-N236^R2-)'@'EP-.N\\$[ +NMAWCWK65_BP;Z MOX)_8D,8L35.B4Z\,)2ZSJK<:L7Q.B-+AX-G^+H#EHL<-';LK1L#W,3(4O64 MB"2,1]&5%B4=9^6YJ$, 'FW7C6VT8?E0_L,Y[RV RP\0EH/F&:#[VHX&<3 L MS7D+5B,H0QRR[K9I!NN5$%LL%4O[XFDQN%H82[T%6/G#C7M4HJ$?1<03*9LI M?7IT8X.@U"MYE5M(.!,\DFMQ]4<0HPV,)Q*5=5DP>#C\ M<&N"L6C%OU_4ZY^:K$+ 4\,H.8!(<5DB3:4'U67WZE*M -"D8F@.J (2*Y=V MLLK KOJU+DV/_)%=K2% P7"P^DC J2F1<#":DAL?#J::]@A*$ P'DSM.6Q<. MUF@"\,G8^'"PP!'BAG(.36-K6 %N1!H0Z[2("OQREI"MK%71@:U\"M+FP4"T% 16,*%8"?"ETF (TB3-W+L9IC"ANI4C$9 MVQU3&$Q)^WG*6J.%RR-G<"&Q#=5X4^:<7!B7QB_I0C0QO G_J!HABFLMRP2" MI&V_50^+:NNU@^(P@O$51:H)G.!T!4]PTCU E^NC/IS.84[E(508K1,??B-4 M4=Y&)(#.CGYNR0@V(1[9E1_/Y865WFJNX4Y64\?0$0CX73I;9=6TS*VW/(>> ML.#-) %Q2\Y:/8U'K]O[7"\1"FA1A!($$!0YN%D86P"G_">X(G8,S71CF8B> M6W*EYNF\I7P0$EO-'3\E!N-)^Z?MQ$CA G"RA533>X'U'H> A%$O=UU'41IZX1(] M^)'H-#9R!EM6%15RX)]6&I]DI1ZHH#3#P-'AZ@ _HQZ740E_/BB/YDTFP11= M$3W8+\"Q\ %,^85:HSHVR>I>[&!T-_6?34/_ZADFM+QX[>44:XW^6&53M (19JZI\BR@AX>*>%SM&JJJ%[B+D-(Y%+3'=1PW5F9U&C*4HK,ARRM M9"$AR1*] .?9)F1AJ3$J#Q>LQQ^5UQ.,RDOVX"1?9OM^6;7)B=]["E94[LCZ M'8*_&0:/284W3P'MW2Q"S?1 NE;VG;7OQ*>P> 5L>_0N-*/HK=(PT]7,<'\( M6(@K00N1^G8'?;PUMD&5I[ RZB4%Z.875F7<\SQHQ2&)HE&8Z>[?OMT"2]]L M-><'.0B76$T530IHB4'%+,(V0]FQ&+106V(UY97-HB\6M3.(K4A0[5PS@1MM M8<: '$J76S8MW.?:=W5"RL@YQV*65;G<1?+\ 40V,-55C1WL:N7>Z)=/D3K3 MYF0,Y0)^CF_>CVNHQ@G94SY1SLH",0LMR.''^";Z0PWEM4M1$,O"G2RL(C-[ M;)8R(V,QY!RHT)%G3/, MYQRB,<0>RO&R5W^7HC[E<>"?5AJ?9*4&'R[LW0)8>P'PD6RY!572!!^H!X5P M2E?W/(K1X]SVO0UPK(%F&BO;L0QMN#3LUDQ&2(:A[Z@#/IITG"Y3SSG:V!FSIK0^A"&:)X-1O MLAJ#GW_83OZR2U:SK2%265C4?9E( ?BIT1V:7*DS=FP55KKC4KUMA!PN?A(30ZZ9?;JEW><2GAB,5<@E8 MXN46U]LYH=;03PF-P7]]'_2/=1/^-M7)WEF]6N!",J$%@BA*V4@F38W_R-/4 M^(_6: HC2MT^#/F'QH^4&T?X"JKHNIR +*8I;Z@67\DP10XZ!?:&IRSTB)1 M17EBD'7+0 Z:L*6&^L=Y0\H+]4^\3_U-,_U05Z9I_]0@#KQ1_>=G9^?'4?VC M\6#R-.PL^O\8SN$_]Q_I[+^B?OC^'J2#9)3;/<0:%5\_C6@(.Q/FF\_J&2,$ M0TW5QC^#IE(73@4E5&H5)T**O+&>AF*PT:PU- _]+?+E8QC"VTP:S',(YG63 MZ")%W++6E97,$5^AS XTUA;\U]1V#=0J][/;<)JXH$P3^^]TX(O7F\BN+0E+)F@M:P^]$)R;! M_8_#UQVP7!!!(S -7E*FP?!+P1P8?:OS2_2UOYS:7%BYJP2C9EK7TZ530^'J MK M_5';.RHVNYI&KX4-\J#F68:W=*7#F&X@DV+D#>[OS/:$D*.?G66?(L#\; MC\8/\\YT..O,O_1GP\XO__ZG;WO_,9S.PQ_^$J0XV']5_5%^C!IEB..+5YSU M!'@AM1]MU^V_0(B1"QF]ZKC=VM;E5&+VQG@E;2N)YW/U_5NW^IE%2" M\,CRT-F>9C:)=A'BLB:X=^J) "0KT%T-\OT.C/4&0?D"'&T-]OG4T,+"G?B> MZVG6DIXLC[<9U:C'LZ:2(FN[7J-GA80T;W*UH1I_I'!"G&K4J;*LE*B5,PT: M<"<(O-3,R&P'6/0]SS&>X98\,.C![X+7'*?:6Y HT7'0L5\0O(YW#Q5L^$0X M61)0D@RB,D3%H!^M+#)*X#.*N%9.A((R4&G7,NYX_<+F$J/44HU-/(LT$=%* MN,*J$"5(:Z_5DT)5E)2$&LRLX(C+80JL-P MUJFI6>3\]/@:S> 319LY4S.GQ(V_651P'#Y2[BC+:EXUNC5Q&B6#*6DK6XME MPVS9)RA'XF$/ZHKY/W&MJ$;)4MG![";A0JM=/K6""B#>W)32MFJ,E4$AZ5:2 M %7#X^7G_K,+_O1A*\,7=/#*[=2[S$;(S[_>SH=__XK> 1Q^@_]_KKZ?[A@& MVL.?F.(U^.G2/2%ZVW**IBE]V;VZK#=>F01LSL*<5:)&[]".A"2_"(0IK;B> M\9JC*YTD8V!0 M(I*^_J=OA%DS2.<4.455USR'N6<6K\F^BF,AR5[]W,*JJ9Q9;W25JVG?L>FD M#5T;6FO# L"!>\BI:>JDY-*XTJKKD\ERB\C8>-M]9.QHWG!<<=4((&_)3A:Q M[E="I!OSX6H%=.1XN@N>KDC\A=' XQM0G"-D1=,-/Z?@+?,<'QO<8PSZ:P<$ MMR58UPG8!EI.(T[!VW7O[AB,@6VY!A0PT.?"T2PWE(F11+CJ:22[W=[-59LH MQ"5VNRX)1+>SW(4=X.& J6,O_< LA_E6,&9*K6,C0=7_!"6 MU !Z-+1GPX1=9#=:F>6)B]E? (:.E9$0VL* MMX_V\40EWE!+6",9@%*?2I!PGAU\*W[T!.C+\'.C4$XX,P=W17/N# .,$#J1??R43"@HJ$TP5>XR]N@!9 MEN9\9M24].__G9L&-@6.J]G6?_]#/A#_P8"EV*IF#?[['Y9/Y?/_^;]__M>_ M_P^.8UHGV2AAJJWX)K \3'& Y $5FVG>\#?6M,=CR<+*P'$TP\"2CJ8.P/H1 MDGB(/Q /B2B&X^N^DI(+'[6MWYLF#^3CCZEUS^AGDOA%D[\H@HI@L=^1R.]( M%*N5'YNNGBYILB,YB\T\X%/H=005>Z"H:.)I:QXX4TT!6,&6L7SZ-T8D"()* M1.*X N($'HDI43R18&2\3Y*Q/D.K:D255WT,/4@L2##+_>UZ8^>_/X:>-_[] MZ]=<=HP'%R@/ WOZ"_T2#/C'NJGOX@-)&F];]R57?K"=P:_U#WN-#(";\\1[+< MONV8D@(<4@U_NS4:;/TTD<%VG$6P!_V!^S:$8J,O=3UJL7Z@6.\(A.)Q*\YPN*F5Z"HQU\/ M?]CG_@&\]OI$OSX"Y0,X@M!LE_ M?ZQ_Q[W%&/SX]>=?3_,,\.??7YM_5UW)MKKX\Z^J33'76QC@OS],R1EH%N[9 MX]\T,?;^@2_]!7_>:Z-J[MB0%K\MVP*H@3;_C7H#SNI/356!%?P)&U2@DG4T M9373 AFM397)F** MD1$L?F :Q$]3$5V#JQ:=]BPMX)U& M:S3Q^AQ98D5*)'_\(2#GZ1@1B1+__MH;XIE'G%[;FXSF*I)1@Z^PU0S\SMV. MVDI2+:/7B^HZGFVH>,30E:DS$&DTZCI]V=&R<*AJ,%Q#&FQ'Z"U'PREKU&5] M(O?$7M*9,0HQ$"-HA'W)<,$S@\PXDH(&A/F6MAJB /\0>2ASJN2HHL"G19ZP M)\-6?);4J<&PUDUR<5]262@>[F]+,R#,'1^*Y^XT65>L]G=F!=1DGUJP2IU( M%;G.B&AEAEV3WUU!3L#[H(T%70P)H3N0"_(M%4)S6Y M4\T)V6DV5A]7B<+$'2!).O^<(-^HQ(IO\_1X--,)1R.RS2Y9TI,9I:0./CJI MQ-3UZ7;73Q"F51X5DTDJ)^FSRTSJO8RJ03L&O3"@\IZMZ"W)0-WNS,7)DU:N MGW1[')]R083N$-&J5 \I@UZ;#(B1I1*3 'U.Z\NBENR9Y5AG!VW'Q/QC9,UH M%K)T)0"]KX8V&'K5ON "UG6!!TGC 02B:G_52H.*RG8U1$5N#JV)J\D&*&FN MMS=VJY^DR);2:1'9N M#?]^88ALWP,.JT!5ZAO(MTZ#L0/@.-$0X9.L:3N>M@P^OD-A?I"IIR?EJ-4: M==O]E"KPS+C5KI$1L3.OWQXI'T$)/5VQ(4%EQ,XU-_A4UBS-],TR,&7@B&G. MB5(9RK1U2F\K?,WLJ@7M@-(E $<,JG":$M)LJ^E QPUVM?[4!(ZY1\J*S[)I M:EC ]2PW:"CQ43<:;4!2ULCN*4WI>H1B WB:$W J/R4&?![ZH(&6 M=S391\-#[VQ*G94Y(#4%5:(JU@I9]#5_;X:.WK$;Z"4"\ M34LU@ LGIW@KFGU&I*+-IK L"^4DMXB1T^3$2N&X^9IVVG]]RH?LLKSS*Y33 MS5H=U@J@'(G/=5"C+*(76_8I:G:16;^7U6G8SQ0*V72EEM:O?=N\.0L-(Y#0 MO>ES;I:(RR:5THL%LJ"E(F,\%WM=CX*QI*G(4@T%1";U#=C 2ZUE< Q6GIT(W:D7;<7.3U8C$36[##2#U%O*8E M3D>'$\"A8EO**2C1ECMI74S)4PZ0#:(1K^OC_/ U1 02L4.'Q\%KF6,#)>B"[X9!"A1Y5_@FD_8P=U44,/UZTF?PT;5])_@49$1_ MKQD0S/I5%^^("RO-=US883I=F%/YTI(HBM*@T2P/.*X%L;-^%PA259M/FHH^ M0V_*P8)Y@J,)YE2^N)^I>OKPICL7#!"?5Q]5^++YV- 4;>U08JIF(F;;%J2? MX_W>SN+''_1Q;QK__CK:Q9_-N[=O^G5L6N,@G[4=E2<&O2 M0H+ZLFDG)4MW-U(_2*8FZ9)1)HIUOB7/%E:4Z,[""HA#\JS!\"Q]G@7"F]]Y MC+ __FQ^?9:R84?@FU,">4NQ3;"UQ25;6>56=O&5LEUHI'G) !M<=5RG5RT8 M=4H'>BD_YX@%:Q5"BZL7YOC(ZH-)?BE;L\4#O89#!,&!$:GX/ARV1$+Y.>C MV^;8MH*,_3X@3-.V@BSQ&A":O)R[?;H>%8"LL^5><>CDFZ$%Q(NSW(7$DVF> M#1*0S_3;(<'@5/Q\[L?;( "-MX0,-"L6&%6\7HL MU0F=F_E.'!R?:]A-P.?XRZIJ$(G!F$S2U+R5DL::)QD;1U,9VSS3D1F]W;)] M?#SD\FSNUMG\XI2_.+NZ-\\_6^#@BQ4>"7;=2O 0VGVC&'/M;K8(@ MU1BJI'&%9C\3VG#S_5AX"Q%N Q$?=?2>L?($2P\4/3[P"%\J6^U$.Y(B+?;& M&7]I*[_KQ5V+OR];^8[H.WDATL*)A9OO:)D97JIX-R_?U['RH>#VFZT\7TV: MY6S)9S@_3TJUH3(I-J1;%_ 06/F0H>!-5GY>[()(;D3&.,DMJ6Z\0SI2\N:U M0%BL_'D0T16-LJL#L49H39XL"4MFFFB?W4N_ZN3I]=KDB5P<+U\GQ#G0:X)$ M%=F)I\SLCGSK$>ZE71P:IQ+7YN_++D[3&_*QF#L:<8LV/^2_4W]U$A^GT^H/DS,C MPQ)FB2^79:YJ1.:W;OPNZN,$2[DA8/#+3HX[BOLIAG=4?5$E^:XM@9;BWKHO M>PTG)S3L?K.7,^\-)F-)YRG=5/@FJ -]KC=N7<2O[>6$$ 9O(!Q*C>O!T+AYIP8$HG3&OJ\769[T7B\0D!*+:I.31_7N[?.^ L; M>K0>=W7^OFSG4UP^7D@PQ3G!.*"J#?4",Q[9;0GF2:39PO,C MT5UH)%>51$FC+,9;.+<>K5Y:FIF=1E5L'^45U&;6_,>9J#'Y9F<5B]9(UE]6<4&2<7B%O9;S9Y.Z779'= MV\U-S'9UZ.A>MX]N;B*8.4=95L?@S&4A5>'3Y2@=N_6X^J*;FYB=:/JR^]UB M(KF[^_%#69=#1/0&P\90EA8CCM&F=F5DEFQ/N74=<#E$0$L>PPGR+8AXDHHY M 2(B.XCX:.1^B(CJ)+;0(G*;F:6^W7'$@$:_!XN@,ZT3,X@GWS4'G_;( ,%IN*%GJ4 M992LWA= *3LCEAU'G15#:VUO">N/1/Y6H%X=F#6RG0U_=I!7\V4X?\$+SB\[ MC^XF$K%J;CHODCI3UK1*K>H/!]70Y8Y6QW$])=(:.D>H=-?/7P[*.SJXSL]$ M:@2F>7U"$U&^'AW&X]'0Z>"P8O:N9P_ F;6GP+$"4IU'R[:T/E/,]ZL%W6]% M4[WV5,PMS[\K[J2(/:#17<=^,1CO:-AI*;&PIWJO0TQ:I1;= .E^+WKUP-@HLP-<- QN^=1K_Z ;GH]O.43V4AO5)66_5JI=%M.[%,2W;7KUP+Q MCG)-N95HEF@D2T31K UUS4ZE\HG;<@:NA=9OJEO?F?C:-&]",K.66H:#$=LWM-O%_U__O 7I&FP,5_0#.J_E;TV4O7=/K'K?(1)/+0;20 MJ$JA:N8_Z9Z M'H6?6P)E@3UPI/%04R0C .'ZGG=1X$^MP.O]0BPU'+0]'?1 J8Q;:K?<")WK M@B+29ZGSX\^:/+\%_JZ9OPYX=U1NOM3"U497KA"+Y"S=C.;<+!T/G-[O&%SH(JF[ WGJM6 WH2C-V5"IZCPWFJ45KI%WP\?WTZSI?D5FGVNPDOM"1TA\_K66GX)$4U*HVROI@5#$GT6$N:?AG@ MO#N[_!4A\^9T6;N4;Y)UF;<%:L[4$VPWRI5BH8PV/Y?VNFDFOW;9<0AW;=*% MOM$5%H+/+:A*S>L4.N(R?O,Z)@P[V:X72EWU@N?0RVYI.94901)9 M:>ZQL7+-#YT2O46P7R Z#"6JK[QOL\9/XZE&L9SBM!+.-VIRM6.)MQ5P?LM] MF]\/RSM:.*%K%243E3MZ<5E)1.>Q8>MFV>"YVB0^'!*FTY0*NOE-V\66F2RU5$!(+)- M.Z?:0DF6K=OR![[PYLU0XC($V]1>5\-X:DG(W1Z7YZALFEK@HC)>\J$+S6Y[ M]]I=7X=-+G84.Z<5HP/22^>%Q:#OXC;98Q9?9\DU' )PMP"AW+\Y\^4B;W>[ M1:[=84 NY[95B_XRT+_V7K:[U@^/+.SH>U:JZ4L^)XTYT^H[C>ARKD=ZH5M MN570?U=-?ZT=G)2GNZIIL)+@YZS\M#NEQ%XZE%F44.V-N^OFRV[AG/F\/18+ MO9I 662;*8UX<1F^VTM"!]/OJDU/63ED]YH=K[8L3(1BN3W 1ZJJ$(70)>YN M8@]G*+'RWAH&/CE)L*);'7-%K9&<5\J&DO_"M0C?CN>'*ZH1HU//Z!UKR4U& M:F?.*$G<^;(KHU^2WR=VFE-V=3Y?^M$J =(F/IU<.GVWN@QM=N#N19YL7;AMDT1$;:2;.M]F4]T2VV&RR=#I MA'!LY PEM\^SJN0:V7*\ 29S83)OTZU"R^)S9.B\Q1O;R?F5\/-L?KH[H8G08.DQ?>Q?GN*#/+9E("E)U M6B?'<]"(M$/G'(9U0]Q=.U\*R;O77 S%:&:HRAZ!^SVRZ>2CJ:Y\A^Q=RWX0 MFV??P%ZUZX?PN6Y=V^JDYJBC+H=B=-ZXBB;F?6J*3)TZV2AW YWUZT7 MP?#N(5!)(V>TY(Q/4(68.LII1(*-A2YY$$JP?D_-&H(=:J^KX&EAEJSD2Q*N M2\UY*B>GHK,(")W#<-L;U^ZZ.EQ2L:/4HX[L5OGJTA TB;9 6AKYY"!T'LAM MP_^N_4.X:Y.P$X(GEXTA44S'^D-U2MKV?0/;7>-_-4G8T?7%-*GVYTZ=(/Q> MF^J.%GVM60F= W^KD/^>6OY:.S9[\2+E31KX@%CPXW9[5NQ4ZE;HU'?HML+= M]?+9L;N;C(ZW&T4A.8D2V534+$^9E#Q50Z=P0P?2[ZE)3UD?E")U=>& R9*3 M+%"*%J1:KH/??%+C2KLU0X>4]]8J>$W>\!;#N$:8\X3F%V8IK1<+78%CB/9J MWA3'#]=.*V0Y20XC@!' PM6(Q;B7+9FAD_[0[-0,';=/["HG2TUBDAQ+!E%= M&G.S4$_&I/!5R=W]V,O@9??,/C&3GW/-7(EC"HFD:(H#KY\-70QU]QU/O/Z; MBP[XDJI7V_I$$!JT0U&Q9>:VW($+[M$,':_/LWZDC"NI>BLUSW!,F4FUE4XI MSX5O:]7-[=#\*NAY-A==T,:IO,Y8.+>@P=RM#ZA)-+S.Q0WLSPP=8MZ<)6M6 M(FR4%]D2,0%N1>J#9-4VOV"VZZ9YC/;@!ERF0K([[?7X)9>@\IU1Q9X0S$#! MNRG";O&%FS=-8=BT=KTHB@IV*-]EX/#DG$6S3A2]189K%\KXU*\VV#(3VICL MEL!^@<@PE*B^\AY-1Y5-ANM69<[,Z>G2GY9;9=N[&:M M;[A/\[OA>$?'5O'F<#$>U'2NF'5;F6A;S8RCH?-TPPG8NX:]_%[-TDS*+?I& MKB?@0C3+@$1=JH?O#,-0;G^[Z]?+[]:4"YZFJQ4E2@ V2NK#P:+?+-Z6>OW" MNS5#BX-J I!4]J^<[2NC\W-O>L';7UV&3BQW%KL=; M-5,JIUHK>E6BJMF(-R\7B"\# M_6MO8+MK_?#(PHZ^-R5;<>>.;!.+8DQ*I#MBAV3NH+]K^D_'H-?8M]GHQIBQ M&\F9NMEI.8K=[\;D>"BS**':$G?7S9?=N4FT3(;.C-,$P=?I0;ZDFDMQ%,KL M2:A@^EVUZ2DKA]BD-&Q2>H/DLD(MVIZ0$2W6O7E[?Y6]FZ'$RGMK&-),Q:FE MADF!2,TXL0+*8)CW0X>'T.S>O#F>'ZZHZO.4IR7XU)"@K.F,48L%II.[K9*I MR^W?#"6_3^PT9V)U8YI3J;R8S=%2Z !Q]V@OA9C=,YVF@U9VF*.S M@H\;5:50+Y;'L]#%4WS>SD#"5FWIPWR\9+&:-#Y7TNE:-+>JLXJT7KH?,XK[^7\QI<9EVQ MVC]RY6[-L6$GWJ)F2)8'M20W\;5QX&PMFHLQV/,EQC[4H#G)46>2@S0J;_<] M].2H"OC(1-VQ*07#"T#35OCAU["G:34&.\MI39KNCH?K[*ZYEH/5DO MAVX%Y%W\WS1^8=K?@>L9W[$TSP^T'W2+T%_;1-/2X>V6D"8),Q?5HM796%;Y MV];[6P?PV5G?!L^A2_?4\S^AP<^)B1&OB$Q>T(Q91\6UOCR-W+:T7]7@!S>P M/SI[UV3^FRU^ 322]B*OU82%F)DX7LM*@O1M"W\8+'XXH/ 6D^^/%KE::+-JU81?%-WX!-U:HW! YJYH A MHNT4Y"W%-C=^0&2N]/$\+O2X8FS 9RR[QD=ZH54!+\[^$09OGO[9TD30%V1V M"G)'68,>Y8#Z@#4H%.U=28342JU.9;(=L&#K32/OQ M:EEFO?"M<]ZB1J)QFG@CA"#:XB&&T)LT4K,G6!G>'TQU4Z5)O3"UQ31^UTA? M $YHM8O8GEQ*;\W=N502'W&[[6(T,A+\N,A9:;.!IQJA]9AO1B4%SO.;,42? M?L7TI!AZDTYJ<'R)46+CLJ#1M7ETT6]G!L4OA*2KZJ2KXNDD3G<#>)" 0.4D M&,=:@TW$KM2;>)49FQ%.B_<)4^CDU4KX[KY[)VJ.S_7N0K\7'$2M.^K8O6A6 M+PYP?%+KZY28#&T!6&C!<>O>S#/HJ!#I4J5$1G1!ZQ1ENI>6)MG)K1N<"Z/C MJG;EC3< ?00;XT*_4(\P:5DO5HQ>+3^)BOG)K4?:%\?&%<_VC^Q@@]DJD9-@ MPU9JKC&."RJ'FUIO7D@.,E;_;E7>BXW(V['![*B8DU>$TNL/IT+'I#"*C-*. M("PBG*LY6=9OY>]6Y5WH>%\E*;W3]'25I*@\N"%9@]7:8; =1;,TTSSX%!^UYK-S_)J1 M_'ZP=B(T+)C%HI+,ERU!JQ?%V#3K=KKA<[;"B8;W!67VD+UH?14.\TVJ-N0@%"<5D7[9B&NWSY;B=N M;JO6B7W=,73R>V2ZO0!4-L7:MD M>EAN4\9893F_,^,9,MLK3=RSJ]8/!+:)G:7%ET,91+KS!;8[M'LM1VCZE$CB MY6F& \6F,: T5>'"F4G.-GA-@\@>L$ M\$20D@$KM%HW(0_A4W*7JN1\3#AE47V@4Q59QQ3:?="EV$>C4=]ZYTXC69NJ?DFFY7*GKUAB2D(JRY MF(X$NG=7&EJ4+\?!I :R5R$FO$3@ M$_3B;OO)A[GJYW].U4.JQ/[FT (["7[E ;;^];3W7U0<=O^ )E M:?W8J&8EDN$[02*D\'N!L%\ ?WNNTDGM[#1#Q"FV-TWK5!7G\L-2N6@VOX[? M=;>SUT+:"W:VL1C)W9C 5HFB3!%MJ5RDV[$[YNYV]G3H>\G.#A2A;32;MD 4 M78C ")7+1\)W8T1(X?>%[.Q)[6A2FD837&I$"VVW,RTE.MUF=AHZY^U;6[O/ M\+OJJ,"I.C7'5GT%X3XI*;IA#S9+!Z!52/6%_E3PZ2ZY[+>;=*,0.HOV*>Z_ M3('OA(47/!L AJE2*N/6U@'!QMS"<('C-+TPJ3KF %U1"7T2SO)RW^E71^UH6X3I^ M83CA\))CV!S-M/+"H1S=S)55HR51I3H;NC3DC3F&I]]2]6SEX83RQ_,9WR,% M3:ES5E2TNS@5NE+XR.6-S17WQ,BB#?@ M -=KP-'P,VG\9'G@6!_NYAS>Y (=OZM9@UT([HOHSC&]L-U&3\]D)JW.R@G" M%Q.F$E>S1CI\F[H>5>[S9'R4QN-T_/PZPL<8L*,ECG'@E/KA:5D_^?;:=/(D MA]*M;0;0/)Y3G8(#V0_<4C?A92RGXZE MT5S&^$[6KFMSJ*YB-3-":E!I=ZGFCXP MR-#E<6X RA?0RK=Y6.:%='(WK::Y9:^=T24QE2KZ\C":C(0NYKL!(%]3)U_Q M -#KXGM'(Q=44IWJTVQ36#B1$JFYV4H(,^LW .2+:.3;/++V0CJYG5YV2:I4 M'PE%/C8B]/DDY9;O.OF6=/(UCN$-#<)WM/(0V$HWWU1K'#X;=O(Q)3F-F7>M M'$JM?'7,'HOM-L!K $]S C+5#,E"M6>/B*O[DH$XKZ*D>M5)@SYP'*"RCH.V MTJ!G-HJUKN#EY*"D<]) 84.N>O&55]!BV05.C" M(RCOGJ/)/NH/-5I#I)'MC=+3CF-P;9Z:S.=TCVC3H/ G]%AS,09/*D ]X-:DA20;H&DG)4O?^$P]JY^?+XQQG&.&/;Q#1MEA M-GPK-X\+VD]ILH;+/E$^[^\DSY#S3VOC9MY8\A[7@^GGTXT?!%G2P M_GL#.:-I"JUN-,82BT(TJWJ]AC^40^O@/ NY)[2Y).:.4/4VD'>D>/4R:FY1 M4;HILE3 =2KJ)HDQ5U1+F="%>-]LZ;D]E.79O/N4G2$A,.W\AX MR]!ER.YZ[CS5V2\4YZR*TM<5Z#M)*=[VT82M%(J:; MLGW+6_#*T+:-M 99I2E/ 0O]905.>34&5&B87"2!I0Q-^/@>>!M@"BP?9!S; M#'QL2?':FC?D=)M-TBK'$: W'H]VM5JJ=")T>H4 ME*=\78O0QQG[>6E[#1&[MRR_ 1)G&="A%G@%3%\HH1G6"L+GE%33'C>!M?WA M=O2/XA"E:J9-R(1)3T?U?(LOF5+H7, 7]J'-V.2&TZ%KIL\5N$ M,\7>A?-;">=+==E?SM=-]W*=N15+%PDI,<[KHI(1J$4HC>C=UPVSKWOU=?+G M)/:+.+OSIM>F6A97%HK)6$HNY-C^-!)*.;T[N^&SI[()L6?\T56H92W78C/#=HP K3%CJH/J*!N]K56H$W#X MNVJ1[[,<%=)]>E\N0B=+5$F8\9T)1]4* X=HR8UE\K;TR3U"#T6$'DIY_2+Q M>6PQ<[UZ9H9S1;H8MQ/%YE(/YWU0]_@\C!' +;HEVV6M 3" FP9C.%@T[6J_#4?BP/"M9L^" M?^^!>G-H%I-IM9 24H5II><4LB,V%2R,EGD"7,\ MUI6!N4P,Z%!6>M^C]O!%!KQ,LXV^6DV'+Y0/*5M/?$['X0EH'^5JAY]E.3Z[;')2 MBYC79WY=SQ5"%_B%EJM[[M+G#>O3*\4^RE4R 5I6U/08@F=2M4(UKA;*=UE] M.U>9DURKM3&L-'D:KO:6H+DLM4B-T*I#?B*XU6(IO*> A8^K]$X4= +#NA)6 MZM-LG2:R?"]=!P6.UZ?DHE=,>=6["GXC6ZG]DO'3G_/'JB/?#=83W8SM5,", M5114#ZQ9@YIC6_!/!9@'7'YL!.EEJ9*CNL)8A91#2"02:\[GZ][4K8M&@UNP MN*7XO M=,3NZ'A*$F:-CF03I#LZ-5:(5+45H^>Q08--A#;*/@LZF%M"QX[#,&QX[279 M;8FZ5JG&(JX9+<5;9_?.KV177UVG472J&TEG*SI1798J_:GN4KWSIW9O,8D> MGIMLHG.6!L,P/4?%[W)YA*F[PIWT;!D.U+72+E) M,-5>1^.5H5AOAB[9<0-@/$_E74A0%UP8OQXW9VBF9@4--VE05<[GITN7Y!OJ9L9VQ#J0$5VUJC>J,7\I&,DA 6)8Y/=(&2L3M% MU[U)O?#L'&^&GZ&[BV\^F945UV#:!-#(?J,67[86I="%3S=@-*[EP9QX[>6J MM^FE&H[9:G()GS,3)8OVAO%X9WZ3FNJK>S#71-W+'@R/5Z:$5XXP7+%6CJ?J M/=/)<#>IT*[AP5R3K\][,,.Y-%UT>IHF5.6Y$TGS]?:@?9,\O;0')^VC'!ZE[=FB")+ *?J4*>1')#;MD.!R$E73]6[%:.JF MFHT;_;:8)WJARQQ\>UP^.55Y#YDOGS.WU_0"=]RR-@4\4'P',@JX MW%PQ?!6HJ[T,YMCW@MZJ?4YR+,@MMP8BI M_*Q7U">Q;CWACSHVZ(:W,.+K(C2$YX&$!:/ZK)K(&,4N2TRRDWF_K("*QH;7 M+?BJ&+WJSM1G+C=Y7[THJZJ!IR89-4E3\U9*&FN>9&SVVN#E3J:J%WH"TV08 MN\3FG8H<6IB]L7;TQ2F?T2F\XE4;]-HG#*#RT0UV+T.E;/)#9C9+<9P_%5K^B/#TOE86J+YBE=VJV%(3(6'2DWHF4RW8S"!:RVC5F*7>A>SF OOC2!EPC6G%5AMC@M*C=)7(3?.S M2 A%[(J$B^P0[J,[B5\6L7FTG)D#HUS1B^/$:-9-3,1U7 M] J3-7TVG;P+V?F3?[N[P\^(%=*9Q,1ZM5G7\?)TEB+B-;UIA2Y.OP;IGA9_ M S79IQ:L4B=21:XS(EJ98=<,@T(ZZR;!C<C:G)>D8O1K@J*,YJ<0=O9,/G_ETC@[PMT=HD!7.=&EYD M&'8N:--VVRL4>W/M_&<*O%=J2.+TFTN/%54LJ*([G=:;"<&LUN;*1$PQ,AD& M:EQEK=^WM!7=!/B'N-E2+;IH#<\5(X4\[>>51DFHSM62E\#+1:[_*&0FD%S? M 7_68PR>V;QG\]OF,WK1*R\5^+3($_9DV(K/DCHU&-9@/!'W)?7PC9IK1R@R M]AL^\OX7IK4I9$WPNO4\E0C 1T;)I@E>J PMMJA:I/N("35X8+>SBF^BJG;; M^># #IY'7Z:!90>ES8?=OI7">UW\VA_]VQDQAMV*<='+1+K K>JX9\R*BUS> M[YJ#9WB/GO@$Y]?^G#AAQY)=,:/FTHL^4A M58.W=3_QII6B$9?)48I*3=M+/=LHE09\&2=;SC.36SWR\CM_:?/?$(*V[RC M77T< DD--!S$V9]_X7\PUUL84%&:TAR?::HW_$T2Q/_^9RQ!C]\:X ;H>_"; M!SKZ^)VC#8:/7]JK0D3X(D-"U0/__'C2KS/0+-RSQ[_)R$-D[/T#$8\/0=!' M)/Z0B,*O=EX,GQYOGNU#[8?W)5,S%K__TX3!BXM5P QKV*9D_>?GZAOXKPMU M9O\__P2M76T)8$?H-<&+?\,_,?1_9O4OZE_"A@[H__?'_S2K*?C1'4O6WAN# MOW];MF-*QJK7V6JXZZ]^_&E*L@$PNX^A4XE1M/3O+]0+)*L$_S\^0E[% )+S M6[:]X7I@*\I"._KP.-@U91^_W&?) :57/RJ2H?R%6F#_'T8%3_[]A =/F F[ M?LI*]-4SW9^+*_\<)7W0$/XXU5Q-U@P(\=]#386F&3;_/_\3IPCZGRVMQXB5 M2)A$BJ14(@&BHB(!4HR0LBPF2%D5B00EJW$ %!"3?JRX;_R+8# MI2/X@D:$Q((]$=C_$,'_3D>%O3?#SSOO)8^\]\1$6X'S-#-!W@DN&=K ^HW. MQ ;.D\'*1T8*17%/K&3;4&%;H9)OY_/52M CHMDUJ+4_V+;D#B%F/-OZB:4? M4@__YW](AO@'2GPTDKCP,(\CD'X[ C\_3.:3U,Q4&^45!0/:0LO[9[/IPE-B$^J MG4):+I395\8-XZ[ZBMM[0SXE]T_,Z[6*9D _%J$5(%)1AA8C$4D5XX22$(%$ M1X!*P\]R?*VB5T\T%7$,'4I_DF'2!/!(EAX.3!=OS$12)-W5J** M;1C2V 6_-W\\AO6^/@V_V;.BA"24.O!C/V0QL_4)R M15!/W7P_!8Z'KE=88QAJ_W47S ,#/:L=/JS?M>')C@W;Z=N&_?4->[;AQN8S M/G.D\6_9 9*.SR"-7G79MK]+,K1#O@?^08;I<(:A] A6QFW]7T]]$[T3] ,= MN1/\1 3_Y3D(_2=!^N=G3+[!4.QK_S[R\KW__M#@0RY0H.:U#5DR#-N3[?F/ M-4 NIB#:Y6 M;32QFM#@!;;2Q)I5##I]3>C9K8P_26/5!D9&_U+_7GU1S6#-'(?M>(9;KY!- M-3'X,YF@(UM_ZQ'POP);%%(;?'WO-6,[F#<$V&0#7NL"^GV__6:Q5&[=&L[6/'*&C9)RD8R)TC.-B M) 'ZHA3OJR*IR'V:48A(/-Y_ZB,+O7J/I0NC&J%-:U/?RL42(#FX^\@A<=F^ MLCMZ]_Q.DQ9P)&M%\">N7R?')].)?$S4)Y-\9ED?F^.6_&'7+_(M7+]F@ZWP M>>3@?6G?+W9+]GCC^WE;H&^8B)>%5X"^[L=.4,)&,W0 M5\4RD O=FKZ4H2626:YL:(4M9GQ:JH0WH\)4I= F0LTC9*MA&MW6NUZCDYIFQ4.S$14!*/J^K["JZ34,N MSB14I/CN4/5=8GX1X=IU2]XJ7R>1J6L@[BR :DKS_+HZ6PEZW(T D-6'OUM, MJY,B4I$QV>>:(XZ?(2A1KU531' R$25)DGK6*[Q%+?!7('08#+NK,.YVL(+O M:*ZJ*4'H;?>#6JD](0V:.@/)TI;!Y[]O3="^GES]E6_P&&>.#7L!.;@/?ZQB M/_Q]L^A\QOU@WN%^W XPSS"_K\C,6X/P!8P>JZH.<-WU/R7- N1.2B21;#=B](_+Y;O.Z0" MM4.%3+JM\+6BV"8F1$*N58>5JUSRPR@?1!/'NN3]6&E]N^BGX9]5I MVC-K9_+=0FK1&8BBS;4I1JVP_L+T]-1J.7R>\6-,D\'&J3@V^ M3K.4W72AU*\L8@E_X B,HE9QU9M,B[/7TH4I*.UP/I8FO>P*WI#9.7G@L3?% M[Z6&:S8$M]'3QGLQK-#N)JB<'1'U8J94=T:]D1.OHW3C:X%'@HH3SR\\W*)) M_&M-*)35KCE0(K6Q9&#<'"C!F;)8M=]'5TK=(XOKQ'Y=C MT C(V#\NU@0&& ]M"V"KI,-F)08$)DH$QX5O(^N%0) M9TPS]QG?Z(Q?]^(_!^_3[D=?S_1XY>Q:26S;S%_OU $=2?5<5)MJJH"6(&Y,I2L ?S"PF9##7[S MZ)P%]8Z1])0&]:B)D[=\M2$H.)'>;_I@T:M9BG&_E.+_:[JD,U:%JWKJ" M:W7\/!:N+6&>:Q6 MA9QH%IP)!4/LJ>Z39CDK=OJ"I;*K6L4FC'HJDJM*DY5<8&7)T8&'E4JI*U:D MKD>4-6Q9,M9#>BXU=,FC8T)0&+T=YK.Q;]Y2T:(\P.0%I@P!Y"G\68<&!P25 M%RC.=;9)I=_87^0Z1S*4W*!^7L4DPX!-T,8?%#Y/? T%SS!FEL&Z >QY'3]O M]ZW8SNZ^E74\O1.&;Y")8FQD$-&^%4SUT:V@0=.Q Q00>!4DA04;:UWL+]@I M%"+,]:&I=([-/PAI+W9"[83-H?;[ ;('AX/9N_?V*2I6)_43M3EJ$\ MPD;R"$X(/12TAT^BH:P["RZ%#T82C!2M5B8(3)46[N;(FTND_5.^X\"!K'9D M(7WK29[O[N292"%=GO1Y2A#,R%A;YCM4O#P=_/C314?^[F MYGE0'( !\>W8Z$)>PUA@ )K6!99'.DY2@M60M.1)&-K+\E3D'_O8S9\U?&.] M8ATAHNM] [ZQJ@7B\2;V%_HQ]@]&T=3#NH4WU%PX;FF,]@^<6_97H]Y*,W#_ MOJ2L[A 6T74MNCNR:E1\7$J/NPU.H\@^+:6]>:1[E]7O*JM0,"3,@,\#3%(4 M**L0AQ#'"+@.LEE'O\4@2/"C/[@F%'+X%F=C*R#*33C]Q4]DIV%WT*2AL0ZP M@6//O.'FYP=HL4$P-A7T-2O(*P7+IXB(%/'/KK@.\7FLAG$G3_S3&WFBY$.4?'[9^==; MDTC4 T%=O:CEW5M5WE'1PCQ$GHUS SJ])U/T"M4O%$65CBN1]4+M)PW0.VA[ M;>Q<'"TAR8($#E+ EYI)UGB&CU8(9K94-=Y) MCEPP^_&'?0K*D_IB'\KNAD-F+UH@?VW!//?\0B*FER^3#P>6*\>\YKOU^2*P MYI\++9[&_;N'^:%3E8!D]27#!6!&JL] \10%O.$0UC-C]BZ%YV$;=SQFO[(,;D:5#0:56HUIMRI5&M1J M9F50%JJD,B_5R4$G*=;OLGB-R/?:DGGER/ZV6'K'\AW+7X6EW^KH[.>7+_HO M+!/\Q+3CJQM:_]@B9+#T" ,MRPY6#GUWM<0 W[\Z:?O((8RV$[S+6*"7SS3X M:N0]6'!R-G+M(:&"P,V2+$63#)1,1,>YH,;N^@(S%T.[/C7UN;)_^B_I[Z.K M!>]-\=S7P$ZY!N8.@6%LW<6_('J"E:C5^7./:\YO6==\=D'H[P<,Z\)I;LAQ MW;@03?C0%542/;G-6M,RQT^*)64Q*\S=X/S($[JBYUT;/DA]?B>Y>!S4J@QQ M>],?&RRG5A7/1D>4TL3J"/Z?"*,.P&;H/VL\9H+Z :BJT,6) >;><\/J'HPM MWU1M3P6*9DK&#\R%9AQ.D-A']%MO_<76_;C__9&O9(Z4*055MD$Q(1\,L>I[ M@5*&VGFW6"DY)NM]/5_6F7C;;_-U=M0O#]#Y1S])2) X$]W@=4.(/ZORW(" MRJJ4UUV5\JX+>+<%O=M2WI^H;5LS#!6B D9]_OAQK^0#5#BNCZK=+!6S'\>X M6BX^_G4S5W;$@+Q!WPCP'5\^;VS"/8 M)ZG':R[?K$%>H GJZJ#0_B.'!*+__J^]3362HD-'Q[=4M,)N.[\WQ-RY*7,] M3RK@RP#@JST[4A]ZH[\E8R8MW+5/'$L\T/][S:C?6W[0 46":TJQG;\?]^E< M]OI3BGQ ^?[=ZT_)A]C]^M/M8$-]_>GFH-L^!:+]!!#C?:BU(VI4%B4Z$1<5 M*IZ($T0\*O?I]0[+ZY_5_?(1R*$X3OSQ'D9TLR'V].:F$X_TT[GA]?[:0'#" MP>,FFRQQZ&Z"5+72Y"I-_HI'VE^XRNJ2AR$GZ ?J%NYD"6=VZP/'!9,/"?I. M[\O1._(0?S%M&A)Z?^J YE>%^#3*W2] 7F.Q^8CQ \#MV M$Y^:'O$CY/B,::_!F.?C.Y4O!/:+G9QU&3A?[B"P5_3ME59Q/GIF8.B1N8UZ M:S#"R'\L[D6/KJ.H!RR3K["55)XM8?D*BF)8=+/802!\!_=%P!UX_/OSHV\( MG'>U>4O(^O#\0HU#;/-_FGFB,?,>,,F/:4ST*$9"9;E=/0Z.[5WM\?Y+L"1? MU3R@_GW7FZ%!]ZWHS0.\[O)E-\E,W&IH]:U@]^V4:I,KQ\ILA?Y ME,#ST(<4HS2=(**?4+C4 U:6+!@](CV[/:J^EJZE;EX*ZL;QEWWU)9LW5T MC7B^"0/]%L=6TO!C:?U)C#(4':,^H;+I!ZR.RB8U+\B.!]H7?F%L/B/E;=BN MCTIR6-GVO\:.322$8G>*MCO&OF6< V'0=J^+'KNYX-#=XCS(U ^)[>O35H?4U5>K@&EJ\V M+$V[V !.5-!1>L+H,.?-B[Q@T/\N\:]XZ[N\:]4'I 3(.^ MA*JH/E<=L.D%\\?HTA=@:;:SHW'OVC4T*(_$;Q6X=^UZR[C[CMHU(I8U"_!2 M'WB+SRWYHWZP54>[Q59WO1H:?-_UZAUW=[UZ&;T:%:OHD+R\U;<_H5:C#UC0 M#8;Z02?D:;9U5ZBA ?9=H=YQ=U>H%UK'BG*=7#Z9;_)BA(B0GTG#,@\8-Q]" MHATY=^\.ZJLIT\353S5_QPE1(6'P16CS@2--[CQ[PS#>>"[MT;E?\2C:%T\E MW1PQC%YVCH/>GCV/AXKL6) 5U;2G0[^?GWL_/_?6S\]- )I4Y5A"5*,R#5TA MAA'C5#PN2H",DTH"?2O_^'.ALU4/CLQ^Z32V%"N@0G:VT<7X)ML,=NUC#2[+ M-E#5)Y:I-MKP3[Q4K1;1Y[W:=_F4&GSW4/[ UWPZH4<5TAQJ+MI&ZL!Y&PNL M$5S3A]D6EH%0Q((3=__R4)OU[=_HF_55WW\'Y]5+FN7"06^/;/&&DH=^<#W- M\SV #KZ?28Z*&[:MKR\$V325UJWAJTUTW<3F:@EY$=P147.T*;JM8J=HH 3_ M&01) CA2E#! ]T<@,2$3B>A/U*%D!I>8/&#-(7#![MO@F!3@6)CM.YB\OOCO M)V9O#RT(*A(>[S"!WP<9"?A0\(OR>.R!B\W0K1CP7]07M' 6ZD@>H;M,INO2 M!C ?PX_KGM']*;NO_X,WE[?<-'H(@>O^UCD+6>[2"?&>M+L$_-4@Q?7=WO$? ]@ !ZZ_.,/$)L M4UILNL+0Z9X0(CX:_19'DF8>7%,/AZYH8]C'P2^NZYL'W\K T,#TX&L%SG$H M'?G>]@WUZ9>J?] .0.2:1P:QXNC3;P>V9#S]3D,J^^!5AJ8#8_'T6TBHIU]M MD?3T!X2T@^]L9!ZTPT%LM"TX&,C8 :IV.!-W>(Q 'M07IADW['-H(T]LW:@)OLJ%(ZU#M_,;%=3 MKP@3U&,$;U(!U- &>#J<(?P.S6FMT596$;UNIUG0'_3.7=M"ON%/U%Z1_$!D M@O9KL0X0BHAFCJ65;=0M-.K^JJH9V=DI<)!T]?N:XAO>SV#X06\6NA+L40T' MDK!Y;FW7H8QC4K^/S$\P0,7SH9@YJU. KH119.M>Y^';+.=JGLA\0>*B\L2# M2:*'$?$ PAS4:5#-0,=IBY!=Z#]@>1/Y4^@ZK2-T7+WAP[UO#.Q/B$,OF!YB MGP%U)+K=S;-_O_#P UI 67\=U^; W77]]]$E2L/ M>S][NVJV2IC^VOWA4R-^FB=$6 N2A3O7;D&I09=NK<<9/\@9_I__23 Q=*76 M?@KR26+Q%'D-#UP#/"ZRG<@*$DJF/@01Q!#P05^ $KU6NLB_& 2LJGH M5S@$"T8^V\O%#K.4=R!]9R A]"#P0#=>@;:Y[R.U%,0( ,80@^$:8 !&?FT0'06+DHUE:Q>.1_;Y0WBAK12>P2^MY!7IJ/ MC#]TY] 5:=@"0)\1W>QW1^D=I3LHA8ZYMG+P+11MZ(_6$LX11AW0+85NE;7C MF:VN)P6KBTVC]'$ HN0&NNINB\3 MW\*Q3L2[T@,D+BZSS0PJH'3^1,S; 05 MY&&B'3'0;3