0001437749-23-023037.txt : 20230810 0001437749-23-023037.hdr.sgml : 20230810 20230810161107 ACCESSION NUMBER: 0001437749-23-023037 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 80 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230810 DATE AS OF CHANGE: 20230810 FILER: COMPANY DATA: COMPANY CONFORMED NAME: INTEST CORP CENTRAL INDEX KEY: 0001036262 STANDARD INDUSTRIAL CLASSIFICATION: INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS [3825] IRS NUMBER: 222370659 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36117 FILM NUMBER: 231159466 BUSINESS ADDRESS: STREET 1: 804 EAST GATE DR., SUITE 200 CITY: MT. LAUREL STATE: NJ ZIP: 08054 BUSINESS PHONE: 856-505-8800 MAIL ADDRESS: STREET 1: 804 EAST GATE DR., SUITE 200 CITY: MT. LAUREL STATE: NJ ZIP: 08054 10-Q 1 intt20230630_10q.htm FORM 10-Q intt20230630_10q.htm
0001036262 INTEST CORP false --12-31 Q2 2023 501 496 0.01 0.01 5,000,000 5,000,000 0 0 0 0 0.01 0.01 20,000,000 20,000,000 12,185,220 11,063,271 38,514 34,308 3 1 90 71 March 29, 2010 April 30, 2024 April 30, 2031 October 27, 2010 December 31, 2024 December 31, 2024 5 2 0 0 0 0 10 4 0.57 0.55 167,886 187,981 4 1 3 4 00010362622023-01-012023-06-30 xbrli:shares 00010362622023-07-31 iso4217:USD 00010362622023-06-30 00010362622022-12-31 iso4217:USDxbrli:shares 00010362622023-04-012023-06-30 00010362622022-04-012022-06-30 00010362622022-01-012022-06-30 0001036262us-gaap:CommonStockMember2022-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2022-12-31 0001036262us-gaap:RetainedEarningsMember2022-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-31 0001036262us-gaap:TreasuryStockCommonMember2022-12-31 0001036262us-gaap:CommonStockMember2023-01-012023-03-31 0001036262us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-31 0001036262us-gaap:RetainedEarningsMember2023-01-012023-03-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-31 0001036262us-gaap:TreasuryStockCommonMember2023-01-012023-03-31 00010362622023-01-012023-03-31 0001036262us-gaap:CommonStockMember2023-03-31 0001036262us-gaap:AdditionalPaidInCapitalMember2023-03-31 0001036262us-gaap:RetainedEarningsMember2023-03-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-31 0001036262us-gaap:TreasuryStockCommonMember2023-03-31 00010362622023-03-31 0001036262us-gaap:CommonStockMember2023-04-012023-06-30 0001036262us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-30 0001036262us-gaap:RetainedEarningsMember2023-04-012023-06-30 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-012023-06-30 0001036262us-gaap:TreasuryStockCommonMember2023-04-012023-06-30 0001036262us-gaap:CommonStockMember2023-06-30 0001036262us-gaap:AdditionalPaidInCapitalMember2023-06-30 0001036262us-gaap:RetainedEarningsMember2023-06-30 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-30 0001036262us-gaap:TreasuryStockCommonMember2023-06-30 0001036262us-gaap:CommonStockMember2021-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2021-12-31 0001036262us-gaap:RetainedEarningsMember2021-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 0001036262us-gaap:TreasuryStockCommonMember2021-12-31 00010362622021-12-31 0001036262us-gaap:CommonStockMember2022-01-012022-03-31 0001036262us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-31 0001036262us-gaap:RetainedEarningsMember2022-01-012022-03-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-31 0001036262us-gaap:TreasuryStockCommonMember2022-01-012022-03-31 00010362622022-01-012022-03-31 0001036262us-gaap:CommonStockMember2022-03-31 0001036262us-gaap:AdditionalPaidInCapitalMember2022-03-31 0001036262us-gaap:RetainedEarningsMember2022-03-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-31 0001036262us-gaap:TreasuryStockCommonMember2022-03-31 00010362622022-03-31 0001036262us-gaap:CommonStockMember2022-04-012022-06-30 0001036262us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-30 0001036262us-gaap:RetainedEarningsMember2022-04-012022-06-30 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-30 0001036262us-gaap:TreasuryStockCommonMember2022-04-012022-06-30 0001036262us-gaap:CommonStockMember2022-06-30 0001036262us-gaap:AdditionalPaidInCapitalMember2022-06-30 0001036262us-gaap:RetainedEarningsMember2022-06-30 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-30 0001036262us-gaap:TreasuryStockCommonMember2022-06-30 00010362622022-06-30 0001036262intt:TermNoteMember2023-01-012023-06-30 0001036262intt:TermNoteMember2022-01-012022-06-30 xbrli:pure 0001036262intt:AttheMarketIssuanceSalesAgreementMember2023-05-112023-05-11 iso4217:EUR 0001036262intt:BankGuaranteeOnCustomerOrderDepositMember2023-06-30 0001036262intt:CityOfRochesterAndStateOfNewYorkMember2018-05-31 0001036262intt:CityOfRochesterAndStateOfNewYorkMember2022-03-31 0001036262intt:CityOfRochesterAndStateOfNewYorkMember2023-06-30 0001036262us-gaap:OtherCurrentLiabilitiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-30 0001036262us-gaap:OtherCurrentLiabilitiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-31 0001036262intt:AcculogicMember2023-06-30 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel1Member2023-06-30 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel2Member2023-06-30 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel3Member2023-06-30 0001036262us-gaap:InterestRateSwapMember2023-06-30 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2023-06-30 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2023-06-30 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2023-06-30 0001036262intt:AcculogicMember2022-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001036262us-gaap:InterestRateSwapMember2022-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2022-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2023-01-012023-06-30 0001036262intt:ContingentConsiderationLiabilitiesMember2023-06-30 0001036262intt:ElectronicTestMember2023-06-30 0001036262intt:ElectronicTestMember2022-12-31 0001036262intt:EnvironmentalTechnologiesMember2023-06-30 0001036262intt:EnvironmentalTechnologiesMember2022-12-31 0001036262intt:ProcessTechnologiesMember2023-06-30 0001036262intt:ProcessTechnologiesMember2022-12-31 0001036262us-gaap:CustomerRelationshipsMember2023-06-30 0001036262us-gaap:PatentedTechnologyMember2023-06-30 0001036262us-gaap:PatentsMember2023-06-30 0001036262intt:CustomerBacklogMember2023-06-30 0001036262us-gaap:ComputerSoftwareIntangibleAssetMember2023-06-30 0001036262us-gaap:TradeNamesMember2023-06-30 0001036262us-gaap:TrademarksMember2023-06-30 0001036262us-gaap:CustomerRelationshipsMember2022-12-31 0001036262us-gaap:PatentedTechnologyMember2022-12-31 0001036262us-gaap:PatentsMember2022-12-31 0001036262intt:CustomerBacklogMember2022-12-31 0001036262us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-31 0001036262us-gaap:TradeNamesMember2022-12-31 0001036262us-gaap:TrademarksMember2022-12-31 0001036262intt:EndUserMember2023-04-012023-06-30 0001036262intt:EndUserMember2022-04-012022-06-30 0001036262intt:EndUserMember2023-01-012023-06-30 0001036262intt:EndUserMember2022-01-012022-06-30 0001036262intt:OEMAndIntegratorsMember2023-04-012023-06-30 0001036262intt:OEMAndIntegratorsMember2022-04-012022-06-30 0001036262intt:OEMAndIntegratorsMember2023-01-012023-06-30 0001036262intt:OEMAndIntegratorsMember2022-01-012022-06-30 0001036262intt:ThermalTestingProductsMember2023-04-012023-06-30 0001036262intt:ThermalTestingProductsMember2022-04-012022-06-30 0001036262intt:ThermalTestingProductsMember2023-01-012023-06-30 0001036262intt:ThermalTestingProductsMember2022-01-012022-06-30 0001036262intt:ThermalProcessMember2023-04-012023-06-30 0001036262intt:ThermalProcessMember2022-04-012022-06-30 0001036262intt:ThermalProcessMember2023-01-012023-06-30 0001036262intt:ThermalProcessMember2022-01-012022-06-30 0001036262intt:SemiconductorProductionTestProductsMember2023-04-012023-06-30 0001036262intt:SemiconductorProductionTestProductsMember2022-04-012022-06-30 0001036262intt:SemiconductorProductionTestProductsMember2023-01-012023-06-30 0001036262intt:SemiconductorProductionTestProductsMember2022-01-012022-06-30 0001036262intt:VideoImagingMember2023-04-012023-06-30 0001036262intt:VideoImagingMember2022-04-012022-06-30 0001036262intt:VideoImagingMember2023-01-012023-06-30 0001036262intt:VideoImagingMember2022-01-012022-06-30 0001036262intt:FlyingProbeAndIncircuitTestersMember2023-04-012023-06-30 0001036262intt:FlyingProbeAndIncircuitTestersMember2022-04-012022-06-30 0001036262intt:FlyingProbeAndIncircuitTestersMember2023-01-012023-06-30 0001036262intt:FlyingProbeAndIncircuitTestersMember2022-01-012022-06-30 0001036262intt:ServiceAndOtherProductsMember2023-04-012023-06-30 0001036262intt:ServiceAndOtherProductsMember2022-04-012022-06-30 0001036262intt:ServiceAndOtherProductsMember2023-01-012023-06-30 0001036262intt:ServiceAndOtherProductsMember2022-01-012022-06-30 0001036262intt:SemiconductorMarketMember2023-04-012023-06-30 0001036262intt:SemiconductorMarketMember2022-04-012022-06-30 0001036262intt:SemiconductorMarketMember2023-01-012023-06-30 0001036262intt:SemiconductorMarketMember2022-01-012022-06-30 0001036262intt:IndustrialMarketMember2023-04-012023-06-30 0001036262intt:IndustrialMarketMember2022-04-012022-06-30 0001036262intt:IndustrialMarketMember2023-01-012023-06-30 0001036262intt:IndustrialMarketMember2022-01-012022-06-30 0001036262intt:AutomotiveMember2023-04-012023-06-30 0001036262intt:AutomotiveMember2022-04-012022-06-30 0001036262intt:AutomotiveMember2023-01-012023-06-30 0001036262intt:AutomotiveMember2022-01-012022-06-30 0001036262intt:DefenseAerospaceMember2023-04-012023-06-30 0001036262intt:DefenseAerospaceMember2022-04-012022-06-30 0001036262intt:DefenseAerospaceMember2023-01-012023-06-30 0001036262intt:DefenseAerospaceMember2022-01-012022-06-30 0001036262intt:LifeSciencesMember2023-04-012023-06-30 0001036262intt:LifeSciencesMember2022-04-012022-06-30 0001036262intt:LifeSciencesMember2023-01-012023-06-30 0001036262intt:LifeSciencesMember2022-01-012022-06-30 0001036262intt:SecurityMember2023-04-012023-06-30 0001036262intt:SecurityMember2022-04-012022-06-30 0001036262intt:SecurityMember2023-01-012023-06-30 0001036262intt:SecurityMember2022-01-012022-06-30 0001036262intt:OtherMultiMarketsMember2023-04-012023-06-30 0001036262intt:OtherMultiMarketsMember2022-04-012022-06-30 0001036262intt:OtherMultiMarketsMember2023-01-012023-06-30 0001036262intt:OtherMultiMarketsMember2022-01-012022-06-30 0001036262us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMemberintt:TexasInstrumentsIncorporatedMember2023-01-012023-06-30 utr:Y 0001036262srt:MinimumMember2023-01-012023-06-30 0001036262srt:MaximumMember2023-01-012023-06-30 utr:M 0001036262intt:EnvironmentalTechnologiesInGermanyMember2023-06-30 0001036262intt:EnvironmentalTechnologiesInGermanyMember2023-01-012023-06-30 0001036262intt:ProcessTechnologiesMemberintt:AutomobileLeaseOneMember2023-06-30 0001036262intt:ProcessTechnologiesMemberintt:AutomobileLeaseTwoMember2023-06-30 0001036262intt:ProcessTechnologiesMemberintt:AutomobileLeasesMember2023-06-30 0001036262intt:ProcessTechnologiesMemberintt:AutomobileLeasesMember2023-01-012023-06-30 thunderdome:item 0001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2023-01-012023-06-30 0001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2023-06-30 0001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2022-12-31 0001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2023-01-012023-06-30 0001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2023-06-30 0001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2022-12-31 0001036262us-gaap:LetterOfCreditMember2023-06-30 0001036262us-gaap:LetterOfCreditMember2022-12-31 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-15 0001036262us-gaap:RevolvingCreditFacilityMemberintt:October2021AgreementMemberintt:MTBankMember2021-10-15 0001036262intt:October2021AgreementMemberintt:MTBankMember2021-10-152021-10-15 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-152021-10-15 0001036262intt:AmendedLoanAgreementMemberintt:MTBankMemberintt:TermNoteMember2022-09-20 0001036262intt:AmendedLoanAgreementMemberintt:MTBankMemberintt:TermNoteMember2023-06-30 0001036262intt:AmendedLoanAgreementMemberintt:MTBankMember2023-06-30 0001036262intt:October2021AgreementMemberintt:MTBankMember2021-10-15 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-282021-10-28 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-28 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-12-292021-12-29 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2023-06-30 0001036262intt:The2023StockIncentivePlanMember2023-06-21 0001036262intt:The2023StockIncentivePlanMember2023-06-30 0001036262intt:The2023StockIncentivePlanMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:CostOfSalesMember2023-04-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:CostOfSalesMember2022-04-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:CostOfSalesMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:CostOfSalesMember2022-01-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:SellingAndMarketingExpenseMember2023-04-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:SellingAndMarketingExpenseMember2022-04-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:SellingAndMarketingExpenseMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:SellingAndMarketingExpenseMember2022-01-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-04-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:ResearchAndDevelopmentExpenseMember2022-04-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:GeneralAndAdministrativeExpenseMember2023-04-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:GeneralAndAdministrativeExpenseMember2022-04-012022-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberus-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-06-30 0001036262us-gaap:RestrictedStockMember2023-04-012023-06-30 0001036262us-gaap:RestrictedStockMember2022-04-012022-06-30 0001036262us-gaap:RestrictedStockMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMember2022-01-012022-06-30 0001036262us-gaap:EmployeeStockOptionMember2023-01-012023-06-30 0001036262us-gaap:EmployeeStockOptionMember2022-01-012022-06-30 0001036262us-gaap:RestrictedStockMemberintt:EmployeesMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberintt:IndependentDirectorsMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberintt:IndependentDirectorsMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-06-30 0001036262us-gaap:RestrictedStockMemberintt:RestrictedStockVestingInThreeYearsMemberintt:VestingBasedOnPerformanceMetricsMember2020-08-012020-08-31 0001036262us-gaap:RestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2023-03-082023-03-08 0001036262us-gaap:RestrictedStockMemberintt:PresidentOfEnvironmentalTechnologiesMember2023-03-082023-03-08 0001036262us-gaap:RestrictedStockMember2022-12-31 0001036262us-gaap:RestrictedStockMember2023-06-30 0001036262intt:EmployeeStockPurchasePlanMember2021-06-23 0001036262intt:EmployeeStockPurchasePlanMember2023-01-012023-06-30 0001036262intt:EmployeeStockPurchasePlanMember2023-03-31 0001036262intt:EmployeeStockPurchasePlanMember2023-06-30 0001036262intt:EmployeeStockPurchasePlanMember2022-01-012022-06-30 0001036262intt:EmployeeStockPurchasePlanMember2022-03-31 0001036262intt:EmployeeStockPurchasePlanMember2022-06-30 0001036262intt:EmployeeStockPurchasePlanMember2021-10-012023-06-30 0001036262intt:The401KPlanMember2023-01-012023-06-30 0001036262intt:The401KPlanMember2023-04-012023-06-30 0001036262intt:The401KPlanMember2022-04-012022-06-30 0001036262intt:The401KPlanMember2022-01-012022-06-30 0001036262intt:TheAmbrellPlanMember2023-01-012023-06-30 0001036262intt:TheAmbrellPlanMember2023-04-012023-06-30 0001036262intt:TheAmbrellPlanMember2022-04-012022-06-30 0001036262intt:TheAmbrellPlanMember2022-01-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2023-04-012023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2022-04-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2023-01-012023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2022-01-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2023-04-012023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2022-04-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2023-01-012023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2022-01-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2023-04-012023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2022-04-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2023-01-012023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2022-01-012022-06-30 0001036262us-gaap:OperatingSegmentsMember2023-04-012023-06-30 0001036262us-gaap:OperatingSegmentsMember2022-04-012022-06-30 0001036262us-gaap:OperatingSegmentsMember2023-01-012023-06-30 0001036262us-gaap:OperatingSegmentsMember2022-01-012022-06-30 0001036262us-gaap:CorporateNonSegmentMember2023-04-012023-06-30 0001036262us-gaap:CorporateNonSegmentMember2022-04-012022-06-30 0001036262us-gaap:CorporateNonSegmentMember2023-01-012023-06-30 0001036262us-gaap:CorporateNonSegmentMember2022-01-012022-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2022-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2022-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2023-06-30 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2022-12-31 0001036262us-gaap:CorporateNonSegmentMember2023-06-30 0001036262us-gaap:CorporateNonSegmentMember2022-12-31 0001036262country:US2023-04-012023-06-30 0001036262country:US2022-04-012022-06-30 0001036262country:US2023-01-012023-06-30 0001036262country:US2022-01-012022-06-30 0001036262us-gaap:NonUsMember2023-04-012023-06-30 0001036262us-gaap:NonUsMember2022-04-012022-06-30 0001036262us-gaap:NonUsMember2023-01-012023-06-30 0001036262us-gaap:NonUsMember2022-01-012022-06-30 0001036262country:US2023-06-30 0001036262country:US2022-12-31 0001036262us-gaap:NonUsMember2023-06-30 0001036262us-gaap:NonUsMember2022-12-31 0001036262intt:AssetMember2023-01-012023-06-30
 

 

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549

 


 

FORM 10-Q

 


 

 

(Mark One)

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

For the quarterly period ended June 30, 2023 or

 

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

For the transition period from                      to                     

 

Commission File Number 1-36117

inTEST Corporation
(Exact Name of Registrant as Specified in its Charter)

 

Delaware
(State or other jurisdiction of incorporation or organization)

22-2370659
(I.R.S. Employer Identification Number)

 

804 East Gate Drive, Suite 200
Mt. Laurel, New Jersey 08054
(Address of principal executive offices, including zip code)

(856) 505-8800
(Registrant's Telephone Number, including Area Code)

 

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

 

Title of Each Class
Common Stock, par value $0.01 per share

Trading Symbol

INTT

Name of Each Exchange on Which Registered
NYSE American

 

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 ☒

 

Number of shares of Common Stock, $0.01 par value, outstanding as of the close of business on July 31, 2023:   12,157,456

 

 

 

  

 

inTEST CORPORATION

 

TABLE OF CONTENTS

 

 

Page

PART I.

FINANCIAL INFORMATION

 
     

Item 1.

Financial Statements

 
     
 

Consolidated Balance Sheets as of June 30, 2023 (Unaudited) and December 31, 2022

1
 

Unaudited Consolidated Statements of Operations for the three months and six months ended June 30, 2023 and 2022

2
 

Unaudited Consolidated Statements of Comprehensive Earnings for the three months and six months ended June 30, 2023 and 2022

3
 

Unaudited Consolidated Statements of Stockholders' Equity for the three months and six months ended June 30, 2023 and 2022

4
 

Unaudited Consolidated Statements of Cash Flows for the six months ended June 30, 2023 and 2022

5
 

Notes to Consolidated Financial Statements

6
     

Item 2.

Management's Discussion and Analysis of Financial Condition and Results of Operations

23
     

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

30
     

Item 4.

Controls and Procedures

31
     

PART II.

OTHER INFORMATION

31
     

Item 1.

Legal Proceedings

31
     

Item 1A.

Risk Factors

31
     

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

31
     

Item 3.

Defaults Upon Senior Securities

32
     

Item 4.

Mine Safety Disclosures

32
     

Item 5.

Other Information

32
     

Item 6.

Exhibits

32
   

SIGNATURES

33

 

 

 

  

 
 

PART I. FINANCIAL INFORMATION

Item 1. FINANCIAL STATEMENTS

inTEST CORPORATION
CONSOLIDATED BALANCE SHEETS
(In thousands, except share and per share data)

  

June 30,

  

December 31,

 
  

2023

  

2022

 
  

(Unaudited)

     

ASSETS

        

Current assets:

        

Cash and cash equivalents

 $37,435  $13,434 

Restricted cash

  -   1,142 

Trade accounts receivable, net of allowance for credit losses of $501 and $496, respectively

  21,581   21,215 

Inventories

  23,070   22,565 

Prepaid expenses and other current assets

  1,495   1,695 

Total current assets

  83,581   60,051 

Property and equipment:

        

Machinery and equipment

  6,779   6,625 

Leasehold improvements

  3,520   3,242 

Gross property and equipment

  10,299   9,867 

Less: accumulated depreciation

  (7,081

)

  (6,735

)

Net property and equipment

  3,218   3,132 

Right-of-use assets, net

  5,177   5,770 

Goodwill

  21,707   21,605 

Intangible assets, net

  17,613   18,559 

Deferred tax assets

  965   280 

Restricted certificates of deposit

  100   100 

Other assets

  496   569 

Total assets

 $132,857  $110,066 
         

LIABILITIES AND STOCKHOLDERS' EQUITY

        

Current liabilities:

        

Current portion of Term Note

 $4,100  $4,100 

Current portion of operating lease liabilities

  1,731   1,645 

Accounts payable

  5,735   7,394 

Accrued wages and benefits

  3,570   3,907 

Accrued professional fees

  1,010   884 

Customer deposits and deferred revenue

  5,176   4,498 

Accrued sales commissions

  1,202   1,468 

Domestic and foreign income taxes payable

  1,184   1,409 

Other current liabilities

  1,660   1,564 

Total current liabilities

  25,368   26,869 

Operating lease liabilities, net of current portion

  3,959   4,705 

Term Note, net of current portion

  9,992   12,042 

Contingent consideration

  1,063   1,039 

Other liabilities

  411   455 

Total liabilities

  40,793   45,110 

Commitments and Contingencies

          

Stockholders' equity:

        

Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding

  -   - 

Common stock, $0.01 par value; 20,000,000 shares authorized; 12,185,220 and 11,063,271 shares issued, respectively

  122   111 

Additional paid-in capital

  53,296   31,987 

Retained earnings

  38,464   32,854 

Accumulated other comprehensive earnings

  470   218 

Treasury stock, at cost; 38,514 and 34,308 shares, respectively

  (288

)

  (214

)

Total stockholders' equity

  92,064   64,956 

Total liabilities and stockholders' equity

 $132,857  $110,066 

 

See accompanying Notes to Consolidated Financial Statements. 

 

-1-

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(In thousands, except share and per share data)

(Unaudited)

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Revenue

 $32,558  $29,571  $64,477  $53,652 

Cost of revenue

  17,528   16,023   34,395   29,091 

Gross profit

  15,030   13,548   30,082   24,561 
                 

Operating expenses:

                

Selling expense

  4,661   4,033   9,116   7,489 

Engineering and product development expense

  1,983   1,859   3,887   3,783 

General and administrative expense

  5,042   4,928   10,217   9,759 

Total operating expenses

  11,686   10,820   23,220   21,031 
                 

Operating income

  3,344   2,728   6,862   3,530 

Interest expense

  (176

)

  (141

)

  (358

)

  (278

)

Other income (expense)

  197   (17

)

  255   (27

)

                 

Earnings before income tax expense

  3,365   2,570   6,759   3,225 

Income tax expense

  572   454   1,149   532 
                 

Net earnings

 $2,793  $2,116  $5,610  $2,693 
                 

Earnings per common share - basic

 $0.25  $0.20  $0.51  $0.25 
                 

Weighted average common shares outstanding - basic

  11,241,183   10,653,268   10,998,456   10,635,270 
                 

Earnings per common share - diluted

 $0.24  $0.20  $0.49  $0.25 
                 

Weighted average common shares and common share equivalents outstanding - diluted

  11,696,569   10,814,799   11,392,617   10,828,696 

 

See accompanying Notes to Consolidated Financial Statements.

 

-2-

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS
(In thousands)

(Unaudited)

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Net earnings

 $2,793  $2,116  $5,610  $2,693 
                 

Unrealized gain (loss) on interest rate swap agreement

  28   99   (71

)

  409 

Foreign currency translation adjustments

  153   (702

)

  323   (839

)

                 

Comprehensive earnings

 $2,974  $1,513  $5,862  $2,263 

 

See accompanying Notes to Consolidated Financial Statements

 

-3-

 

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY
(In thousands, except share data)

(Unaudited)

 

  

Six Months Ended June 30, 2023

 
                  

Accumulated

         
          

Additional

      

Other

      

Total

 
  

Common Stock

  

Paid-in

  

Retained

  

Comprehensive

  

Treasury

  

Stockholders'

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Earnings

  

Stock

  

Equity

 

Balance, January 1, 2023

  11,063,271  $111  $31,987  $32,854  $218  $(214

)

 $64,956 
                             

Net earnings

  -   -   -   2,817   -   -   2,817 

Other comprehensive earnings

  -   -   -   -   71   -   71 

Amortization of deferred compensation related to stock-based awards

  -   -   474   -   -   -   474 

Issuance of unvested shares of restricted stock

  90,588   1   (1

)

  -   -   -   - 

Forfeitures of unvested shares of restricted stock

  (13,271

)

  -   -   -   -   -   - 

Stock options exercised

  25,200   -   165   -   -   -   165 

Shares issued under Employee Stock Purchase Plan

  2,292   -   48   -   -   -   48 

Shares surrendered to satisfy tax liability at vesting of stock-based awards

  -   -   -   -   -   (33

)

  (33

)

                             

Balance, March 31, 2023

  11,168,080   112   32,673   35,671   289   (247

)

  68,498 
                             

Net earnings

  -   -   -   2,793   -   -   2,793 

Other comprehensive earnings

  -   -   -   -   181   -   181 

Amortization of deferred compensation related to stock-based awards

  -   -   605   -   -   -   605 

Issuance of unvested shares of restricted stock

  6,873   -   -   -   -   -   - 

Stock options exercised

  86,600   1   734   -   -   -   735 

Shares issued under Employee Stock Purchase Plan

  1,870   -   49   -   -   -   49 

Shares surrendered to satisfy tax liability at vesting of stock-based awards

  -   -   -   -   -   (41

)

  (41

)

Issuance of common stock, net

  921,797   9   19,235   -   -   -   19,244 
                             

Balance, June 30, 2023

  12,185,220  $122  $53,296  $38,464  $470  $(288

)

 $92,064 

 

  

Six Months Ended June 30, 2022

 
                  

Accumulated

         
          

Additional

      

Other

      

Total

 
  

Common Stock

  

Paid-in

  

Retained

  

Comprehensive

  

Treasury

  

Stockholders'

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Earnings

  

Stock

  

Equity

 

Balance, January 1, 2022

  10,910,460  $109  $29,931  $24,393  $594  $(204

)

 $54,823 
                             

Net earnings

  -   -   -   577   -   -   577 

Other comprehensive earnings

  -   -   -   -   173   -   173 

Amortization of deferred compensation related to stock-based awards

  -   -   372   -   -   -   372 

Issuance of unvested shares of restricted stock

  79,489   1   (1

)

  -   -   -   - 

Shares issued under Employee Stock Purchase Plan

  5,245   -   56   -   -   -   56 
                             

Balance, March 31, 2022

  10,995,194   110   30,358   24,970   767   (204

)

  56,001 
                             

Net earnings

  -   -   -   2,116   -   -   2,116 

Other comprehensive loss

  -   -   -   -   (603

)

  -   (603

)

Amortization of deferred compensation related to stock-based awards

  -   -   551   -   -   -   551 

Issuance of unvested shares of restricted stock

  44,044   -   -   -   -   -   - 

Shares redeemed into treasury stock

  -   -   -   -   -   (10

)

  (10

)

Shares issued under Employee Stock Purchase Plan

  9,470   -   65   -   -   -   65 
                             

Balance, June 30, 2022

  11,048,708  $110  $30,974  $27,086  $164  $(214

)

 $58,120 

 

See accompanying Notes to Consolidated Financial Statements

 

-4-

 

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)

(Unaudited)

 

  

Six Months Ended
June 30,

 
  

2023

  

2022

 

CASH FLOWS FROM OPERATING ACTIVITIES

        

Net earnings

 $5,610  $2,693 

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

        

Depreciation and amortization

  2,350   2,528 

Provision for excess and obsolete inventory

  266   230 

Foreign exchange (gain) loss

  (47

)

  98 

Amortization of deferred compensation related to stock-based awards

  1,079   923 

Discount on shares sold under Employee Stock Purchase Plan

  14   18 

Loss on disposal of property and equipment

  98   61 

Deferred income tax benefit

  (685

)

  (805

)

Changes in assets and liabilities:

        

Trade accounts receivable

  (372

)

  (6,607

)

Inventories

  (693

)

  (4,894

)

Prepaid expenses and other current assets

  212   (87

)

Other assets

  2   (395

)

Operating lease liabilities

  (849

)

  (701

)

Accounts payable

  (1,607

)

  3,506 

Accrued wages and benefits

  (351

)

  (981

)

Accrued professional fees

  117   (471

)

Customer deposits and deferred revenue

  625   (264

)

Accrued sales commissions

  (266

)

  219 

Domestic and foreign income taxes payable

  (220

)

  (477

)

Other current liabilities

  76   264 

Other liabilities

  (17

)

  61 

Net cash provided by (used in) operating activities

  5,342   (5,081

)

         

CASH FLOWS FROM INVESTING ACTIVITIES

        

Refund of final working capital adjustment related to Acculogic

  -   371 

Purchase of property and equipment

  (709

)

  (708

)

Purchase of short-term investments

  -   (3,477

)

Net cash used in investing activities

  (709

)

  (3,814

)

         

CASH FLOWS FROM FINANCING ACTIVITIES

        

Net proceeds from public offering of common stock

  19,244   - 

Repayments of Term Note

  (2,050

)

  (1,908

)

Proceeds from shares sold under Employee Stock Purchase Plan

  83   103 

Proceeds from stock options exercised

  900   - 

Acquisition of treasury stock-shares surrendered by employees to satisfy tax liability

  (74

)

  (10

)

Net cash provided by (used in) financing activities

  18,103   (1,815

)

         

Effects of exchange rates on cash

  123   58 
         

Net cash provided by (used in) all activities

  22,859   (10,652

)

Cash and cash equivalents at beginning of period

  14,576   21,195 

Cash and cash equivalents at end of period

 $37,435  $10,543 
         

Cash payments for:

        

Domestic and foreign income taxes

 $2,060  $1,865 

 

See accompanying Notes to Consolidated Financial Statements.

 

-5-

 

 

inTEST CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(In thousands, except share and per share data)

 

 

(1)

NATURE OF OPERATIONS

 

We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

The consolidated entity is comprised of inTEST Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Germany, Singapore, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.

 

All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. The mix of products we sell in any period is ultimately determined by our customers’ needs. Therefore, the mix of products sold in any given period can change significantly from the prior period. In addition, we sell our products to a variety of different types of customers with varying levels of discounts and commission expense. As a result of changes in both the mix of products sold as well as customer mix in any given period, our consolidated gross margin can vary significantly from period to period.

 

The semiconductor market (“semi” or the “semi market”) which includes both the broader semiconductor market, as well as the more specialized automated test equipment (“ATE”) and wafer production sectors within the broader semiconductor market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical as well as seasonal market patterns. The semi market is also subject to periods of significant expansion or contraction in demand. In addition to the semi market, we sell into a variety of other markets. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.

 

Our Electronic Test segment sells its products to semiconductor manufacturers and third-party test and assembly houses (end user sales) and to ATE manufacturers (original equipment manufacturer (“OEM”) sales), who ultimately resell our equipment with theirs to both semiconductor manufacturers and third-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the acquisition of Acculogic Inc. and its affiliates (“Acculogic”) in December 2021, our Electronic Test segment also sells its products to customers in markets outside the semi market including the automotive, defense/aerospace, industrial and life sciences markets. Our Environmental Technologies segment sells its products to end users and OEMs within the ATE sector of the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the automotive, defense/aerospace, industrial and life sciences markets. Our Process Technologies segment sells its products to customers in the wafer production sector within the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the automotive, defense/aerospace, industrial, life sciences and security markets.

 

Our financial results are affected by a wide variety of factors, including, but not limited to, general economic conditions worldwide and in the markets in which we operate, economic conditions specific to the semi market and the other markets we serve, downward pricing pressures from customers, our reliance on a relatively few number of customers for a significant portion of our sales and our ability to safeguard patented technology and intellectual property in a rapidly evolving market. In addition, we are exposed to the risk of obsolescence of our inventory depending on the mix of future business and technological changes within the markets that we serve. Part of our strategy for growth includes potential acquisitions that may cause us to incur substantial expense in reviewing and evaluating potential transactions. We may or may not be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we may not be able to successfully integrate any business we do acquire with our existing business and we may not be able to operate the acquired business profitably. As a result of these or other factors, we may experience significant period-to-period fluctuations in future operating results.

 

On May 11, 2023, we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20,000 between May 11, 2023 and May 31, 2023. We received net proceeds from the sale of these shares of $19,244 after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.

 

- 6-

  
 

(2)

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Basis of Presentation and Use of Estimates

The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America ("U.S. GAAP") requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including contingent consideration, inventories, long-lived assets, goodwill, identifiable intangibles and deferred tax assets and liabilities, including related valuation allowances, are particularly impacted by estimates.

 

In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”) filed on March 22, 2023 with the Securities and Exchange Commission.
 

Reclassification

Certain prior period amounts have been reclassified to be comparable with the current period's presentation. 

 

Subsequent Events

We have made an assessment of our operations and determined that there were no material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2023.

 

Business Combinations

Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statement of operations in the period of the estimated fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.

 

Cash, Cash Equivalents and Restricted Cash

 

Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.

 

Restricted cash at December 31, 2022 represented amounts deposited at our bank in the Netherlands to support a bank guarantee which one of the customers of our Process Technologies segment required as a condition of paying a deposit on a large order they placed with us in 2022. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At June 30, 2023 this deposit had been fully utilized and the bank guarantee had therefore lapsed. At December 31, 2022, the amount of the deposit, and, accordingly, the guarantee, was EUR 1,067, or $1,142.

 

- 7-

 

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

 

  

June 30,

2023

  

December 31,

2022

 

Cash and cash equivalents

 $37,435  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $37,435  $14,576 

 

Trade Accounts Receivable and Allowance for Credit Losses

 

Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers' financial condition. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective January 1, 2023, we follow the guidance in Accounting Standards Codification (“ASC”) Topic 326 (Financial Instruments – Credit Losses) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.

 

Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.

 

For the six months ended June 30, 2023, there were no significant changes in the amount of the allowance for credit losses. During the six months ended June 30, 2023, we recorded a bad debt recovery of $79. This amount had been fully written off prior to our acquisition of Acculogic and was no longer in our accounts receivable balance. There was no bad debt expense or recovery recorded during the six months ended June 30, 2022.

 

Fair Value of Financial Instruments

 

Our financial instruments include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short maturities of the accounts. Our short-term investments are classified as held-to-maturity and carried at amortized cost. Our credit facility and our interest rate swap are discussed further below and in Note 9. Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC Topic 820 (Fair Value Measurement). ASC Topic 820 establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See Note 3 for further disclosures related to the fair value of our liabilities for contingent consideration.

 

Goodwill, Intangible and Long-Lived Assets

We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

We account for goodwill and intangible assets in accordance with ASC Topic 350 (Intangibles - Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized. 

 

- 8-

 

The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.

 

Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.

 

Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“ROU”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management's best estimates using appropriate assumptions and projections at that time. 

 

Revenue Recognition

We recognize revenue in accordance with the guidance in ASC Topic 606 (Revenue from Contracts with Customers). We recognize revenue for the sale of products or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.

 

Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.

 

Nature of Products and Services

 

We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) precision induction heating systems, including EKOHEAT® and EASYHEATTM products. As a result of the acquisition of Videology, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We provide post-warranty service and support for the equipment we sell. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and security markets.

 

We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options.

 

- 9-

 

Types of Contracts with Customers

 

Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.

 

Contract Balances

 

We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our balance sheet. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Deferred revenue and customer deposits are included in current liabilities on our consolidated balance sheets.

 

As discussed above, we follow the guidance in ASC Topic 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.

 

Costs to Obtain a Contract with a Customer

 

The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.

 

Product Warranties

 

In connection with the sale of our products, we generally provide standard one- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.

 

See Notes 5 and 13 for further information about our revenue from contracts with customers.

 

Inventories

 

Inventories are valued at cost on a first-in, first-out basis, not in excess of net realizable value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories. We incurred excess and obsolete inventory charges of $266 and $230 for the six months ended June 30, 2023 and 2022, respectively.

 

- 10-

 

Leases

 

We account for leases in accordance with ASC Topic 842 (Leases). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC Topic 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.

 

ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.

 

We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.

 

Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.

 

We have made an accounting policy election not to apply the recognition requirements of ASC Topic 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.

 

See Note 8 for further disclosures regarding our leases.

 

Interest Rate Swap Agreement

 

We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in Notes 3 and 9. The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 (Derivatives and Hedging). Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. 

 

Contingent Liability for Repayment of State and Local Grant Funds Received

 

In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell, occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $550 to help offset a portion of the cost of the leasehold improvements we made to this facility. The final payment of $87 was received during the three months ended March 31, 2022. In exchange for the funds we received under these agreements, we are required to create and maintain specified levels of employment in this location through various dates ending in 2024. If we fail to meet these employment targets, we may be required to repay a proportionate share of the proceeds. At June 30, 2023, $193 of the total proceeds received could still be required to be repaid if we do not meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are no longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheet and totaled $273 at June 30, 2023. At June 30, 2023, we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester. 

 

- 11-

 

Stock-Based Compensation

We account for stock-based compensation in accordance with ASC Topic 718 (Compensation - Stock Compensation) which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. See further disclosures related to our stock-based compensation plans in Note 10.

 

Income Taxes

The asset and liability method is used in accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. 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 the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.

 

Earnings Per Common Share

Earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Earnings per common share - diluted is computed by dividing earnings by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.

 

The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings per share because their effect was anti-dilutive:

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Weighted average common shares outstanding - basic

  11,241,183   10,653,268   10,998,456   10,635,270 

Potentially dilutive securities:

                

Unvested shares of restricted stock and employee stock options

  455,386   161,531   394,161   193,426 

Weighted average common shares and common share equivalents outstanding - diluted

  11,696,569   10,814,799   11,392,617   10,828,696 
                 

Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period

  96,661   608,322   125,545   477,448 

 

Effect of Recently Adopted Amendments to Authoritative Accounting Guidance

 

In June 2016, the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In November 2019, the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after December 15, 2022. The amendments replaced the incurred loss impairment methodology under current GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on January 1, 2023. The adoption of these amendments did not have any impact on our consolidated financial statements.

 

- 12-

  
 

(3)

FAIR VALUE MEASUREMENTS

 

ASC Topic 820 (Fair Value Measurement) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.

 

ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:

 

Level 1 Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.

 

Level 2 Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.

 

Level 3 Valuations based on inputs that are unobservable and significant to the overall fair value measurement.

 

To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument's level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.

 

Recurring Fair Value Measurements

 

The interest rate swap agreement we entered into in connection with our Term Note, as discussed further in Notes 2 and 9 is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheets is measured at fair value on a recurring basis using Level 3 inputs. Our contingent consideration liability is a result of our acquisition of Acculogic on December 21, 2021, and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“EV”) or battery customers. Our acquisition of Acculogic and this liability are both discussed further in Note 3 to our consolidated financial statements in our 2022 Form 10-K. The current portion of this liability totaled $331 as of June 30, 2023 and $324 as of December 31, 2022 and was included in Other Current Liabilities on our balance sheets.

 

The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

As of June 30, 2023

                

Contingent consideration liability – Acculogic

 $(1,394

)

 $-  $-  $(1,394

)

Interest rate swap

 $457  $-  $457  $- 

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

As of December 31, 2022

                

Contingent consideration liability – Acculogic

 $(1,363

)

 $-  $-  $(1,363

)

Interest rate swap

 $528  $-  $528  $- 

 

Changes in the fair value of our Level 3 contingent consideration liabilities for the six months ended June 30, 2023 were as follows:

  

Six
Months Ended

June 30, 2023

 

Balance at beginning of period

 $1,363 

Impact of foreign currency translation adjustments

  31 
     

Balance at end of period

 $1,394 

 

- 13-

  
 

(4)

GOODWILL AND INTANGIBLE ASSETS

 

We have three operating segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies. Goodwill and intangible assets on our balance sheets are the result of our acquisitions.

 

Goodwill

Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2023 are as follows:

 

Balance - January 1, 2023

 $21,605 

Impact of foreign currency translation adjustments

  102 

Balance - June 30, 2023

 $21,707 

 

Goodwill was comprised of the following at June 30, 2023 and December 31, 2022:

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Electronic Test

 $3,436  $3,369 

Environmental Technologies

  1,817   1,817 

Process Technologies

  16,454   16,419 
         

Total goodwill

 $21,707  $21,605 

 

Intangible Assets

Changes in the amount of the carrying value of indefinite-lived intangible assets for the six months ended June 30, 2023 are as follows:

 

Balance - January 1, 2023

 $8,369 

Impact of foreign currency translation adjustments

  26 

Balance - June 30, 2023

 $8,395 

 

Changes in the amount of the carrying value of finite-lived intangible assets for the six months ended June 30, 2023 are as follows:

 

Balance - January 1, 2023

 $10,190 

Impact of foreign currency translation adjustments

  95 

Amortization

  (1,067

)

Balance - June 30, 2023

 $9,218 

 

Intangible assets were allocated to our reporting segments at June 30, 2023 and December 31, 2022 as follows:

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Electronic Test:

 $3,981  $4,139 

Environmental Technologies

  813   832 

Process Technologies

  12,819   13,588 
         

Total intangible assets

 $17,613  $18,559 

 

- 14-

 

The following tables provide further detail about our intangible assets as of June 30, 2023 and December 31, 2022:

 

  

June 30, 2023

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,394  $8,859  $7,535 

Technology

  2,891   1,208   1,683 

Patents

  590   590   - 

Backlog

  497   497   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,782   11,564   9,218 

Indefinite-lived intangible assets:

            

Trademarks

  8,395   -   8,395 

Total intangible assets

 $29,177  $11,564  $17,613 

 

  

December 31, 2022

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,313  $7,990  $8,323 

Technology

  2,855   988   1,867 

Patents

  590   590   - 

Backlog

  492   492   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,660   10,470   10,190 

Indefinite-lived intangible assets:

            

Trademarks

  8,369   -   8,369 

Total intangible assets

 $29,029  $10,470  $18,559 

 

We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.

 

The following table sets forth the estimated annual amortization expense for each of the next five years:

 

2023 (remainder)

 $1,033 

2024

 $1,982 

2025

 $1,772 

2026

 $1,162 

2027

 $666 

  

 

- 15-

 
 

(5)

REVENUE FROM CONTRACTS WITH CUSTOMERS

 

The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. The information about revenue by customer and product type for the three and six months ended June 30, 2022 has been reclassified to be consistent with how the information for the current period is presented. See also Note 13 for information about revenue by operating segment and geographic region.

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue by customer type:

                

End user

 $21,877  $22,095  $43,581  $39,237 

OEM/Integrator

  10,681   7,476   20,896   14,415 
  $32,558  $29,571  $64,477  $53,652 
                 

Revenue by product type:

                

Thermal test

 $6,172  $5,951  $11,993  $11,008 

Thermal process

  11,872   9,968   21,694   16,964 

Semiconductor test

  8,753   6,632   16,859   12,639 

Video imaging

  2,434   2,395   5,082   4,245 

Flying probe and in-circuit testers

  1,417   2,088   2,576   3,777 

Service/other

  1,910   2,537   6,273   5,019 
  $32,558  $29,571  $64,477  $53,652 
                 

Revenue by market:

                

Semiconductor

 $18,833  $16,409  $36,516  $29,799 

Industrial

  2,806   2,930   5,943   5,729 

Automotive (including Electric Vehicles)

  1,542   3,594   4,139   6,350 

Defense/aerospace

  3,890   1,423   6,729   2,916 

Life Sciences

  1,135   1,169   2,648   1,868 

Security

  936   794   1,902   1,368 

Other

  3,416   3,252   6,600   5,622 
  $32,558  $29,571  $64,477  $53,652 

 

- 16-

  
 

(6)

MAJOR CUSTOMERS

 

During the six months ended June 30, 2023, one customer accounted for 14% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. No other customers accounted for 10% or more of our consolidated revenue during the six months ended June 30, 2023. During the six months ended June 30, 2022, no customer accounted for 10% or more of our consolidated revenue.

 

 

(7)

INVENTORIES

 

Inventories held at June 30, 2023 and December 31, 2022 were comprised of the following:

 

  

June 30,

2023

  

December 31,

2022

 

Raw materials

 $16,834  $16,888 

Work in process

  2,343   2,432 

Inventory consigned to others

  76   59 

Finished goods

  3,817   3,186 

Total inventories

 $23,070  $22,565 

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Excess and obsolete inventory charges

 $131  $107  $266  $230 

  

 

(8) 

LEASES 

 

As previously discussed in Note 2, we account for our leases in accordance with the guidance in ASC Topic 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2031. Total operating lease and short-term lease costs for the three and six months ended June 30, 2023 and 2022 were as follows: 

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Operating lease cost

 $403  $317  $803  $643 

Short-term lease cost

 $4  $14  $7  $44 

 

The following is additional information about our leases as of June 30, 2023:

 

Range of remaining lease terms (in years)

  0.1to7.8 

Weighted average remaining lease term (in years)

   4.7  

Weighted average discount rate

   4.5%  

 

- 17-

 

Maturities of lease liabilities as of June 30, 2023 were as follows:

 

2023 (remainder)

 $974 

2024

  1,910 

2025

  1,010 

2026

  710 

2027

  706 

Thereafter

  945 

Total lease payments

 $6,255 

Less imputed interest

  (565

)

Total

 $5,690 

 

Cash Flow Information

 

Total amortization of ROU assets was $391 and $782 for the three months and six months ended June 30, 2023, respectively, and $329 and $638 for the three months and six months ended June 30, 2022, respectively.

 

During the six months ended June 30, 2023, we entered into a 25-month lease for a facility for our Environmental Technologies segment’s operation in Germany. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $90. During this same period, we entered into two auto leases, one with a 36-month term and one with a 48-month term, for employees of our Process Technologies segment both of whom are based in Europe. At the effective date of these leases, we recorded non-cash increases in our ROU assets and operating lease liabilities totaling approximately $71.

 

 

(9)

DEBT

 

Letters of Credit

We have issued letters of credit as the security deposits for certain of our domestic leases. These letters of credit are secured by pledged certificates of deposit which are classified as Restricted Certificates of Deposit on our consolidated balance sheets. The terms of our leases require us to renew these letters of credit at least 30 days prior to their expiration dates for successive terms of not less than one year until lease expiration. Our outstanding letters of credit at June 30, 2023 and December 31, 2022 consisted of the following:

 

    

L/C

 

Lease

 

Letters of Credit
Amount Outstanding

 

Facility

 

Original L/C
Issue Date

 

Expiration
Date

 

Expiration
Date

 

June 30,
2023

  

Dec. 31,
2022

 

Mt. Laurel, NJ

 

3/29/2010

 

4/30/2024

 

4/30/2031

 $50  $50 

Mansfield, MA

 

10/27/2010

 

12/31/2024

 

12/31/2024

  50   50 
        $100  $100 

 

Credit Facility

 

On October 15, 2021 (the “Closing Date”), we entered into an Amended and Restated Loan and Security Agreement with M&T Bank (“M&T”) which, on October 28, 2021, was amended by the Joinder and Amendment to Amended and Restated Loan and Security Agreement and which, on December 30, 2021, was further amended by the Joinder and Second Amendment to Amended and Restated Loan and Security Agreement (as amended, the “Loan Agreement”).

 

The Loan Agreement included a $25,000 non-revolving delayed draw term note (the “Term Note”) and a $10,000 revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility had a five-year contract period that began on the Closing Date and expired on October 15, 2026, and draws under the Term Note were permissible for two years.

 

On September 20, 2022, we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement, as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note. Under the Amended Loan Agreement, the maximum loan amount that we may borrow under the Term Note increased from $25,000 to $50,500, which raises the available funding at June 30, 2023 to $30,000. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to September 19, 2027 (the “Contract Period”). At June 30, 2023, we had not borrowed any amounts under the $10 million Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement.

 

- 18-

 

The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the secured overnight financing rate for U.S. government securities (“SOFR”) or a bank-defined base rate plus an applicable margin, depending on leverage. Each draw under the Term Note will have an option for us of either (i) up to a five year amortizing term loan with a balloon due at maturity, or (ii) up to a five year term with up to seven years amortization with a balloon due at maturity. Any amortization greater than five years will be subject to an excess cash flow recapture. The Amended Loan Agreement also allows us to enter into hedging contracts with M&T, including interest rate swap agreements, interest rate cap agreements, interest rate collar agreements, or any other agreements or that are designed to protect us against fluctuations in interest rates or currency exchange rates.

 

The Amended Loan Agreement contains customary default provisions, including but not limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Amended Loan Agreement, bankruptcy by us, suspension of our business or any of our subsidiaries and certain material judgments. After expiration of the Contract Period or if a continued event of default occurs, interest will accrue on the principal balance at a rate of 2% in excess of the then applicable non-default interest rate. The Amended Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA and a fixed charge coverage ratio. Our obligations under the Amended Loan Agreement are secured by liens on substantially all of our tangible and intangible assets that are owned as of the Closing Date or acquired thereafter.

 

On October 28, 2021, we drew $12,000 under the Term Note to finance the acquisition of Videology as discussed above. We also entered into an interest rate swap agreement with M&T as of this date which is designed to protect us against fluctuations in interest rates during the five year repayment and amortization period. As a result, the annual interest rate we expect to pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.

 

On December 29, 2021, we drew $8,500 under the Term Note to finance the acquisition of Acculogic as discussed above. We did not enter into an interest rate swap agreement with M&T related to this draw. The annual interest rate we expect to pay for this draw under the Term Note is variable. At June 30, 2023, it was approximately 7.2% based on current leverage. Effective August 1, 2023, this rate remained the same. 

 

The following table sets forth the maturities of long-term debt for each of the next five years:

 

2023 (remainder)

 $2,050 

2024

  4,100 

2025

  4,100 

2026

  3,842 
  $14,092 

  

 

(10) 

STOCK-BASED COMPENSATION PLAN

 

As of June 30, 2023, we had unvested restricted stock awards and stock options granted under stock-based compensation plans that are described more fully in Note 15 to the consolidated financial statements in our 2022 Form 10-K. In addition, on June 21, 2023, our stockholders approved the inTEST Corporation 2023 Stock Incentive Plan (the “2023 Plan”) which replaces the Fourth Amended and Restated 2014 Stock Plan (the “2014 Plan”). No further awards can be granted under the 2014 Plan. The maximum number of shares of common stock available for grant and issuance under the 2023 Plan will be (a) 350,000, plus (b) the number of shares of common stock available for issuance under the 2014 Plan on the date the 2023 Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the 2014 Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the 2023 Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the 2023 Plan as of the date of its approval was 1,117,942.

 

Our unvested restricted stock awards and stock options are accounted for based on their grant date fair value. As of June 30, 2023, total compensation expense to be recognized in future periods is $4,127. The weighted average period over which this expense is expected to be recognized is 2.1 years.

 

- 19-

 

The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2023 and 2022 related to unvested shares of restricted stock and stock options:

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Cost of revenues

 

$

29

  

$

15

  

$

48

  

$

26

 

Selling expense

  

11

   

7

   

21

   

14

 

Engineering and product development expense

  

9

   

18

   

19

   

37

 

General and administrative expense

  

556

   

511

   

991

   

846

 
  

$

605

  

$

551

  

$

1,079

  

$

923

 

 

There was no compensation expense capitalized in three and six months ended June 30, 2023 or 2022. 

 

Stock Options

We record compensation expense for stock options based on the fair market value of the options as of the grant date. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.

The fair value for stock options granted during the six months ended June 30, 2023 and 2022 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:

 

  

2023

  

2022

 

Risk-free interest rate

  3.93

%

  2.05

%

Dividend yield

  0.00

%

  0.00

%

Expected common stock market price volatility factor

  .57   .55 

Weighted average expected life of stock options (years)

  6.25   6.25 

 

The per share weighted average fair value of stock options issued during the six months ended June 30, 2023 and 2022 was $9.43 and $4.53, respectively.

 

The following table summarizes the activity related to stock options for the six months ended June 30, 2023:

 

  

Number
of Shares

  

Weighted
Average
Exercise Price

 

Options outstanding, January 1, 2023 (167,886 exercisable)

  580,419   8.91 

Granted

  93,860   16.25 

Exercised

  (111,800

)

  8.05 

Canceled

  (23,859

)

  9.09 

Options outstanding, June 30, 2023 (187,981 exercisable)

  538,620   10.36 

 

Restricted Stock Awards

We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees and over one year for our independent directors (25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted).

 

Since August 2020, we have increasingly granted performance-based restricted stock awards where the ultimate number of shares that vest can vary between 0% and 150% of the amount of the original award and is based on the achievement of specified performance metrics. Vesting for these awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for these awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjustment, as needed. Our initial assumption at the grant date of these awards is that the award will vest at the 100% level. The awards granted prior to January 1, 2023 are discussed in more detail in Note 15 to the consolidated financial statement in our 2022 Form 10-K. There have been no significant changes to our assumptions related to the expected vesting percentages for any of these performance-based awards as of June 30, 2023.

 

- 20-

 

On March 8, 2023, our Chief Executive Officer ("CEO"), Chief Financial Officer ("CFO") and certain other members of our senior management received restricted stock awards totaling 18,888 shares valued at $303 as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on March 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics related to consolidated revenue for specified time periods as determined by the Compensation Committee of our Board of Directors. As of June 30, 2023, we have estimated that these shares will vest at 100% of the original amount. On May 8, 2023 the newly appointed president of our Environmental Technologies segment received restricted stock awards totaling 5,081 shares valued at $108 as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on May 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics including revenue and income from operations for specified time periods as determined by the Compensation Committee of our Board of Directors in consultation with our CEO and CFO.

 

The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2023:

  

Number
of Shares

  

Weighted
Average
Grant Date
Fair Value

 

Unvested shares outstanding, January 1, 2023

  288,450   7.80 

Granted

  97,461   16.43 

Vested

  (57,559

)

  10.99 

Forfeited

  (13,271

)

  9.88 

Unvested shares outstanding, June 30, 2023

  315,081   9.72 

 

The total fair value of the restricted stock awards that vested during the six months ended June 30, 2023 and 2022 was $1,153 and $436, respectively, as of the vesting dates of these awards. 

 

 

(11) 

EMPLOYEE STOCK PURCHASE PLAN

 

The inTEST Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by the Board in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021 at our Annual Meeting of Stockholders. The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a discounted purchase price. The ESPP became effective on October 1, 2021.

 

The ESPP provides that an aggregate of up to 250,000 shares of our common stock will be available for issuance thereunder. The shares of our common stock purchasable under the ESPP will be shares of authorized but unissued or reacquired shares, including shares repurchased by us on the open market.

 

During the six months ended June 30, 2023, employees purchased 4,162 shares of our common stock through the ESPP at a cost of $97. The closing market price of our common stock on the dates of purchase were $20.74 and $26.26, respectively. The prices paid by employees were $17.63 and $22.32, respectively, which represented a 15% discount. The total amount of the discount of $14 was recorded as compensation expense in our consolidated statements of operations. During the six months ended June 30, 2022, employees purchased 14,715 shares of our common stock through the ESPP at a cost of $121. The closing market price of our common stock on the dates of purchase were $10.73 and $6.82, respectively. The prices paid by employees were $9.12 and $5.80, respectively, which represented a 15% discount. The total amount of the discount of $18 was recorded as compensation expense in our consolidated statements of operations.

 

From the effective date of the ESPP through June 30, 2023, a total of 35,314 shares of our common stock have been purchased by employees through the ESPP at a cost of $379. We have recorded a total of $57 of compensation expense in our consolidated statements of operations related to these shares.

  

 

(12) 

EMPLOYEE BENEFIT PLANS

 

We have defined contribution 401(k) plans for our employees who work in the U.S. All permanent employees of inTEST Corporation, inTEST EMS LLC, Temptronic Corporation and Videology who are at least 18 years of age are eligible to participate in the inTEST Corporation Incentive Savings Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5. Employer contributions vest ratably over four years. Matching contributions are discretionary. For the three and six months ended June 30, 2023 we recorded $108 and $347 of expense for matching contributions, respectively. For the three and six months ended June 30, 2022 we recorded $134 and $350 of expense for matching contributions, respectively.

 

All permanent employees of Ambrell are immediately eligible to participate in the Ambrell Corporation Savings & Profit Sharing Plan (the "Ambrell Plan") upon employment and are eligible for employer matching contributions after completing six months of service, as defined in the Ambrell Plan. The Ambrell Plan allows eligible employees to make voluntary contributions up to 100% of compensation, up to the federal government contribution limits. We will make a matching contribution of 50% of each employee's contributions up to a maximum of 10% of the employee's deferral with a maximum limit of $5. For the three and six months ended June 30, 2023 we recorded $91 and $224 of expense for matching contributions, respectively. For the three and six months ended June 30, 2022 we recorded $85 and $186 of expense for matching contributions, respectively.

 

- 21-

  
 

(13) 

SEGMENT INFORMATION

 

We have three operating segments which are also our reportable segments and reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products). We operate our business worldwide and sell our products both domestically and internationally. All of our segments sell to semiconductor manufacturers, third-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the automotive, defense/aerospace, industrial, life sciences, security and other markets.  

 

Our management team, including our CEO who is also our Chief Operating Decision Maker as defined under U.S. GAAP, evaluates the performance of our operating segments primarily on income from divisional operations which represents earnings before income tax expense and excludes interest expense, other income (expense), corporate expenses and acquired intangible amortization.

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue:

                

Electronic Test

 

$

10,993

  

$

9,797

  

$

21,364

  

$

18,575

 

Environmental Technologies

  

8,136

   

7,507

   

16,178

   

14,500

 

Process Technologies

  

13,429

   

12,267

   

26,935

   

20,577

 

Total revenue

 

$

32,558

  

$

29,571

  

$

64,477

  

$

53,652

 
                 

Income from divisional operations:

                

Electronic Test

 

$

2,641

  

$

2,193

  

$

5,219

  

$

4,080

 

Environmental Technologies

  

943

   

1,070

   

1,956

   

1,872

 

Process Technologies

  

2,592

   

2,569

   

5,268

   

3,299

 

Total income from divisional operations

  

6,176

   

5,832

   

12,443

   

9,251

 

Corporate expenses

  

(2,309

)

  

(2,339

)

  

(4,514

)

  

(4,174

)

Acquired intangible amortization

  

(523

)

  

(765

)

  

(1,067

)

  

(1,547

)

Interest expense

  

(176

)

  

(141

)

  

(358

)

  

(278

)

Other income (expense)

  

197

   

(17

)

  

255

   

(27

)

Earnings before income tax expense

 

$

3,365

  

$

2,570

  

$

6,759

  

$

3,225

 

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Identifiable assets:

        

Electronic Test

 $30,245  $31,143 

Environmental Technologies

  18,080   18,040 

Process Technologies

  55,104   56,866 

Corporate

  29,428   4,017 
  $132,857  $110,066 

 

The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue:

                

U.S.

 $9,912  $14,068  $21,002  $23,302 

Foreign

  22,646   15,503   43,475   30,350 
  $32,558  $29,571  $64,477  $53,652 

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Property and equipment:

        

U.S.

 $2,523  $2,658 

Foreign

  695   474 
  $3,218  $3,132 

 

- 22-

  
 

Item 2.

MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

 

Risk Factors and Forward-Looking Statements

 

In addition to historical information, this Quarterly Report on Form 10-Q for the period ended June 30, 2023 (this “Report”), including this management’s discussion and analysis (“MD&A”), contains statements that are considered "forward-looking statements" within the meaning of the Private Securities Litigation Reform Act of 1995, as amended. These statements do not convey historical information, but relate to predicted or potential future events, such as statements of our plans, strategies and intentions, or our future performance or goals, projections of revenue, taxable earnings (loss), net earnings (loss), net earnings (loss) per share, capital expenditures and other financial items, that are based on management’s current expectations and estimates. Our forward-looking statements can often be identified by the use of forward-looking terminology such as “believes,” “expects,” “may,” “could,” “will,” “should,” “plans,” “depending,” “projects,” “forecasts,” “seeks,” “anticipates,” “goal,” “objective,” “target,” “estimates,” “future,” “strategy,” or variations of such words or similar terminology. Investors and prospective investors are cautioned that such forward-looking statements are only projections based on current expectations and estimates. These statements involve risks and uncertainties and are based upon various assumptions. Such risks and uncertainties include, but are not limited to:

 

 

our ability to execute on our 5-Point Strategy;

 

our ability to grow our presence in the life sciences, security, industrial and international markets;

 

the possibility of future acquisitions or dispositions and the successful integration of any acquired operations;

 

the success of our strategy to diversify our business by entering markets outside the semiconductor and automated test equipment (“ATE”) markets, collectively the “semi market”;

 

indications of a change in the market cycles in the semi market, or other markets we serve;

 

developments and trends in the semi market, including changes in the demand for semiconductors;

 

our ability to convert backlog to sales and to ship product in a timely manner;

 

the loss of any one or more of our largest customers, or a reduction in orders by a major customer;

 

the availability of materials used to manufacture our products;

 

the impact of current global supply chain constraints or other interruptions in our supply chain caused by external factors;

 

the sufficiency of cash balances, lines of credit and net cash from operations;

 

stock price fluctuations;

 

the ability to borrow funds or raise capital to finance potential acquisitions or for working capital;

 

changes in the rate of, and timing of, capital expenditures by our customers;

 

effects of exchange rate fluctuations;

 

progress of product development programs;

 

the anticipated market for our products;

 

the availability of and retention of key personnel or our ability to hire personnel at anticipated costs;

 

general economic conditions both domestically and globally, and

 

other risk factors included in Part I, Item 1A - "Risk Factors" in our 2022 Form 10-K.

 

These risks and uncertainties, among others, could cause our actual future results to differ materially from those described in our forward-looking statements or from our prior results. Any forward-looking statement made by us in this Report is based only on information currently available to us and speaks to circumstances only as of the date on which it is made. We undertake no obligation to update publicly any forward-looking statements for any reason after the date of this Report to conform these statements to actual results or to changes in our expectations, except as required by law.

 

Overview
 

This MD&A should be read in conjunction with the accompanying consolidated financial statements. In addition, please refer to the discussion of our business and markets contained in Part 1, Item 1 of our 2022 Form 10-K.

 

We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We have three reportable segments which are also our reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products).

 

-23-

 

All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. These factors include, for example, the amount of engineering time required to develop the product, the market or customer to which we sell the product and the level of competing products available from other suppliers. The needs of our customers ultimately determine the products that we sell in a given time period. Therefore, the mix of products sold in a given period can change significantly when compared against the prior period. As a result, our consolidated gross margin may be significantly impacted by a change in the mix of products sold in a particular period. 

 

Markets

 

As discussed further in Part 1, Item 1 “Markets” of our 2022 Form 10-K, we are focused on specific target markets which include automotive, defense/aerospace, industrial, life sciences, security as well as both the front-end and back-end of the semi market. The semi market, which includes both the broader semiconductor market, as well as the more specialized ATE and wafer production sectors within the broader semiconductor market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical market patterns and is subject to periods of significant expansion or contraction in demand. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.

 

The portion of our business that is derived from the semi market is substantially dependent upon the demand for ATE by semiconductor manufacturers and companies that specialize in the testing of integrated circuits (“ICs”) and, for our induction heating products, the demand for wafer production equipment. Demand for ATE or wafer production equipment is primarily driven by semiconductor manufacturers that are opening new, or expanding existing, semiconductor fabrication facilities or upgrading equipment, which in turn is dependent upon the current and anticipated market demand for ICs and products incorporating ICs. Such market demand can be the result of market expansion, development of new technologies or redesigned products to incorporate new features, or the replacement of aging equipment.

 

In the past, the semi market has been highly cyclical with recurring periods of oversupply, which often severely impact the semi market's demand for the products we manufacture and sell into the market. This cyclicality can cause wide fluctuations in both our orders and revenue and, depending on our ability to react quickly to these shifts in demand, can significantly impact our results of operations. Market cycles are difficult to predict and, because they are generally characterized by sequential periods of growth or declines in orders and revenue during each cycle, year over year comparisons of operating results may not always be as meaningful as comparisons of periods at similar points in either up or down cycles. These periods of heightened or reduced demand can shift depending on various factors impacting both our customers and the markets that they serve. In addition, during both downward and upward cycles in the semi market, in any given quarter, the trend in both our orders and revenue can be erratic. This can occur, for example, when orders are canceled or currently scheduled delivery dates are accelerated or postponed by a significant customer or when customer forecasts and general business conditions fluctuate during a quarter.

 

While a significant portion of our orders and revenue are derived from the semi market, and our operating results generally follow the overall trend in the semi market, in any given period we may experience anomalies that cause the trend in our revenue from the semi market to deviate from the overall trend in the market. We believe that these anomalies may be driven by a variety of factors within the semi market, including, for example, changing product requirements, longer periods between new product offerings by OEMs and changes in customer buying patterns. In addition, in recent periods, we have seen instances when demand within the semi market is not consistent for each of our operating segments or for any given product within a particular operating segment. This inconsistency in demand can be driven by a number of factors but, in most cases, we have found that the primary reason is unique customer-specific changes in demand for certain products driven by the needs of their customers or markets served. Recently this has become more pronounced for our sales into the wafer production sector within the broader semiconductor market due to the limited market penetration we have into this sector and the variability of orders we have experienced from the few customers we support. These shifts in market practices and customer-specific needs have had, and may continue to have, varying levels of impact on our operating results and are difficult to quantify or predict from period to period. Management has taken, and will continue to take, such actions it deems appropriate to adjust our strategies, products and operations to counter such shifts in market practices as they become evident.

 

As discussed further in Part I, Item 1 “Overview and Strategy” of our 2022 Form 10-K, although the semi market remains our largest market, as part of our strategy to grow our business, we are focused on several other key target markets where we believe our products address test and process requirements and where we believe there is significant potential for growth. These key target markets include the automotive, defense/aerospace, industrial, life sciences and security markets. We believe that these markets are usually less cyclical than the semi market. While market share statistics exist for some of these markets, due to the nature of our highly specialized product offerings in these markets, we do not expect broad market penetration in many of these markets and, therefore, do not anticipate developing meaningful market shares in most of these markets.

 

-24-

 

In addition, because of our limited market share, our orders and revenue in any given period in these markets do not necessarily reflect the overall trends in these markets. Consequently, we are continuing to evaluate buying patterns and opportunities for growth in these, and other, markets that may affect our performance. The level of our orders and revenue in all of the markets we serve has varied in the past, and we expect will vary significantly in the future, as we work to build our presence in our current markets and establish new markets for our products.

 

Revenue

The following table sets forth, for the periods indicated, a breakdown of revenue by market (in thousands).

 

   

Three Months Ended

 
                                   

Change

                   

Change

 
   

6/30/2023

   

6/30/2022

       $        %     

3/31/2023

       $        %   

Revenue

                                                                               

Semi

  $ 18,833       57.8

%

  $ 16,409       55.5

%

  $ 2,424       14.8

%

  $ 17,683       55.4

%

  $ 1,150       6.5

%

Industrial

    2,806       8.6

%

    2,930       9.9

%

    (124

)

    -4.2

%

    3,137       9.8

%

    (331

)

    -10.6

%

Auto/EV

    1,542       4.7

%

    3,594       12.2

%

    (2,052

)

    -57.1

%

    2,597       8.1

%

    (1,055

)

    -40.6

%

Life Sciences

    1,135       3.5

%

    1,169       3.9

%

    (34

)

    -2.9

%

    1,513       4.8

%

    (378

)

    -25.0

%

Defense/Aero

    3,890       11.9

%

    1,423       4.8

%

    2,467       173.4

%

    2,839       8.9

%

    1,051       37.0

%

Security

    936       2.9

%

    794       2.7

%

    142       17.9

%

    966       3.0

%

    (30

)

    -3.1

%

Other

    3,416       10.6

%

    3,252       11.0

%

    164       5.0

%

    3,184       10.0

%

    232       7.3

%

    $ 32,558       100.0

%

  $ 29,571       100.0

%

  $ 2,987       10.1

%

  $ 31,919       100.0

%

  $ 639       2.0

%

 

   

Six Months Ended

 
                                   

Change

 
   

6/30/2023

   

6/30/2022

         

%

 

Revenue

                                               

Semi

  $ 36,516       56.6

%

  $ 29,799       55.5

%

  $ 6,717       22.5

%

Industrial

    5,943       9.2

%

    5,729       10.7

%

    214       3.7

%

Auto/EV

    4,139       6.4

%

    6,350       11.8

%

    (2,211

)

    -34.8

%

Life Sciences

    2,648       4.1

%

    1,868       3.5

%

    780       41.8

%

Defense/Aero

    6,729       10.4

%

    2,916       5.4

%

    3,813       130.8

%

Security

    1,902       3.0

%

    1,368       2.6

%

    534       39.0

%

Other

    6,600       10.3

%

    5,622       10.5

%

    978       17.4

%

    $ 64,477       100.0

%

  $ 53,652       100.0

%

  $ 10,825       20.2

%

 

Total consolidated revenue for the three months ended June 30, 2023 was $32.6 million compared to $29.6 million for the same period in 2022 and $31.9 million for the three months ended March 31, 2023. The increase in revenue for the second quarter of 2023 as compared to both the same period in 2022 and the first quarter of 2023 primarily reflects higher demand from the semi market. There was also strong demand for our thermal test solutions for the defense/aerospace markets. These increases were partially offset by a decline in revenue from the auto/EV market. We attribute this decline primarily to the variability in the timing of orders and customer delivery schedules.

 

Orders and Backlog

 

We use the following key performance metrics to analyze and measure our financial performance and results of operations: orders and backlog. We define orders as purchase orders that we have accepted from our customers. Orders are recorded based on the date received and accepted by us. We believe tracking orders is useful in planning for future production needs and staffing levels and we use information about the level of our orders to make decisions about resource allocation, including appropriate levels of inventory purchases and the balance of inventory we carry at any given time. Another important operational measure used is backlog. Backlog is a common measurement used in industries with extended lead times for order fulfillment, like those in which we operate. Backlog at any given date represents the amount of net revenue that we expect to realize for unfilled orders received as of that date. We believe backlog is useful and use this information for similar reasons to those detailed above for orders. The majority of our backlog at any given time is expected to be fulfilled within the next twelve months. Depending on the terms of the purchase orders we have accepted, customers may have the ability to cancel an order or accelerate or postpone currently scheduled delivery dates. In some cases, we may have the ability to charge a cancellation fee if a purchase order we have accepted is later cancelled by a customer. Given that both orders and backlog are operational measures and our methodology for calculating orders and backlog do not meet the definition of a non-GAAP measure, as that term is defined by the SEC, a quantitative reconciliation for each is not required or provided.

 

-25-

 

The following table sets forth, for the periods indicated, a breakdown of the orders received by market (in thousands).

 

   

Three Months Ended

 
                                   

Change

                   

Change

 
   

6/30/2023

   

6/30/2022

     $    

%

   

3/31/2023

     $    

%

 

Orders

                                                                               

Semi

  $ 14,721       46.9

%

  $ 26,732       66.0

%

  $ (12,011

)

    -44.9

%

  $ 18,346       59.5

%

  $ (3,625

)

    -19.8

%

Industrial

    5,756       18.3

%

    2,366       5.8

%

    3,390       143.3

%

    4,142       13.5

%

    1,614       39.0

%

Auto/EV

    3,276       10.4

%

    2,750       6.8

%

    526       19.1

%

    2,044       6.6

%

    1,232       60.3

%

Life Sciences

    609       1.9

%

    1,535       3.8

%

    (926

)

    -60.3

%

    1,936       6.3

%

    (1,327

)

    -68.5

%

Defense/Aero

    3,216       10.2

%

    1,897       4.7

%

    1,319       69.5

%

    1,977       6.4

%

    1,239       62.7

%

Security

    456       1.5

%

    989       2.4

%

    (533

)

    -53.9

%

    212       0.7

%

    244       115.1

%

Other

    3,397       10.8

%

    4,249       10.5

%

    (852

)

    -20.1

%

    2,167       7.0

%

    1,230       56.8

%

    $ 31,431       100.0

%

  $ 40,518       100.0

%

  $ (9,087

)

    -22.4

%

  $ 30,824       100.0

%

  $ 607       2.0

%

 

   

Six Months Ended

 
                                   

Change

 
   

6/30/2023

   

6/30/2022

    $    

%

 

Orders

                                               

Semi

  $ 33,067       53.1

%

  $ 39,114       59.7

%

  $ (6,047

)

    -15.5

%

Industrial

    9,898       15.9

%

    5,588       8.5

%

    4,310       77.1

%

Auto/EV

    5,320       8.5

%

    5,369       8.2

%

    (49

)

    -0.9

%

Life Sciences

    2,545       4.1

%

    2,751       4.2

%

    (206

)

    -7.5

%

Defense/Aero

    5,193       8.3

%

    3,748       5.7

%

    1,445       38.6

%

Security

    668       1.1

%

    1,142       1.7

%

    (474

)

    -41.5

%

Other

    5,564       9.0

%

    7,869       12.0

%

    (2,305

)

    -29.3

%

    $ 62,255       100.0

%

  $ 65,581       100.0

%

  $ (3,326

)

    -5.1

%

 

Total consolidated orders for the three months ended June 30, 2023 were $31.4 million compared to $40.5 million for the same period in 2022 and $30.8 million for the three months ended March 31, 2023. We continue to experience strength in demand across all of our markets, but the timing of the receipt of customer orders is unpredictable and typically more variable than the associated delivery schedules. In particular, in certain of our markets including the front-end of the semi market, the auto/EV market and the life sciences market for our image capture technology, our customers tend to place large orders with delivery schedules that extend over several quarters which results in the variability of quarterly order rates that is reflected in the total orders for the periods presented. In addition, during 2022 when supply chain constraints were prevalent across most industries, we saw a tendency for our customers to place orders earlier than they had historically done in the past, which we believe contributed in part to the significant increase in orders received in the second quarter of 2022 as compared to the amount in the same period in 2023.

 

At June 30, 2023, our backlog of unfilled orders for all products was approximately $44.6 million compared with approximately $46.0 million at June 30, 2022 and $45.7 million at March 31, 2023. Our backlog includes customer orders that we have accepted, substantially all of which we expect to deliver in 2023. While backlog is calculated on the basis of firm purchase orders, a customer may cancel an order or accelerate or postpone currently scheduled delivery dates. Our backlog may be affected by the tendency of customers to rely on short lead times available from suppliers, including us, in periods of depressed demand. In periods of increased demand, there is a tendency towards longer lead times that has the effect of increasing backlog. As a result, our backlog at a particular date is not necessarily indicative of sales for any future period.

 

War in Ukraine and Global Supply Chain Constraints

 

The ongoing war between Russia and Ukraine continues to contribute to global inflationary pressures and the availability of certain raw materials produced in that region, further exacerbating global supply chain challenges that emerged after the onset of the COVID-19 pandemic as described below. Acculogic purchases certain material from a key sole-source supplier in Belarus, which is bordered by Russia to the east and northeast and Ukraine to the south. We estimate that we currently have a six-to-nine-month supply of this material. We are currently in the process of qualifying an alternate supplier for this material. We expect to have a sample of the alternate supplier’s material to evaluate by the end of the third quarter of 2023 with the goal of having the material fully qualified by the end of the year.

 

-26-

 

In addition, while we were able to mitigate a significant portion of the supply chain and logistics challenges that we encountered throughout 2022, and conditions appear to have stabilized, uncertainty in the global trade environment and the possibility of future global health or other crises remain. As a result, we expect that we may continue to experience increased prices, lack of availability and logistics delays from time to time for the foreseeable future. The actions we have taken and are continuing to take to mitigate these risks include qualifying new vendors as alternate sources in our supply chain, increasing our inventory of raw materials and ordering further in advance of when we expect to need materials than has been our practice in the past. We have also increased the prices that we charge our customers, where appropriate, and continue to work with our customers to find alternate options for the shipment of products where they control aspects of the logistics process. However, the environment in which we operate is dynamic and shifts rapidly at times, and the success of our efforts to mitigate and address the impacts on our business may not be successful. As a result, we could see increases in our costs or reduced revenues which would impact the level of our earnings in future periods.

 

Please refer to Part 1, Item 1A of our 2022 Form 10-K for further discussion of the risks associated with our business operations, including risks associated with foreign operations.

 

Results of Operations

 

The results of operations for all of our operating segments are generally affected by the same factors described in the Overview section above. Separate discussions and analyses for each segment would be repetitive. The discussion and analysis that follows, therefore, is presented on a consolidated basis and includes discussion of factors unique to each segment where significant to an understanding of that segment.

 

Three Months Ended June 30, 2023 Compared to Three Months Ended June 30, 2022

Revenue. Revenue was $32.6 million for the three months ended June 30, 2023 compared to $29.6 million for the same period in 2022, an increase of $3.0 million, or 10%. We believe the increase in our revenue during the second quarter of 2023 primarily reflects the factors previously discussed under “Revenue” in the Overview section above.

Gross Margin. Our consolidated gross margin was 46% of revenue in each of the three months ended June 30, 2023 and 2022. The average cost of component materials used in our products declined somewhat in 2023 as compared to 2022 as a result of changes in product mix, but this decline was offset by an increase in our fixed manufacturing costs. The increase in our fixed manufacturing costs primarily reflects annual merit adjustments to compensation levels and some additional investment in headcount. In addition, our facility related costs have increased in the second quarter of 2023 as compared to the same period in 2022.

Selling Expense. Selling expense was $4.7 million for the three months ended June 30, 2023 compared to $4.0 million for the same period in 2022, an increase of $628,000, or 16%. The increase reflects higher commissions as a result of the increase in revenue. In addition, we incurred higher salary and benefits expense reflecting annual merit adjustments and additional investment in headcount. To a lesser extent, we also incurred higher levels of travel costs reflecting an increase in customer visits and trade show attendance.

Engineering and Product Development Expense. Engineering and product development expense was $2.0 million for the three months ended June 30, 2023 compared to $1.9 million for the same period in 2022, an increase of $124,000, or 7%, primarily reflecting an increase in materials used in product development projects. This increase was offset somewhat by a decrease in salary and benefits expense as we had open positions in the second quarter of 2023 that we are in the process of re-hiring. These positions were filled in the comparable prior period.

 

General and Administrative Expense. General and administrative expense was $5.0 million for the three months ended June 30, 2023 compared to $4.9 million for the same period in 2022, an increase of $114,000, or 2%. The increase primarily reflects higher levels of salary and benefits expense as a result of annual merit adjustments and higher levels of travel costs which were partially offset by a reduction in amortization expense related to our acquired intangible assets.

 

Income Tax Expense. For the three months ended June 30, 2023, we recorded income tax expense of $572,000 compared to income tax expense of $454,000 for the same period in 2022. Our effective tax rate was 17% for the three months ended June 30, 2023 compared to 18% for the same period in 2022. On a quarterly basis, we record income tax expense or benefit based on the expected annualized effective tax rate for the various taxing jurisdictions in which we operate our businesses.

 

Six Months Ended June 30, 2023 Compared to Six Months Ended June 30, 2022

Revenue. Revenue was $64.5 million for the six months ended June 30, 2023 compared to $53.7 million for the same period in 2022, an increase of $10.8 million, or 20%. We believe the increase in our revenue during the first six months of 2023 primarily reflects the factors previously discussed under “Revenue” in the Overview section above.

 

-27-


Gross Margin. Our consolidated gross margin was 47% of revenue for the six months ended June 30, 2023 as compared to 46% of revenue for the same period in 2022. The improvement in our gross margin primarily reflects a decrease in our component material costs as a percentage of revenue, reflecting changes in product mix, and a decline in our fixed manufacturing costs as a percent of revenue. Even though our fixed manufacturing costs increased in absolute dollar terms, they were more fully absorbed by the higher revenue levels. The increase in our fixed manufacturing costs in absolute dollar terms reflects increased salary and benefits expense as a result of annual merit adjustments. To a lesser extent we also had increased facility costs and depreciation reflecting new facilities and additions to our capitalized asset base.

Selling Expense. Selling expense was $9.1 million for the six months ended June 30, 2023 compared to $7.5 million for the same period in 2022, an increase of $1.6 million, or 22%. The increase primarily reflects higher commissions on the higher revenue level. We also had an increase in salary and benefits expense, reflecting annual merit adjustments and additional headcount investments, and higher levels of travel and advertising costs as we are increasing the number of customer visits and trade show attendance as we work to continue to grow our business.

Engineering and Product Development Expense. Engineering and product development expense was $3.9 million for the six months ended June 30, 2023 compared to $3.8 million for the same period in 2022, an increase of $104,000 or 3%, primarily reflecting an increase in materials used in product development projects and fees paid to third parties to assist in our development efforts. These increases were offset somewhat by a decrease in salary and benefits expense as we have open positions in the first half of 2023 that we are in the process of re-hiring. These positions were filled in the comparable prior period.

 

General and Administrative Expense. General and administrative expense was $10.2 million for the six months ended June 30, 2023 compared to $9.8 million for the same period in 2022, an increase of $458,000, or 5%. The increase primarily reflects higher levels of salary and benefits expense, bonus accruals and stock-based compensation expense. The increases reflect, in part, annual merit adjustments as well as increased accruals for profit-based bonuses. We also recorded higher costs related to audit fees in the first half of 2023 as compared to the same period in 2022 as a result of our anticipated transition to accelerated filer status for fiscal 2023. These increases were partially offset by a reduction in amortization expense related to our acquired intangible assets.

 

Income Tax Expense. For the six months ended June 30, 2023, we recorded income tax expense of $1.1 million compared to income tax expense of $532,000 for the same period in 2022. Our effective tax rate was 17% in both periods. On a quarterly basis, we record income tax expense or benefit based on the expected annualized effective tax rate for the various taxing jurisdictions in which we operate our businesses.

 

Liquidity and Capital Resources

As discussed more fully in the Overview, our business and results of operations are substantially dependent upon the demand for ATE by semiconductor manufacturers and companies that specialize in the testing of ICs. The cyclical and volatile nature of demand for ATE makes estimates of future revenues, results of operations and net cash flows difficult.

 

Our primary historical source of liquidity and capital resources has been cash flow generated by our operations. In 2021, we also utilized our Credit Facility, which is discussed below, to fund our acquisitions. We manage our businesses to maximize operating cash flows as our primary source of liquidity for our short-term cash requirements, as discussed below. We use cash to fund growth in our operating assets, for new product research and development, for acquisitions and for stock repurchases. We currently anticipate that any additional long-term cash requirements related to our strategy would be funded through a combination of our cash and cash equivalents, our Credit Facility or by issuing equity.

 

Proceeds from Sale of Common Stock

 

On May 11, 2023, we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20.0 million between May 11, 2023 and May 31, 2023. We received net proceeds from the sale of these shares of $19.2 million after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.

 

Credit Facility

 

As discussed in the Overview and in Note 9 to our consolidated financial statements in this Report, on October 15, 2021, we entered into the Loan Agreement with M&T. The Loan Agreement includes a $25 million non-revolving delayed draw term note (the “Term Note”) and a $10 million revolving credit facility (the “Revolving Facility and together with the Term Note, the “Credit Facility”). The Credit Facility had a five year contract period that began on the Closing Date and expired on October 15, 2026, and draws under the Term Note were permissible for two years.

 

-28-

 

On September 20, 2022, we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note 1A. Under the Amended Loan Agreement, the maximum loan amount that we may borrow under the Term Note increased from $25 million to $50.5 million, which raises the available funding at June 30, 2023 to $30 million. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to September 19, 2027 (the “Contract Period”). At June 30, 2023, we had not borrowed any amounts under the $10 million Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement. The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the Secured Overnight Financing Rate or a bank-defined base rate plus an applicable margin, depending on leverage. The Amended Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA of not more than 3.0 to 1.0 and a fixed charge coverage ratio of not less than 1.25 to 1.0. Our obligations under the Amended Loan Agreement are secured by liens on substantially all of our tangible and intangible assets. At June 30, 2023, we were in compliance with all of the covenants included in the Credit Facility. At this date, our consolidated funded debt to consolidated EBITDA ratio was 0.7 and our fixed charge coverage ratio was 3.9.

 

On October 28, 2021, we drew $12 million under the Term Note to finance the acquisition of Videology. We also entered into an interest rate swap agreement with M&T as of this date which is designed to protect us against fluctuations in interest rates during the five-year repayment and amortization period. As a result, the annual interest rate we expect to pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.

 

On December 29, 2021, we drew $8.5 million under the Term Note to finance the acquisition of Acculogic. We did not enter into an interest rate swap agreement with M&T related to this draw. The annual interest rate we expect to pay for this draw under the Term Note is variable. At June 30, 2023, it was approximately 7.2% based on current leverage.

 

At June 30, 2023, there were no amounts borrowed under our revolving credit facility. This facility has a total borrowing availability of $10.0 million. Interest expense for the six months ended June 30, 2023 and 2022 was $358,000 and $278,000, respectively.

Liquidity

Our cash and cash equivalents and working capital were as follows (in thousands):

 

   

June 30,
2023

   

December 31,
2022

 

Cash and cash equivalents

  $ 37,435     $ 13,434  

Working capital

  $ 58,213     $ 33,182  

 

As of June 30, 2023, $4.2 million, or 11%, of our cash and cash equivalents was held by our foreign subsidiaries. We currently expect our cash and cash equivalents, in combination with the borrowing capacity available under our revolving credit facility and the anticipated net cash to be provided by our operations in the next twelve months to be sufficient to support our short-term working capital requirements and other corporate requirements. Our revolving credit facility is discussed in Note 9 to our consolidated financial statements in this Report.

 

Our material short-term cash requirements include payments due under our various lease agreements, recurring payroll and benefits obligations to our employees, purchase commitments for materials that we use in the products we sell and principal and interest payments on our debt. We also anticipate making investments in our business in the next twelve months including hiring of additional staff and other investments related to our geographic and market expansion efforts. We estimate that our minimum short-term working capital requirements currently range between $8.0 million and $10.0 million. We expect our current cash and cash equivalents, in combination with the borrowing capacity available under our Revolving Facility and the anticipated net cash to be provided by our operations to be sufficient to support these additional investments as well as our current short-term cash requirements.

 

Our current strategy for growth includes pursuing acquisition opportunities for complementary businesses, technologies or products. As discussed further in our 2022 Form 10-K, we acquired substantially all of the assets of Videology in October 2021 and we completed the acquisition of Acculogic in December 2021. We utilized $20.5 million under the Term Note to finance these acquisitions. The borrowing availability under the Term Note was expanded in September 2022 as discussed above and in Note 9 to our consolidated financial statements in this Report. Also discussed above, we raised $19.2 million from the sale of common stock in May 2023. We currently anticipate that any additional long-term cash requirements related to our strategy would be funded through a combination of our cash and cash equivalents, the remaining availability under the Term Note or by issuing additional equity.

 

-29-

 

Cash Flows

 

Operating Activities. For the six months ended June 30, 2023, we recorded net earnings of $5.6 million. Net cash provided by operations during this period was $5.3 million. During the six months ended June 30, 2023, we had non-cash charges of $2.4 million for depreciation and amortization which included $782,000 of amortization related to our ROU assets. Our operating lease liabilities declined $849,000 during this same period. During the six months ended June 30, 2023, we recorded $1.1 million for amortization of deferred compensation expense related to stock-based awards and a deferred tax benefit of $685,000. During the first six months of 2023, inventories increased $693,000 as we secured inventory to fill the orders in our backlog at June 30, 2023. However, the level of increase in our inventories has slowed compared to the same period last year as backlog has leveled out and supply chain constraints have eased somewhat. We anticipate the level of our inventories will stabilize for the balance of 2023. Accounts payable decreased $1.6 million during the first six months of 2023 as we are slowing the pace of new purchases from our vendors. Customer deposits and deferred revenue declined $625,000 during the first six months of 2023 as we have now delivered all or substantially all of the large orders received in late 2022 where we collected sizable deposits from our customers as we needed to secure inventory in advance of the delivery schedule. We have not had as many large single orders placed in the first six months of 2023 where similar deposits were collected.

 

Investing Activities. During the six months ended June 30, 2023, purchases of property and equipment were $709,000, primarily reflecting leasehold improvements to our new facility for our Acculogic operation in Canada. These improvements were funded using our working capital. We have no significant commitments for capital expenditures for the balance of 2023; however, depending upon changes in market demand or manufacturing and sales strategies, we may make such purchases or investments as we deem necessary and appropriate. These additional cash requirements would be funded by our cash and cash equivalents, anticipated net cash to be provided by operations and our revolving credit facility.

 

Financing Activities. During the six months ended June 30, 2023, we had net proceeds of $19.2 million from the sale of 921,797 shares of our common stock, as previously discussed. During this same period, we also received $900,000 as a result of the exercise of options to purchase our stock by employees and $83,000 as a result of purchases of our stock that were made by our employees under the inTEST Corporation Employee Stock Purchase Plan. During the six months ended June 30, 2023, we made principal payments on our Term Note totaling $2.1 million, and acquired $74,000 of stock as a result of shares withheld by us from employees to satisfy tax liabilities incurred by them as a result of vesting of restricted stock awards. These shares are classified as treasury stock on our consolidated balance sheets.

 

New or Recently Adopted Accounting Standards

 

See the Notes to our consolidated financial statements in this Report for information concerning the implementation and impact of new or recently adopted accounting standards.

 

Critical Accounting Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue, expenses and related disclosure of contingent assets and liabilities. On an on-going basis, we evaluate our estimates, including those related to inventories, long-lived assets, goodwill, identifiable intangibles, contingent consideration liabilities and deferred income tax valuation allowances. We base our estimates on historical experience and on appropriate and customary assumptions that we believe to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Some of these accounting estimates and assumptions are particularly sensitive because of their significance to our consolidated financial statements and because of the possibility that future events affecting them may differ markedly from what had been assumed when the financial statements were prepared. As of June 30, 2023, there have been no significant changes to the accounting estimates that we have deemed critical. Our critical accounting estimates are more fully described in our 2022 Form 10-K.

 

Off -Balance Sheet Arrangements

 

There were no off-balance sheet arrangements during the six months ended June 30, 2023 that have or are reasonably likely to have, a current or future effect on our financial condition, changes in financial condition, revenue or expenses, results of operations, liquidity, capital expenditures or capital resources that is material to our interests.

 

Item 3.

QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

 

This disclosure is not required for a smaller reporting company.

 

-30-

 

Item 4.

CONTROLS AND PROCEDURES

 

Evaluation of Disclosure Controls and Procedures

We maintain disclosure controls and procedures, as such term is defined in Rule 13a-15(e) under the Exchange Act of 1934, as amended, (the “Exchange Act”). Because there are inherent limitations in all control systems, a control system, no matter how well conceived and operated, can provide only reasonable, as opposed to absolute, assurance that the objectives of the control system are met. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur because of simple error or mistake. Additionally, controls can be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the control. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Our management, including the CEO and CFO, does not expect that our disclosure controls and procedures or our internal control over financial reporting will prevent all error and all fraud. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected. Accordingly, our management has designed the disclosure controls and procedures to provide reasonable assurance that the objectives of the control system were met.

 

CEO/CFO Conclusions about the Effectiveness of the Disclosure Controls and Procedures. As required by Rule 13a-15(b) of the Exchange Act, inTEST management, including our CEO and CFO, conducted an evaluation as of the end of the period covered by this Report, of the effectiveness of our disclosure controls and procedures. Based on that evaluation, our CEO and CFO concluded that, as of the end of the period covered by this Report, our disclosure controls and procedures were effective at the reasonable assurance level.

 

Changes in Internal Control Over Financial Reporting

 

There has been no change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that 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. 

 

 

PART II.  OTHER INFORMATION

 

Item 1.

Legal Proceedings

 

 

 

From time to time we may be a party to legal proceedings occurring in the ordinary course of business. We are not currently involved in any material legal proceedings.

 

 

Item 1A.

Risk Factors

 

 

 

Information regarding the primary risks and uncertainties that could materially and adversely affect our future performance or could cause actual results to differ materially from those expressed or implied in our forward-looking statements, appears in Part I, Item 1A - "Risk Factors" of our 2022 Form 10-K filed with the Securities and Exchange Commission on March 22, 2023. There have been no material changes from the risk factors set forth in our 2022 Form 10-K.

 

 

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

 

 

 

The following table provides information with respect to shares of common stock withheld by the Company for the second quarter of 2023:

 

Period

 

Total

Number
of Shares
Purchased

   

Average
Price Paid
Per Share

   

Total Number of
Shares Purchased
as Part of

Publicly
Announced Plans
or Programs

   

Approximate

Dollar
Value of Shares
That May Yet Be
Purchased Under
the Plans or

Programs

 

April 1-30

    2,185 (1)   $ 19.00       -       -  

May 1-31

    -     $ -       -       -  

June 1-30

    -     $ -       -       -  

Total

    2,185     $ 19.00       -          

 

 

(1)

Shares withheld to cover tax withholding obligations under the net settlement provisions of our restricted stock awards.

 

-31-

 

Item 3.

Defaults Upon Senior Securities

 

 

 

None.

 

 

Item 4.

Mine Safety Disclosures

 

 

 

Not applicable.

 

 

Item 5.

Other Information

 

 

 

None.

 

 

Item 6.

Exhibits

 

 

10.1

inTEST Corporation 2023 Stock Incentive Plan (1)(*)

 

10.2

Sales Agreement, dated May 11, 2023, by and between inTEST Corporation and Lake Street Capital Markets, LLC (2)

 

31.1

Certification of Chief Executive Officer pursuant to Rule 13a-14(a).

 

31.2

Certification of Chief Financial Officer pursuant to Rule 13a-14(a).

 

32.1

Certification of Chief Executive Officer furnished pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

 

32.2

Certification of Chief Financial Officer furnished pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

 

101.INS

Inline XBRL Taxonomy Instance Document

 

101.SCH

Inline XBRL Taxonomy Extension Schema Document

 

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document

 

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document

 

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase Document

 

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document

 

104

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

 

 

(1)

Previously filed by the Company as an appendix to the Company’s Proxy Statement filed April 27, 2023, and incorporated herein by reference.

 

(2)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated May 11, 2023, File No. 001-36117, filed May 11, 2023, and incorporated herein by reference.

 

*

Indicates a management contract or compensatory plan, contract or arrangement in which directors or executive officers participate.

 

 

-32-

 

 

Signatures

 

Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

 

   

inTEST Corporation

     
     
     

Date:

August 10, 2023

/s/ Richard N. Grant, Jr.

   

Richard N. Grant, Jr.
President and Chief Executive Officer

(Principal Executive Officer)

     
     
     

Date:

August 10, 2023

/s/ Duncan Gilmour

   

Duncan Gilmour
Chief Financial Officer, Treasurer and Secretary

(Principal Financial Officer)

 

-33-
EX-31.1 2 ex_554729.htm EXHIBIT 31.1 ex_554729.htm

 

EXHIBIT 31.1

 

 

CERTIFICATION

 

 

 

I, Richard N. Grant, Jr., certify that:

 

1.    I have reviewed this quarterly report on Form 10-Q of inTEST Corporation;

 

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 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 and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):

 

(a)  All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and

 

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

 

 

 

 

Date: August 10, 2023

 

 

 

/s/ Richard N. Grant, Jr.
Richard N. Grant, Jr.
President and Chief Executive Officer

 
EX-31.2 3 ex_554732.htm EXHIBIT 31.2 ex_554732.htm

 

EXHIBIT 31.2

 

CERTIFICATION

 

 

 

I, Duncan Gilmour, certify that:

 

1.    I have reviewed this quarterly report on Form 10-Q of inTEST Corporation;

 

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 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 and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):

 

(a)  All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and

 

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

 

 

 

Date: August 10, 2023

 

 

 

/s/Duncan Gilmour
Duncan Gilmour
Chief Financial Officer, Treasurer and Secretary

 
EX-32.1 4 ex_554731.htm EXHIBIT 32.1 ex_554731.htm

 

EXHIBIT 32.1

 

 

inTEST CORPORATION


CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

 

 

In connection with the Quarterly Report of inTEST Corporation (the "Company") on Form 10-Q for the period ended June 30, 2023 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), I, Richard N. Grant, Jr., President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

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




Date:         August 10, 2023

 

 

  /s/ Richard N. Grant, Jr.
Richard N. Grant, Jr.
President and Chief Executive Officer

 

 
EX-32.2 5 ex_554730.htm EXHIBIT 32.2 ex_554730.htm

 

EXHIBIT 32.2

 

 

 

inTEST CORPORATION


CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

 

 

In connection with the Quarterly Report of inTEST Corporation (the "Company") on Form 10-Q for the period ended June 30, 2023 as filed with the Securities and Exchange Commission on the date hereof (the "Report"), I, Duncan Gilmour, Chief Financial Officer, Treasurer and Secretary of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

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



Date:         August 10, 2023

 

 

 

  /s/ Duncan Gilmour
Duncan Gilmour
Chief Financial Officer, Treasurer and Secretary

 

 
EX-101.SCH 6 intt-20230630.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Balance Sheets (Current Period Unaudited) link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Statements of Operations (Unaudited) link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Statements of Comprehensive Earnings (Unaudited) link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Stockholders' Equity (Unaudited) link:calculationLink link:definitionLink link:presentationLink 006 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:calculationLink link:definitionLink link:presentationLink 007 - Disclosure - Note 1 - Nature of Operations link:calculationLink link:definitionLink link:presentationLink 008 - Disclosure - Note 2 - Summary of Significant Accounting Policies link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 3 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 4 - Goodwill and Intangible Assets link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 5 - Revenue From Contracts With Customers link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 6 - Major Customers link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 7 - Inventories link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 8 - Leases link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 9 - Debt link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 10 - Stock-based Compensation Plan link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Note 11 - Employee Stock Purchase Plan link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 12 - Employee Benefit Plans link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 13 - Segment Information link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables) link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 3 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 4 - Goodwill and Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 023 - Disclosure - Note 5 - Revenue From Contracts With Customers (Tables) link:calculationLink link:definitionLink link:presentationLink 024 - Disclosure - Note 7 - Inventories (Tables) link:calculationLink link:definitionLink link:presentationLink 025 - Disclosure - Note 8 - Leases (Tables) link:calculationLink link:definitionLink link:presentationLink 026 - Disclosure - Note 9 - Debt (Tables) link:calculationLink link:definitionLink link:presentationLink 027 - Disclosure - Note 10 - Stock-based Compensation Plan (Tables) link:calculationLink link:definitionLink link:presentationLink 028 - Disclosure - Note 13 - Segment Information (Tables) link:calculationLink link:definitionLink link:presentationLink 029 - Disclosure - Note 1 - Nature of Operations (Details Textual) link:calculationLink link:definitionLink link:presentationLink 030 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 031 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) link:calculationLink link:definitionLink link:presentationLink 032 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) link:calculationLink link:definitionLink link:presentationLink 033 - Disclosure - Note 3 - Fair Value Measurements (Details Textual) link:calculationLink link:definitionLink link:presentationLink 034 - Disclosure - Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 035 - Disclosure - Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 036 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 037 - Disclosure - Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 038 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 039 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 040 - Disclosure - Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 041 - Disclosure - Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) link:calculationLink link:definitionLink link:presentationLink 042 - Disclosure - Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) link:calculationLink link:definitionLink link:presentationLink 043 - Disclosure - Note 6 - Major Customers (Details Textual) link:calculationLink link:definitionLink link:presentationLink 044 - Disclosure - Note 7 - Inventories - Inventories (Details) link:calculationLink link:definitionLink link:presentationLink 045 - Disclosure - Note 8 - Leases (Details Textual) link:calculationLink link:definitionLink link:presentationLink 046 - Disclosure - Note 8 - Leases - Lease Costs (Details) link:calculationLink link:definitionLink link:presentationLink 047 - Disclosure - Note 8 - Leases - Maturities of Lease Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 048 - Disclosure - Note 9 - Debt (Details Textual) link:calculationLink link:definitionLink link:presentationLink 049 - Disclosure - Note 9 - Debt - Outstanding Letters of Credit (Details) link:calculationLink link:definitionLink link:presentationLink 050 - Disclosure - Note 9 - Debt - Future Maturities of Long-term Debt (Details) link:calculationLink link:definitionLink link:presentationLink 051 - Disclosure - Note 10 - Stock-based Compensation Plan (Details Textual) link:calculationLink link:definitionLink link:presentationLink 052 - Disclosure - Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) link:calculationLink link:definitionLink link:presentationLink 053 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) link:calculationLink link:definitionLink link:presentationLink 054 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) link:calculationLink link:definitionLink link:presentationLink 055 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 056 - Disclosure - Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details) link:calculationLink link:definitionLink link:presentationLink 057 - Disclosure - Note 11 - Employee Stock Purchase Plan (Details Textual) link:calculationLink link:definitionLink link:presentationLink 058 - Disclosure - Note 12 - Employee Benefit Plans (Details Textual) link:calculationLink link:definitionLink link:presentationLink 059 - Disclosure - Note 13 - Segment Information - Segment Information (Details) link:calculationLink link:definitionLink link:presentationLink 060 - Disclosure - Note 13 - Segment Information - Identifiable Assets (Details) link:calculationLink link:definitionLink link:presentationLink 061 - Disclosure - Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details) link:calculationLink link:definitionLink link:presentationLink 062 - Disclosure - Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 7 intt-20230630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 8 intt-20230630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 9 intt-20230630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information Dividend yield Note To Financial Statement Details Textual Note 2 - Summary of Significant Accounting Policies Note 3 - Fair Value Measurements Note 4 - Goodwill and Intangible Assets Risk-free interest rate Note 5 - Revenue From Contracts With Customers Note 7 - Inventories Note 8 - Leases Note 9 - Debt Note 10 - Stock-based Compensation Plan Note 13 - Segment Information Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent Business Combination, Contingent Consideration, Liability, Current intt_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour Thereafter 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). Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Expected common stock market price volatility factor Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) us-gaap_LiabilitiesCurrent Total current liabilities Automobile Leases [Member] Information pertaining to automobile leases. Schedule of Maturities of Long-Term Debt [Table Text Block] Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details) Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Weighted average expected life of stock options (years) (Year) Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) Other current liabilities Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) Note 7 - Inventories - Inventories (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Note 8 - Leases - Lease Costs (Details) Note 8 - Leases - Maturities of Lease Liabilities (Details) Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Note 9 - Debt - Outstanding Letters of Credit (Details) Note 9 - Debt - Future Maturities of Long-term Debt (Details) Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) Share-Based Payment Arrangement, Option, Activity [Table Text Block] Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Granted, weighted average exercise price (in dollars per share) us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent Foreign currency translation adjustments Note 13 - Segment Information - Segment Information (Details) Vested, weighted average exercise price (in dollars per share) Note 13 - Segment Information - Identifiable Assets (Details) Forfeited, weighted average exercise price (in dollars per share) Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Unvested shares outstanding, weighted average exercise price (in dollars per share) Unvested shares outstanding, weighted average exercise price (in dollars per share) Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Forfeited, number of shares (in shares) Notes To Financial Statements Notes To Financial Statements [Abstract] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Unvested shares outstanding (in shares) Unvested shares outstanding (in shares) Granted, number of shares (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod Vested, number of shares (in shares) Nonvested Restricted Stock Shares Activity [Table Text Block] Current portion of Term Note Options exercisable (in shares) Proceeds from shares sold under Employee Stock Purchase Plan The amount of cash inflow from shares sold under employee stock purchase plan. us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) Electronic Test [Member] Related to Electronic Test segment. us-gaap_PaymentsToAcquireShortTermInvestments Purchase of short-term investments Retirement Plan Name [Axis] Video Imaging [Member] Related to video imaging. Retirement Plan Name [Domain] Flying Probe and In-circuit Testers [Member] Related to flying probe and in-circuit testers. us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice Options outstanding, weighted average exercise price (in dollars per share) Options outstanding, weighted average exercise price (in dollars per share) Life Sciences [Member] Related to Life Sciences. Environmental Technologies [Member] Related to Environmental Technologies segment. Process Technologies [Member] Related to process technologies. Customer deposits and deferred revenue us-gaap_ContractWithCustomerLiabilityCurrent Canceled, weighted average exercise price (in dollars per share) Goodwill and Intangible Assets Disclosure [Text Block] Schedule of Goodwill [Table Text Block] Granted, weighted average exercise price (in dollars per share) Domestic and foreign income taxes payable Exercised, weighted average exercise price (in dollars per share) Security [Member] Related to security. Accrued wages and benefits Lessee, Operating Leases [Text Block] intt_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodValue Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Value The value of grants in period of equity instruments other than options under share based compensation arrangement. intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived Contingent Liability, Repayment of State and Local Grant Funds Received Amount of liability recognized arising from contingent for repayment of state and local grant funds received. Chief Executive Officer and Chief Financial Officer [Member] Related to Chief Executive Officer and Chief Financial Officer. Accounts payable Revolving Credit Facility [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber Options outstanding, number of shares (in shares) Options outstanding, number of shares (in shares) Credit Facility [Axis] Credit Facility [Domain] Trademarks [Member] us-gaap_PolicyTextBlockAbstract Accounting Policies us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date City of Rochester and State of New York [Member] Represents information related to city of Rochester and state of New York. Trade Names [Member] Accrued sales commissions us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) Accrued professional fees Indefinite-Lived Intangible Assets [Axis] Indefinite-Lived Intangible Assets, Major Class Name [Domain] us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Purchase of property and equipment us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements Unvested shares of restricted stock and employee stock options (in shares) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage Current liabilities: Vesting [Axis] Operating lease liabilities Increase (Decrease) in Operating Lease Liability Vesting [Domain] Patented Technology [Member] Share-Based Payment Arrangement, Tranche One [Member] Cash payments for: us-gaap_Assets Identifiable Assets Total assets Patents [Member] Plan Name [Axis] Plan Name [Domain] Property and equipment: us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) Customer Relationships [Member] us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount Share-based Payment Arrangement, Amount Capitalized Computer Software, Intangible Asset [Member] Deferred tax assets Share-Based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation Shares surrendered to satisfy tax liability at vesting of stock-based awards Award Type [Domain] Award Type [Axis] Net earnings (loss) Net earnings Net earnings Finite-lived, Accumulated Amortization Net Carrying Amount, finite-lived Balance Balance Net Carrying Amount Net Carrying Amount Finite-lived, Gross Carrying Amount Restricted Stock [Member] Share-Based Payment Arrangement, Option [Member] Schedule Of Intangible Assets [Table Text Block] The tabular disclosure of the intangible assets. Impact of foreign currency translation adjustments us-gaap_GoodwillForeignCurrencyTranslationGainLoss Net Carrying Amount, indefinite-lived us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill Indefinite-lived, Gross Carrying Amount Balance Balance us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment Less: accumulated depreciation us-gaap_PropertyPlantAndEquipmentNet Property and Equipment Net property and equipment Goodwill Balance Balance us-gaap_PropertyPlantAndEquipmentGross Gross property and equipment Machinery and equipment Leasehold improvements Long-Term Debt, Type [Axis] Long-Term Debt, Type [Domain] Interest rate swap Interest rate swap intt_IncreaseDecreaseInAccruedProfessionalFees Accrued professional fees The amount of increase (decrease) in accrued professional fees. Derivative Instrument [Axis] Employees [Member] Related to employees. Derivative Contract [Domain] CASH FLOWS FROM INVESTING ACTIVITIES Range of remaining lease terms (in years) (Year) The remaining lease term of operating leases. Employee Stock Purchase Plan [Text Block] The entire disclosure for employee stock purchase plan. Employee Stock Purchase Plan [Member] Represents the employee stock purchase plan. us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable Domestic and foreign income taxes payable Vesting Based On Performance Metrics [Member] Represents vesting based on performance metrics. Letter of Credit [Member] us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities Accrued wages and benefits Income tax expense The Ambrell Plan [Member] Related to the Ambrell defined contribution retirement plan. us-gaap_IncreaseDecreaseInAccountsPayable Accounts payable us-gaap_OperatingExpenses Total operating expenses us-gaap_DebtInstrumentTerm Debt Instrument, Term (Year) Restricted certificates of deposit us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount Debt Instrument, Unused Borrowing Capacity, Amount us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount Defined Contribution Plan, Employer Discretionary Contribution Amount Restricted cash Restricted Cash General and administrative expense us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch Defined Contribution Plan, Employer Matching Contribution, Percent of Match Cash and cash equivalents Impact of foreign currency translation adjustments us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome us-gaap_IncreaseDecreaseInOtherCurrentLiabilities Other current liabilities us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities Other liabilities us-gaap_AllocatedShareBasedCompensationExpense Share-Based Payment Arrangement, Expense intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Emplyee Amount Maximum dollar amount of employer's annual matching contribution to a defined contribution plan Asset [Member] The information pertaining to a financial statement line item. Amendment Flag us-gaap_ComprehensiveIncomeNetOfTax Comprehensive earnings City Area Code Forfeitures of unvested shares of restricted stock us-gaap_GainLossOnSaleOfPropertyPlantEquipment Loss on disposal of property and equipment Customer deposits and deferred revenue us-gaap_SharesOutstanding Balance (in shares) Balance (in shares) Preferred stock, shares outstanding (in shares) Current Fiscal Year End Date us-gaap_DebtInstrumentInterestRateEffectivePercentage Debt Instrument, Interest Rate, Effective Percentage us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other current assets Weighted average discount rate Document Fiscal Period Focus Operating lease cost Document Fiscal Year Focus Short-term lease cost Lease, Cost [Table Text Block] Document Period End Date Weighted average remaining lease term (in years) (Year) Entity File Number Entity Emerging Growth Company us-gaap_DebtInstrumentFaceAmount Debt Instrument, Face Amount Lease Expiration Date Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue Balance Balance Entity Filer Category Debt Instrument [Axis] Entity Current Reporting Status Debt Instrument, Name [Domain] us-gaap_ConcentrationRiskPercentage1 Concentration Risk, Percentage us-gaap_IncreaseDecreaseInAccountsReceivable Trade accounts receivable Amortization of deferred compensation related to stock-based awards Statement of Comprehensive Income [Abstract] Entity Tax Identification Number Entity Central Index Key us-gaap_DepreciationAndAmortization Acquired intangible amortization Entity Registrant Name Liability Class [Axis] Fair Value by Liability Class [Domain] Entity [Domain] Customer Concentration Risk [Member] Legal Entity [Axis] Entity Address, Address Line One Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] us-gaap_AmortizationOfIntangibleAssets Amortization us-gaap_TreasuryStockValueAcquiredCostMethod Shares redeemed into treasury stock Entity Address, City or Town Entity Address, Postal Zip Code us-gaap_TreasuryStockCommonValue Treasury stock, at cost; 38,514 and 34,308 shares, respectively Entity Address, State or Province Concentration Risk Type [Axis] Concentration Risk Type [Domain] Entity Common Stock, Shares Outstanding Revenue Benchmark [Member] us-gaap_IncreaseDecreaseInOtherNoncurrentAssets Other assets us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Nature of Operations [Text Block] Shares issued under Employee Stock Purchase Plan (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares) Local Phone Number Stock options exercised (in shares) Exercised, number of shares (in shares) us-gaap_TableTextBlock Notes Tables Shares issued under Employee Stock Purchase Plan Stock Issued During Period, Value, Employee Stock Purchase Plan Issuance of unvested shares of restricted stock (in shares) us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited Forfeitures of unvested shares of restricted stock (in shares) us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity Line of Credit Facility, Maximum Borrowing Capacity Stock options exercised Issuance of unvested shares of restricted stock us-gaap_ProvisionForDoubtfulAccounts Accounts Receivable, Credit Loss Expense (Reversal) Granted, number of shares (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod Canceled, number of shares (in shares) Line of Credit, Issue Date Line of Credit, Expiration Date Line of Credit Facility, Lender [Domain] Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Issuance of common stock, net (in shares) Stock Issued During Period, Shares, New Issues (in shares) Raw materials Lender Name [Axis] Selling expense us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and stockholders' equity Finished goods Work in process Issuance of common stock, net Stock Issued During Period, Value, New Issues UNITED STATES Engineering and product development expense Retained earnings Accumulated other comprehensive earnings Debt Disclosure [Text Block] Cash and Cash Equivalents [Domain] Interest expense us-gaap_InterestExpense Interest expense Changes in assets and liabilities: Restricted Cash and Cash Equivalents [Axis] us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements Inventory Disclosure [Text Block] Operating lease liabilities, net of current portion Schedule of Inventory, Current [Table Text Block] Restricted Stock Vesting in Three Years [Member] Information related to the restricted stock awards vesting in three years. Total Deferred income tax benefit Current portion of operating lease liabilities Retirement Benefits [Text Block] us-gaap_IntangibleAssetsGrossExcludingGoodwill Intangible Assets, Gross Carrying Amount Right-of-use assets, net us-gaap_OperatingLeaseRightOfUseAsset Operating Lease, Right-of-Use Asset Acculogic [Member] Represents Acculogic. us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue Total lease payments us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount Less imputed interest us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree 2026 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear 2023 (remainder) us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour 2027 Schedule of Changes in Goodwill [Table Text Block] Tabular disclosure of the changes in goodwill. us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo 2025 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree 2026 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour 2027 us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths 2024 us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo 2025 Automotive [Member] Represents Automotive. Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths 2024 Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] us-gaap_ShareBasedCompensation Amortization of deferred compensation related to stock-based awards Other assets 2023 (remainder) Environmental Technologies in Germany [Member] Represents Environmental technologies in Germany intt_SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount Discount on shares sold under Employee Stock Purchase Plan Discount amount from fair value on purchase date that participants pay for shares. us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss Impact of foreign currency translation adjustments Operating expenses: Schedule of Finite-Lived Intangible Assets [Table Text Block] us-gaap_LesseeOperatingLeaseTermOfContract Lessee, Operating Lease, Term of Contract (Month) Customer Backlog [Member] Represents customer backlog. us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss Impact of foreign currency translation adjustments Schedule of Indefinite-Lived Intangible Assets [Table Text Block] Depreciation and amortization intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range Lower range limit of percentage of vesting of award under share-based payment arrangement. intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range Upper range limit of percentage of vesting of award under share-based payment arrangement. us-gaap_SharesIssuedPricePerShare Shares Issued, Price Per Share (in dollars per share) us-gaap_AssetsCurrent Total current assets Refund of final working capital adjustment related to Acculogic Amount of cash inflow from final working adjustment on previous acquisition. Treasury stock, shares (in shares) Common stock, $0.01 par value; 20,000,000 shares authorized; 12,185,220 and 11,063,271 shares issued, respectively Measurement Frequency [Axis] Measurement Frequency [Domain] Adjustments to reconcile net earnings to net cash provided by (used in) operating activities: Fair Value, Recurring [Member] Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Common stock, par value (in dollars per share) Statistical Measurement [Domain] Maximum [Member] Minimum [Member] Product and Service [Axis] Product and Service [Domain] Statistical Measurement [Axis] Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding Preferred stock, shares issued (in shares) Contingent Consideration Liabilities [Member] Represents contingent consideration liabilities. Domestic and foreign income taxes Geographical [Axis] Geographical [Domain] Preferred stock, shares authorized (in shares) Inventories Total inventories Preferred stock par value (in dollars per share) Net revenues Revenue Fair Value, Inputs, Level 3 [Member] us-gaap_ForeignCurrencyTransactionGainLossBeforeTax Foreign exchange (gain) loss Fair Value Hierarchy and NAV [Domain] Customer [Axis] Customer [Domain] Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value Hierarchy and NAV [Axis] OEM and Integrators [Member] Customers who are original equipment manufacturers and/or integrators. Inventory consigned to others End User [Member] Customers who are the end user of the company's products. Semiconductor Market [Member] The semiconductor market into which the reporting entity sells products. Service and Other Products [Member] Represents information about services and other products sold by the reporting entity. Semiconductor Production Test Products [Member] Represents information about semiconductor production test products sold by the reporting entity. Industrial Market [Member] The industrial market into which the reporting entity sells products. CASH FLOWS FROM OPERATING ACTIVITIES 401(k) Plan [Member] A 401(k) plan offered by the reporting entity to eligible employees. Schedule of Segment Reporting Information, by Segment [Table Text Block] Statement [Line Items] Allowance for doubtful accounts us-gaap_NumberOfOperatingSegments Number of Operating Segments Trade accounts receivable, net of allowance for credit losses of $501 and $496, respectively Additional paid-in capital AOCI Attributable to Parent [Member] Stockholders' equity: Other income (expense) Other income (expense) us-gaap_NonoperatingIncomeExpense Segment Reporting Disclosure [Text Block] Current assets: Fair Value Disclosures [Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents Total cash, cash equivalents and restricted cash us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Effects of exchange rates on cash us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Net cash provided by (used in) all activities Texas Instruments Incorporated [Member] Texas instruments incorporated member. us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash provided by (used in) financing activities us-gaap_Liabilities Total liabilities Commitments and Contingencies Sale of Stock [Axis] Schedule Of Outstanding Letters Of Credit [Table Text Block] Schedule of outstanding letters of credit table text block. Sale of Stock [Domain] Mt Laurel [Member] Represents information about Mt laurel. us-gaap_OperatingIncomeLoss Operating income us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by (used in) operating activities Mansfield [Member] Represents information about Mansfield. us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash used in investing activities Prepaid expenses and other current assets Cost of revenue us-gaap_GrossProfit Gross profit intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod Defined Contribution Plan Employer Matching Contribution Vesting Period (Year) Defined contribution plan employer matching contribution vesting period. Counterparty Name [Axis] Counterparty Name [Domain] Consolidation Items [Domain] Provision for excess and obsolete inventory Excess and obsolete inventory charges Inventory Write-down Thermal Testing Products [Member] Represents information about Thermal products sold by the reporting entity. Consolidation Items [Axis] At-the-Market Issuance Sales Agreement [Member] Represents At-the-Market Issuance Sales Agreement. intt_CommissionFeePercentageOfGrossProceeds Commission Fee, Percentage of Gross Proceeds The percentage charged for the sales of shares. President of Environmental Technologies [Member] Represents the president of Environmental Technologies. The 2023 Stock Incentive Plan [Member] Represents the 2023 Stock Incentive Plan. us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Acquisition of treasury stock-shares surrendered by employees to satisfy tax liability Automobile Lease, One [Member] Represents the type of leasing arrangement. Letters of Credit Amount Outstanding Automobile Lease, Two [Member] Represents the type of leasing arrangement. Retained Earnings [Member] Proceeds from stock options exercised Title of Individual [Domain] Net proceeds from public offering of common stock Title of Individual [Axis] Treasury Stock, Common [Member] Additional Paid-in Capital [Member] Common Stock [Member] intt_IncreaseDecreaseInAccruedSalesCommission Accrued sales commissions The increase (decrease) during the reporting period in accrued sales commission. Equity Components [Axis] Equity Component [Domain] us-gaap_LongTermDebt Long-Term Debt Term Note [Member] Information related to Term Note. Other Current Liabilities [Member] October 2021 Agreement [Member] Information related to the October 2021 Agreement. Earnings before income tax expense Earnings before income tax expense Earnings before income tax expense M&T Bank [Member] Information related to M&T Bank. intt_DebtInstrumentDrawPeriod Debt Instrument, Draw Period (Year) Represents the period of time in which funds can be withdrawn under debt agreement, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. intt_DebtInstrumentInterestRateInEventOfDefault Debt Instrument, Interest Rate in Event of Default Contractual interest rate for funds borrowed in event of default, under the debt agreement. us-gaap_LineOfCredit Long-Term Line of Credit, Total Disaggregation of Revenue [Table Text Block] us-gaap_RepaymentsOfLongTermDebt Repayments of Term Note Revenue from Contract with Customer [Text Block] Balance Sheet Location [Axis] Balance Sheet Location [Domain] Document Quarterly Report Entity Incorporation, State or Country Code General and Administrative Expense [Member] Accounting Policies [Abstract] Significant Accounting Policies [Text Block] Document Transition Report Concentration Risk Disclosure [Text Block] Entity Interactive Data Current Selling and Marketing Expense [Member] us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries Accounts Receivable, Allowance for Credit Loss, Recovery Security Exchange Name Title of 12(b) Security intt_AggregateOfferingPriceOfStock Aggregate Offering Price of Stock The aggregate value offering price of stock issued and sold. us-gaap_ProceedsFromIssuanceOfLongTermDebt Proceeds from Issuance of Long-term Debt, Total Cost of Sales [Member] Research and Development Expense [Member] Amended Loan Agreement [Member] Represents The Loan Agreement, As Amended by the Third Amendment, the “amended Loan Agreement. Income Statement Location [Axis] Income Statement Location [Domain] Bank Guarantee on Customer Order Deposit [Member] Represents bank guarantee on customer order deposit. Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Schedule of Cash, Cash Equivalents and Restricted Cash [Table Text Block] Tabular disclosure of the components of cash, cash equivalents and restricted cash. Segments [Axis] Segments [Domain] Industry Sector [Domain] us-gaap_SharePrice Share Price (in dollars per share) us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period (in shares) Weighted average common shares and common share equivalents outstanding - diluted (in shares) Weighted average common shares and common share equivalents outstanding - diluted (in shares) Industry Sector [Axis] Non-US [Member] Statement [Table] Statement of Financial Position [Abstract] Earnings per common share - diluted (in dollars per share) Weighted average common shares outstanding - basic (in shares) Weighted average common shares outstanding - basic (in shares) Earnings per common share - basic (in dollars per share) Business Acquisition [Axis] Business Acquisition, Acquiree [Domain] Statement of Cash Flows [Abstract] 2023 (remainder) us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear Lease Contractual Term [Domain] Statement of Stockholders' Equity [Abstract] Lease Contractual Term [Axis] Income Statement [Abstract] Other comprehensive earnings 2026 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree Revenue from External Customers by Geographic Areas [Table Text Block] Long-Lived Assets by Geographic Areas [Table Text Block] us-gaap_BusinessCombinationContingentConsiderationLiability Contingent consideration liability 2024 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths 2025 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo Contingent consideration Fair Value, Liabilities Measured on Recurring Basis [Table Text Block] Thermal Process [Member] Represents thermal process. CASH FLOWS FROM FINANCING ACTIVITIES Other liabilities Defense/ Aerospace [Member] Represents defense/ aerospace. Corporate, Non-Segment [Member] Independent Directors [Member] Represents the independent directors. us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense Operating Lease, Right-of-Use Asset, Periodic Reduction us-gaap_StockholdersEquity Total stockholders' equity Balance Balance intt_CovenantFutureAmountReceivable Covenant, Future Amount Receivable Future amount receivable if we create and maintain specified levels of employment in the specified location through various dates ending in 2023. Class of Stock [Axis] Term Note, net of current portion Interest Rate Swap [Member] Schedule of Weighted Average Number of Shares [Table Text Block] Unrealized gain (loss) on interest rate swap agreement Operating Segments [Member] Other Multi Markets [Member] Information related to other multi markets. intt_NumberOfMajorCustomers Number of Major Customers Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc. intt_DeferredGrantProceeds Deferred Grant Proceeds Represents the amount of deferred grant proceeds. EX-101.PRE 10 intt-20230630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Document And Entity Information - shares
6 Months Ended
Jun. 30, 2023
Jul. 31, 2023
Document Information [Line Items]    
Entity Central Index Key 0001036262  
Entity Registrant Name INTEST CORP  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Period Focus Q2  
Document Fiscal Year Focus 2023  
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2023  
Document Transition Report false  
Entity File Number 1-36117  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 22-2370659  
Entity Address, Address Line One 804 East Gate Drive, Suite 200  
Entity Address, City or Town Mt. Laurel  
Entity Address, State or Province NJ  
Entity Address, Postal Zip Code 08054  
City Area Code 856  
Local Phone Number 505-8800  
Title of 12(b) Security Common Stock, par value $0.01 per share  
Trading Symbol INTT  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   12,157,456
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Balance Sheets (Current Period Unaudited) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 37,435 $ 13,434
Restricted cash 0 1,142
Trade accounts receivable, net of allowance for credit losses of $501 and $496, respectively 21,581 21,215
Inventories 23,070 22,565
Prepaid expenses and other current assets 1,495 1,695
Total current assets 83,581 60,051
Property and equipment:    
Machinery and equipment 6,779 6,625
Leasehold improvements 3,520 3,242
Gross property and equipment 10,299 9,867
Less: accumulated depreciation (7,081) (6,735)
Net property and equipment 3,218 3,132
Right-of-use assets, net 5,177 5,770
Goodwill 21,707 21,605
Net Carrying Amount 17,613 18,559
Deferred tax assets 965 280
Restricted certificates of deposit 100 100
Other assets 496 569
Total assets 132,857 110,066
Current liabilities:    
Current portion of Term Note 4,100 4,100
Current portion of operating lease liabilities 1,731 1,645
Accounts payable 5,735 7,394
Accrued wages and benefits 3,570 3,907
Accrued professional fees 1,010 884
Customer deposits and deferred revenue 5,176 4,498
Accrued sales commissions 1,202 1,468
Domestic and foreign income taxes payable 1,184 1,409
Other current liabilities 1,660 1,564
Total current liabilities 25,368 26,869
Operating lease liabilities, net of current portion 3,959 4,705
Term Note, net of current portion 9,992 12,042
Contingent consideration 1,063 1,039
Other liabilities 411 455
Total liabilities 40,793 45,110
Commitments and Contingencies
Stockholders' equity:    
Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding 0 0
Common stock, $0.01 par value; 20,000,000 shares authorized; 12,185,220 and 11,063,271 shares issued, respectively 122 111
Additional paid-in capital 53,296 31,987
Retained earnings 38,464 32,854
Accumulated other comprehensive earnings 470 218
Treasury stock, at cost; 38,514 and 34,308 shares, respectively (288) (214)
Total stockholders' equity 92,064 64,956
Total liabilities and stockholders' equity $ 132,857 $ 110,066
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Allowance for doubtful accounts $ 501 $ 496
Preferred stock par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 20,000,000 20,000,000
Common stock, shares issued (in shares) 12,185,220 11,063,271
Treasury stock, shares (in shares) 38,514 34,308
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Statements of Operations (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Revenue $ 32,558 $ 29,571 $ 64,477 $ 53,652
Cost of revenue 17,528 16,023 34,395 29,091
Gross profit 15,030 13,548 30,082 24,561
Operating expenses:        
Selling expense 4,661 4,033 9,116 7,489
Engineering and product development expense 1,983 1,859 3,887 3,783
General and administrative expense 5,042 4,928 10,217 9,759
Total operating expenses 11,686 10,820 23,220 21,031
Operating income 3,344 2,728 6,862 3,530
Interest expense (176) (141) (358) (278)
Other income (expense) 197 (17) 255 (27)
Earnings before income tax expense 3,365 2,570 6,759 3,225
Income tax expense 572 454 1,149 532
Net earnings $ 2,793 $ 2,116 $ 5,610 $ 2,693
Earnings per common share - basic (in dollars per share) $ 0.25 $ 0.20 $ 0.51 $ 0.25
Weighted average common shares outstanding - basic (in shares) 11,241,183 10,653,268 10,998,456 10,635,270
Earnings per common share - diluted (in dollars per share) $ 0.24 $ 0.20 $ 0.49 $ 0.25
Weighted average common shares and common share equivalents outstanding - diluted (in shares) 11,696,569 10,814,799 11,392,617 10,828,696
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Statements of Comprehensive Earnings (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Net earnings $ 2,793 $ 2,116 $ 5,610 $ 2,693
Unrealized gain (loss) on interest rate swap agreement 28 99 (71) 409
Foreign currency translation adjustments 153 (702) 323 (839)
Comprehensive earnings $ 2,974 $ 1,513 $ 5,862 $ 2,263
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Treasury Stock, Common [Member]
Total
Balance (in shares) at Dec. 31, 2021 10,910,460          
Balance at Dec. 31, 2021 $ 109 $ 29,931 $ 24,393 $ 594 $ (204) $ 54,823
Net earnings 0 0 577 0 0 577
Other comprehensive earnings 0 0 0 173 0 173
Amortization of deferred compensation related to stock-based awards $ 0 372 0 0 0 372
Issuance of unvested shares of restricted stock (in shares) 79,489          
Issuance of unvested shares of restricted stock $ 1 (1) 0 0 0 0
Shares issued under Employee Stock Purchase Plan (in shares) 5,245          
Shares issued under Employee Stock Purchase Plan $ 0 56 0 0 0 56
Balance (in shares) at Mar. 31, 2022 10,995,194          
Balance at Mar. 31, 2022 $ 110 30,358 24,970 767 (204) 56,001
Balance (in shares) at Dec. 31, 2021 10,910,460          
Balance at Dec. 31, 2021 $ 109 29,931 24,393 594 (204) 54,823
Net earnings           2,693
Balance (in shares) at Jun. 30, 2022 11,048,708          
Balance at Jun. 30, 2022 $ 110 30,974 27,086 164 (214) 58,120
Balance (in shares) at Mar. 31, 2022 10,995,194          
Balance at Mar. 31, 2022 $ 110 30,358 24,970 767 (204) 56,001
Net earnings 0 0 2,116 0 0 2,116
Other comprehensive earnings 0 0 0 (603) 0 (603)
Amortization of deferred compensation related to stock-based awards $ 0 551 0 0 0 551
Issuance of unvested shares of restricted stock (in shares) 44,044          
Issuance of unvested shares of restricted stock $ 0 0 0 0 0 0
Shares issued under Employee Stock Purchase Plan (in shares) 9,470          
Shares issued under Employee Stock Purchase Plan $ 0 65 0 0 0 65
Shares redeemed into treasury stock $ 0 0 0 0 (10) (10)
Balance (in shares) at Jun. 30, 2022 11,048,708          
Balance at Jun. 30, 2022 $ 110 30,974 27,086 164 (214) 58,120
Balance (in shares) at Dec. 31, 2022 11,063,271          
Balance at Dec. 31, 2022 $ 111 31,987 32,854 218 (214) 64,956
Net earnings 0 0 2,817 0 0 2,817
Other comprehensive earnings 0 0 0 71 0 71
Amortization of deferred compensation related to stock-based awards $ 0 474 0 0 0 474
Issuance of unvested shares of restricted stock (in shares) 90,588          
Issuance of unvested shares of restricted stock $ 1 (1) 0 0 0 0
Forfeitures of unvested shares of restricted stock (in shares) (13,271)          
Forfeitures of unvested shares of restricted stock $ 0 0 0 0 0 0
Stock options exercised (in shares) 25,200          
Stock options exercised $ 0 165 0 0 0 165
Shares issued under Employee Stock Purchase Plan (in shares) 2,292          
Shares issued under Employee Stock Purchase Plan $ 0 48 0 0 0 48
Shares surrendered to satisfy tax liability at vesting of stock-based awards $ 0 0 0 0 (33) (33)
Balance (in shares) at Mar. 31, 2023 11,168,080          
Balance at Mar. 31, 2023 $ 112 32,673 35,671 289 (247) 68,498
Balance (in shares) at Dec. 31, 2022 11,063,271          
Balance at Dec. 31, 2022 $ 111 31,987 32,854 218 (214) 64,956
Net earnings           $ 5,610
Stock options exercised (in shares)           111,800
Balance (in shares) at Jun. 30, 2023 12,185,220          
Balance at Jun. 30, 2023 $ 122 53,296 38,464 470 (288) $ 92,064
Balance (in shares) at Mar. 31, 2023 11,168,080          
Balance at Mar. 31, 2023 $ 112 32,673 35,671 289 (247) 68,498
Net earnings 0 0 2,793 0 0 2,793
Other comprehensive earnings 0 0 0 181 0 181
Amortization of deferred compensation related to stock-based awards $ 0 605 0 0 0 605
Issuance of unvested shares of restricted stock (in shares) 6,873          
Issuance of unvested shares of restricted stock $ 0 0 0 0 0 0
Stock options exercised (in shares) 86,600          
Stock options exercised $ 1 734 0 0 0 735
Shares issued under Employee Stock Purchase Plan (in shares) 1,870          
Shares issued under Employee Stock Purchase Plan $ 0 49 0 0 0 49
Shares surrendered to satisfy tax liability at vesting of stock-based awards $ 0 0 0 0 (41) (41)
Issuance of common stock, net (in shares) 921,797          
Issuance of common stock, net $ 9 19,235 0 0 0 19,244
Balance (in shares) at Jun. 30, 2023 12,185,220          
Balance at Jun. 30, 2023 $ 122 $ 53,296 $ 38,464 $ 470 $ (288) $ 92,064
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
CASH FLOWS FROM OPERATING ACTIVITIES    
Net earnings (loss) $ 5,610 $ 2,693
Adjustments to reconcile net earnings to net cash provided by (used in) operating activities:    
Depreciation and amortization 2,350 2,528
Provision for excess and obsolete inventory 266 230
Foreign exchange (gain) loss (47) 98
Amortization of deferred compensation related to stock-based awards 1,079 923
Discount on shares sold under Employee Stock Purchase Plan (14) (18)
Loss on disposal of property and equipment 98 61
Deferred income tax benefit (685) (805)
Changes in assets and liabilities:    
Trade accounts receivable (372) (6,607)
Inventories (693) (4,894)
Prepaid expenses and other current assets 212 (87)
Other assets 2 (395)
Operating lease liabilities (849) (701)
Accounts payable (1,607) 3,506
Accrued wages and benefits (351) (981)
Accrued professional fees 117 (471)
Customer deposits and deferred revenue 625 (264)
Accrued sales commissions (266) 219
Domestic and foreign income taxes payable (220) (477)
Other current liabilities 76 264
Other liabilities (17) 61
Net cash provided by (used in) operating activities 5,342 (5,081)
CASH FLOWS FROM INVESTING ACTIVITIES    
Refund of final working capital adjustment related to Acculogic 0 371
Purchase of property and equipment (709) (708)
Purchase of short-term investments 0 (3,477)
Net cash used in investing activities (709) (3,814)
CASH FLOWS FROM FINANCING ACTIVITIES    
Net proceeds from public offering of common stock 19,244 0
Proceeds from shares sold under Employee Stock Purchase Plan 83 103
Proceeds from stock options exercised 900 0
Acquisition of treasury stock-shares surrendered by employees to satisfy tax liability (74) (10)
Net cash provided by (used in) financing activities 18,103 (1,815)
Effects of exchange rates on cash 123 58
Net cash provided by (used in) all activities 22,859 (10,652)
Cash and cash equivalents at beginning of period 14,576 21,195
Cash and cash equivalents at end of period 37,435 10,543
Cash payments for:    
Domestic and foreign income taxes 2,060 1,865
Term Note [Member]    
CASH FLOWS FROM FINANCING ACTIVITIES    
Repayments of Term Note $ (2,050) $ (1,908)
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Note 1 - Nature of Operations
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Nature of Operations [Text Block]

(1)

NATURE OF OPERATIONS

 

We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

The consolidated entity is comprised of inTEST Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Germany, Singapore, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.

 

All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. The mix of products we sell in any period is ultimately determined by our customers’ needs. Therefore, the mix of products sold in any given period can change significantly from the prior period. In addition, we sell our products to a variety of different types of customers with varying levels of discounts and commission expense. As a result of changes in both the mix of products sold as well as customer mix in any given period, our consolidated gross margin can vary significantly from period to period.

 

The semiconductor market (“semi” or the “semi market”) which includes both the broader semiconductor market, as well as the more specialized automated test equipment (“ATE”) and wafer production sectors within the broader semiconductor market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical as well as seasonal market patterns. The semi market is also subject to periods of significant expansion or contraction in demand. In addition to the semi market, we sell into a variety of other markets. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any one market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.

 

Our Electronic Test segment sells its products to semiconductor manufacturers and third-party test and assembly houses (end user sales) and to ATE manufacturers (original equipment manufacturer (“OEM”) sales), who ultimately resell our equipment with theirs to both semiconductor manufacturers and third-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the acquisition of Acculogic Inc. and its affiliates (“Acculogic”) in December 2021, our Electronic Test segment also sells its products to customers in markets outside the semi market including the automotive, defense/aerospace, industrial and life sciences markets. Our Environmental Technologies segment sells its products to end users and OEMs within the ATE sector of the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the automotive, defense/aerospace, industrial and life sciences markets. Our Process Technologies segment sells its products to customers in the wafer production sector within the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the automotive, defense/aerospace, industrial, life sciences and security markets.

 

Our financial results are affected by a wide variety of factors, including, but not limited to, general economic conditions worldwide and in the markets in which we operate, economic conditions specific to the semi market and the other markets we serve, downward pricing pressures from customers, our reliance on a relatively few number of customers for a significant portion of our sales and our ability to safeguard patented technology and intellectual property in a rapidly evolving market. In addition, we are exposed to the risk of obsolescence of our inventory depending on the mix of future business and technological changes within the markets that we serve. Part of our strategy for growth includes potential acquisitions that may cause us to incur substantial expense in reviewing and evaluating potential transactions. We may or may not be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we may not be able to successfully integrate any business we do acquire with our existing business and we may not be able to operate the acquired business profitably. As a result of these or other factors, we may experience significant period-to-period fluctuations in future operating results.

 

On May 11, 2023, we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20,000 between May 11, 2023 and May 31, 2023. We received net proceeds from the sale of these shares of $19,244 after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.

 

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Note 2 - Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

(2)

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Basis of Presentation and Use of Estimates

The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America ("U.S. GAAP") requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including contingent consideration, inventories, long-lived assets, goodwill, identifiable intangibles and deferred tax assets and liabilities, including related valuation allowances, are particularly impacted by estimates.

 

In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”) filed on March 22, 2023 with the Securities and Exchange Commission.
 

Reclassification

Certain prior period amounts have been reclassified to be comparable with the current period's presentation. 

 

Subsequent Events

We have made an assessment of our operations and determined that there were no material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the six months ended June 30, 2023.

 

Business Combinations

Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and third-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statement of operations in the period of the estimated fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.

 

Cash, Cash Equivalents and Restricted Cash

 

Short-term investments that have maturities of three months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times may exceed the federally insured limits. We have not experienced any losses related to these cash balances and believe the credit risk to be minimal.

 

Restricted cash at December 31, 2022 represented amounts deposited at our bank in the Netherlands to support a bank guarantee which one of the customers of our Process Technologies segment required as a condition of paying a deposit on a large order they placed with us in 2022. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At June 30, 2023 this deposit had been fully utilized and the bank guarantee had therefore lapsed. At December 31, 2022, the amount of the deposit, and, accordingly, the guarantee, was EUR 1,067, or $1,142.

 

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

 

  

June 30,

2023

  

December 31,

2022

 

Cash and cash equivalents

 $37,435  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $37,435  $14,576 

 

Trade Accounts Receivable and Allowance for Credit Losses

 

Trade accounts receivable are recorded at the invoiced amount and do not bear interest. We grant credit to customers and generally require no collateral. To minimize our risk, we perform ongoing credit evaluations of our customers' financial condition. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective January 1, 2023, we follow the guidance in Accounting Standards Codification (“ASC”) Topic 326 (Financial Instruments – Credit Losses) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that may indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.

 

Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do not have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.

 

For the six months ended June 30, 2023, there were no significant changes in the amount of the allowance for credit losses. During the six months ended June 30, 2023, we recorded a bad debt recovery of $79. This amount had been fully written off prior to our acquisition of Acculogic and was no longer in our accounts receivable balance. There was no bad debt expense or recovery recorded during the six months ended June 30, 2022.

 

Fair Value of Financial Instruments

 

Our financial instruments include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short maturities of the accounts. Our short-term investments are classified as held-to-maturity and carried at amortized cost. Our credit facility and our interest rate swap are discussed further below and in Note 9. Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC Topic 820 (Fair Value Measurement). ASC Topic 820 establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Our contingent consideration liabilities are measured at fair value on a recurring basis using Level 3 inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See Note 3 for further disclosures related to the fair value of our liabilities for contingent consideration.

 

Goodwill, Intangible and Long-Lived Assets

We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

We account for goodwill and intangible assets in accordance with ASC Topic 350 (Intangibles - Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. Goodwill is assessed for impairment annually at the beginning of the fourth quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is not required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-not that the fair value of a reporting unit is less than its carrying amount, or, if we choose not to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized. 

 

The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.

 

Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the fourth quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than not that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-not that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, no further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.

 

Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“ROU”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets may not be fully recoverable or that the useful lives of these assets are no longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management's best estimates using appropriate assumptions and projections at that time. 

 

Revenue Recognition

We recognize revenue in accordance with the guidance in ASC Topic 606 (Revenue from Contracts with Customers). We recognize revenue for the sale of products or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers may include a combination of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.

 

Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. We do not have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net 30 to net 90 days. We generally do not provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.

 

Nature of Products and Services

 

We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) precision induction heating systems, including EKOHEAT® and EASYHEATTM products. As a result of the acquisition of Videology, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We provide post-warranty service and support for the equipment we sell. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and security markets.

 

We lease certain of our equipment under short-term leasing agreements with original lease terms of six months or less. Our lease agreements do not contain purchase options.

 

Types of Contracts with Customers

 

Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do not have any customer-specific acceptance criteria, other than that the product performs within the agreed upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.

 

Contract Balances

 

We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our balance sheet. To the extent that we do not recognize revenue at the same time as we invoice, we record a liability for deferred revenue. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Deferred revenue and customer deposits are included in current liabilities on our consolidated balance sheets.

 

As discussed above, we follow the guidance in ASC Topic 326 in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.

 

Costs to Obtain a Contract with a Customer

 

The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or third-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by third-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but not yet paid are included in current liabilities on our balance sheets.

 

Product Warranties

 

In connection with the sale of our products, we generally provide standard one- or two-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are not offered for sale separately from our products; therefore, there is not a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.

 

See Notes 5 and 13 for further information about our revenue from contracts with customers.

 

Inventories

 

Inventories are valued at cost on a first-in, first-out basis, not in excess of net realizable value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior three years. Our criteria identify obsolete material as material that has not been used in a work order during the prior twenty-four months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories. We incurred excess and obsolete inventory charges of $266 and $230 for the six months ended June 30, 2023 and 2022, respectively.

 

Leases

 

We account for leases in accordance with ASC Topic 842 (Leases). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset may be either explicitly or implicitly specified in the contract. In addition, the supplier must not have any practical ability to substitute a different asset and would not economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC Topic 842. Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do not currently have any financing leases.

 

ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. None of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms may include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are not obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.

 

We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are not included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.

 

Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.

 

We have made an accounting policy election not to apply the recognition requirements of ASC Topic 842 to short-term leases (leases with a term of one year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.

 

See Note 8 for further disclosures regarding our leases.

 

Interest Rate Swap Agreement

 

We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in Notes 3 and 9. The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic 815 (Derivatives and Hedging). Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. 

 

Contingent Liability for Repayment of State and Local Grant Funds Received

 

In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell, occupied in May 2018, we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $550 to help offset a portion of the cost of the leasehold improvements we made to this facility. The final payment of $87 was received during the three months ended March 31, 2022. In exchange for the funds we received under these agreements, we are required to create and maintain specified levels of employment in this location through various dates ending in 2024. If we fail to meet these employment targets, we may be required to repay a proportionate share of the proceeds. At June 30, 2023, $193 of the total proceeds received could still be required to be repaid if we do not meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are no longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheet and totaled $273 at June 30, 2023. At June 30, 2023, we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester. 

 

Stock-Based Compensation

We account for stock-based compensation in accordance with ASC Topic 718 (Compensation - Stock Compensation) which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. See further disclosures related to our stock-based compensation plans in Note 10.

 

Income Taxes

The asset and liability method is used in accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. 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 the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than not that such assets will not be realized.

 

Earnings Per Common Share

Earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Earnings per common share - diluted is computed by dividing earnings by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.

 

The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings per share because their effect was anti-dilutive:

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Weighted average common shares outstanding - basic

  11,241,183   10,653,268   10,998,456   10,635,270 

Potentially dilutive securities:

                

Unvested shares of restricted stock and employee stock options

  455,386   161,531   394,161   193,426 

Weighted average common shares and common share equivalents outstanding - diluted

  11,696,569   10,814,799   11,392,617   10,828,696 
                 

Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period

  96,661   608,322   125,545   477,448 

 

Effect of Recently Adopted Amendments to Authoritative Accounting Guidance

 

In June 2016, the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In November 2019, the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after December 15, 2022. The amendments replaced the incurred loss impairment methodology under current GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on January 1, 2023. The adoption of these amendments did not have any impact on our consolidated financial statements.

 

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Note 3 - Fair Value Measurements
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

(3)

FAIR VALUE MEASUREMENTS

 

ASC Topic 820 (Fair Value Measurement) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.

 

ASC 820 identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC 820 establishes a three-tier fair value hierarchy that distinguishes among the following:

 

Level 1 Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.

 

Level 2 Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are not active and models for which all significant inputs are observable, either directly or indirectly.

 

Level 3 Valuations based on inputs that are unobservable and significant to the overall fair value measurement.

 

To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level 3. A financial instrument's level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.

 

Recurring Fair Value Measurements

 

The interest rate swap agreement we entered into in connection with our Term Note, as discussed further in Notes 2 and 9 is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheets is measured at fair value on a recurring basis using Level 3 inputs. Our contingent consideration liability is a result of our acquisition of Acculogic on December 21, 2021, and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“EV”) or battery customers. Our acquisition of Acculogic and this liability are both discussed further in Note 3 to our consolidated financial statements in our 2022 Form 10-K. The current portion of this liability totaled $331 as of June 30, 2023 and $324 as of December 31, 2022 and was included in Other Current Liabilities on our balance sheets.

 

The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

As of June 30, 2023

                

Contingent consideration liability – Acculogic

 $(1,394

)

 $-  $-  $(1,394

)

Interest rate swap

 $457  $-  $457  $- 

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

As of December 31, 2022

                

Contingent consideration liability – Acculogic

 $(1,363

)

 $-  $-  $(1,363

)

Interest rate swap

 $528  $-  $528  $- 

 

Changes in the fair value of our Level 3 contingent consideration liabilities for the six months ended June 30, 2023 were as follows:

  

Six
Months Ended

June 30, 2023

 

Balance at beginning of period

 $1,363 

Impact of foreign currency translation adjustments

  31 
     

Balance at end of period

 $1,394 

 

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Goodwill and Intangible Assets Disclosure [Text Block]

(4)

GOODWILL AND INTANGIBLE ASSETS

 

We have three operating segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies. Goodwill and intangible assets on our balance sheets are the result of our acquisitions.

 

Goodwill

Changes in the amount of the carrying value of goodwill for the six months ended June 30, 2023 are as follows:

 

Balance - January 1, 2023

 $21,605 

Impact of foreign currency translation adjustments

  102 

Balance - June 30, 2023

 $21,707 

 

Goodwill was comprised of the following at June 30, 2023 and December 31, 2022:

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Electronic Test

 $3,436  $3,369 

Environmental Technologies

  1,817   1,817 

Process Technologies

  16,454   16,419 
         

Total goodwill

 $21,707  $21,605 

 

Intangible Assets

Changes in the amount of the carrying value of indefinite-lived intangible assets for the six months ended June 30, 2023 are as follows:

 

Balance - January 1, 2023

 $8,369 

Impact of foreign currency translation adjustments

  26 

Balance - June 30, 2023

 $8,395 

 

Changes in the amount of the carrying value of finite-lived intangible assets for the six months ended June 30, 2023 are as follows:

 

Balance - January 1, 2023

 $10,190 

Impact of foreign currency translation adjustments

  95 

Amortization

  (1,067

)

Balance - June 30, 2023

 $9,218 

 

Intangible assets were allocated to our reporting segments at June 30, 2023 and December 31, 2022 as follows:

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Electronic Test:

 $3,981  $4,139 

Environmental Technologies

  813   832 

Process Technologies

  12,819   13,588 
         

Total intangible assets

 $17,613  $18,559 

 

The following tables provide further detail about our intangible assets as of June 30, 2023 and December 31, 2022:

 

  

June 30, 2023

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,394  $8,859  $7,535 

Technology

  2,891   1,208   1,683 

Patents

  590   590   - 

Backlog

  497   497   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,782   11,564   9,218 

Indefinite-lived intangible assets:

            

Trademarks

  8,395   -   8,395 

Total intangible assets

 $29,177  $11,564  $17,613 

 

  

December 31, 2022

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,313  $7,990  $8,323 

Technology

  2,855   988   1,867 

Patents

  590   590   - 

Backlog

  492   492   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,660   10,470   10,190 

Indefinite-lived intangible assets:

            

Trademarks

  8,369   -   8,369 

Total intangible assets

 $29,029  $10,470  $18,559 

 

We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. None of our intangible assets have any residual value.

 

The following table sets forth the estimated annual amortization expense for each of the next five years:

 

2023 (remainder)

 $1,033 

2024

 $1,982 

2025

 $1,772 

2026

 $1,162 

2027

 $666 

  

 

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Note 5 - Revenue From Contracts With Customers
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

(5)

REVENUE FROM CONTRACTS WITH CUSTOMERS

 

The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. The information about revenue by customer and product type for the three and six months ended June 30, 2022 has been reclassified to be consistent with how the information for the current period is presented. See also Note 13 for information about revenue by operating segment and geographic region.

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue by customer type:

                

End user

 $21,877  $22,095  $43,581  $39,237 

OEM/Integrator

  10,681   7,476   20,896   14,415 
  $32,558  $29,571  $64,477  $53,652 
                 

Revenue by product type:

                

Thermal test

 $6,172  $5,951  $11,993  $11,008 

Thermal process

  11,872   9,968   21,694   16,964 

Semiconductor test

  8,753   6,632   16,859   12,639 

Video imaging

  2,434   2,395   5,082   4,245 

Flying probe and in-circuit testers

  1,417   2,088   2,576   3,777 

Service/other

  1,910   2,537   6,273   5,019 
  $32,558  $29,571  $64,477  $53,652 
                 

Revenue by market:

                

Semiconductor

 $18,833  $16,409  $36,516  $29,799 

Industrial

  2,806   2,930   5,943   5,729 

Automotive (including Electric Vehicles)

  1,542   3,594   4,139   6,350 

Defense/aerospace

  3,890   1,423   6,729   2,916 

Life Sciences

  1,135   1,169   2,648   1,868 

Security

  936   794   1,902   1,368 

Other

  3,416   3,252   6,600   5,622 
  $32,558  $29,571  $64,477  $53,652 

 

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Note 6 - Major Customers
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Concentration Risk Disclosure [Text Block]

(6)

MAJOR CUSTOMERS

 

During the six months ended June 30, 2023, one customer accounted for 14% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. No other customers accounted for 10% or more of our consolidated revenue during the six months ended June 30, 2023. During the six months ended June 30, 2022, no customer accounted for 10% or more of our consolidated revenue.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Note 7 - Inventories
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Inventory Disclosure [Text Block]

(7)

INVENTORIES

 

Inventories held at June 30, 2023 and December 31, 2022 were comprised of the following:

 

  

June 30,

2023

  

December 31,

2022

 

Raw materials

 $16,834  $16,888 

Work in process

  2,343   2,432 

Inventory consigned to others

  76   59 

Finished goods

  3,817   3,186 

Total inventories

 $23,070  $22,565 

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Excess and obsolete inventory charges

 $131  $107  $266  $230 

  

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Note 8 - Leases
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Lessee, Operating Leases [Text Block]

(8) 

LEASES 

 

As previously discussed in Note 2, we account for our leases in accordance with the guidance in ASC Topic 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2031. Total operating lease and short-term lease costs for the three and six months ended June 30, 2023 and 2022 were as follows: 

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Operating lease cost

 $403  $317  $803  $643 

Short-term lease cost

 $4  $14  $7  $44 

 

The following is additional information about our leases as of June 30, 2023:

 

Range of remaining lease terms (in years)

  0.1to7.8 

Weighted average remaining lease term (in years)

   4.7  

Weighted average discount rate

   4.5%  

 

Maturities of lease liabilities as of June 30, 2023 were as follows:

 

2023 (remainder)

 $974 

2024

  1,910 

2025

  1,010 

2026

  710 

2027

  706 

Thereafter

  945 

Total lease payments

 $6,255 

Less imputed interest

  (565

)

Total

 $5,690 

 

Cash Flow Information

 

Total amortization of ROU assets was $391 and $782 for the three months and six months ended June 30, 2023, respectively, and $329 and $638 for the three months and six months ended June 30, 2022, respectively.

 

During the six months ended June 30, 2023, we entered into a 25-month lease for a facility for our Environmental Technologies segment’s operation in Germany. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $90. During this same period, we entered into two auto leases, one with a 36-month term and one with a 48-month term, for employees of our Process Technologies segment both of whom are based in Europe. At the effective date of these leases, we recorded non-cash increases in our ROU assets and operating lease liabilities totaling approximately $71.

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Note 9 - Debt
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Debt Disclosure [Text Block]

(9)

DEBT

 

Letters of Credit

We have issued letters of credit as the security deposits for certain of our domestic leases. These letters of credit are secured by pledged certificates of deposit which are classified as Restricted Certificates of Deposit on our consolidated balance sheets. The terms of our leases require us to renew these letters of credit at least 30 days prior to their expiration dates for successive terms of not less than one year until lease expiration. Our outstanding letters of credit at June 30, 2023 and December 31, 2022 consisted of the following:

 

    

L/C

 

Lease

 

Letters of Credit
Amount Outstanding

 

Facility

 

Original L/C
Issue Date

 

Expiration
Date

 

Expiration
Date

 

June 30,
2023

  

Dec. 31,
2022

 

Mt. Laurel, NJ

 

3/29/2010

 

4/30/2024

 

4/30/2031

 $50  $50 

Mansfield, MA

 

10/27/2010

 

12/31/2024

 

12/31/2024

  50   50 
        $100  $100 

 

Credit Facility

 

On October 15, 2021 (the “Closing Date”), we entered into an Amended and Restated Loan and Security Agreement with M&T Bank (“M&T”) which, on October 28, 2021, was amended by the Joinder and Amendment to Amended and Restated Loan and Security Agreement and which, on December 30, 2021, was further amended by the Joinder and Second Amendment to Amended and Restated Loan and Security Agreement (as amended, the “Loan Agreement”).

 

The Loan Agreement included a $25,000 non-revolving delayed draw term note (the “Term Note”) and a $10,000 revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility had a five-year contract period that began on the Closing Date and expired on October 15, 2026, and draws under the Term Note were permissible for two years.

 

On September 20, 2022, we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement, as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note. Under the Amended Loan Agreement, the maximum loan amount that we may borrow under the Term Note increased from $25,000 to $50,500, which raises the available funding at June 30, 2023 to $30,000. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to September 19, 2027 (the “Contract Period”). At June 30, 2023, we had not borrowed any amounts under the $10 million Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement.

 

The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the secured overnight financing rate for U.S. government securities (“SOFR”) or a bank-defined base rate plus an applicable margin, depending on leverage. Each draw under the Term Note will have an option for us of either (i) up to a five year amortizing term loan with a balloon due at maturity, or (ii) up to a five year term with up to seven years amortization with a balloon due at maturity. Any amortization greater than five years will be subject to an excess cash flow recapture. The Amended Loan Agreement also allows us to enter into hedging contracts with M&T, including interest rate swap agreements, interest rate cap agreements, interest rate collar agreements, or any other agreements or that are designed to protect us against fluctuations in interest rates or currency exchange rates.

 

The Amended Loan Agreement contains customary default provisions, including but not limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Amended Loan Agreement, bankruptcy by us, suspension of our business or any of our subsidiaries and certain material judgments. After expiration of the Contract Period or if a continued event of default occurs, interest will accrue on the principal balance at a rate of 2% in excess of the then applicable non-default interest rate. The Amended Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA and a fixed charge coverage ratio. Our obligations under the Amended Loan Agreement are secured by liens on substantially all of our tangible and intangible assets that are owned as of the Closing Date or acquired thereafter.

 

On October 28, 2021, we drew $12,000 under the Term Note to finance the acquisition of Videology as discussed above. We also entered into an interest rate swap agreement with M&T as of this date which is designed to protect us against fluctuations in interest rates during the five year repayment and amortization period. As a result, the annual interest rate we expect to pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.

 

On December 29, 2021, we drew $8,500 under the Term Note to finance the acquisition of Acculogic as discussed above. We did not enter into an interest rate swap agreement with M&T related to this draw. The annual interest rate we expect to pay for this draw under the Term Note is variable. At June 30, 2023, it was approximately 7.2% based on current leverage. Effective August 1, 2023, this rate remained the same. 

 

The following table sets forth the maturities of long-term debt for each of the next five years:

 

2023 (remainder)

 $2,050 

2024

  4,100 

2025

  4,100 

2026

  3,842 
  $14,092 

  

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Share-Based Payment Arrangement [Text Block]

(10) 

STOCK-BASED COMPENSATION PLAN

 

As of June 30, 2023, we had unvested restricted stock awards and stock options granted under stock-based compensation plans that are described more fully in Note 15 to the consolidated financial statements in our 2022 Form 10-K. In addition, on June 21, 2023, our stockholders approved the inTEST Corporation 2023 Stock Incentive Plan (the “2023 Plan”) which replaces the Fourth Amended and Restated 2014 Stock Plan (the “2014 Plan”). No further awards can be granted under the 2014 Plan. The maximum number of shares of common stock available for grant and issuance under the 2023 Plan will be (a) 350,000, plus (b) the number of shares of common stock available for issuance under the 2014 Plan on the date the 2023 Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the 2014 Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the 2023 Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the 2023 Plan as of the date of its approval was 1,117,942.

 

Our unvested restricted stock awards and stock options are accounted for based on their grant date fair value. As of June 30, 2023, total compensation expense to be recognized in future periods is $4,127. The weighted average period over which this expense is expected to be recognized is 2.1 years.

 

The following table summarizes the compensation expense we recorded during the three and six months ended June 30, 2023 and 2022 related to unvested shares of restricted stock and stock options:

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Cost of revenues

 

$

29

  

$

15

  

$

48

  

$

26

 

Selling expense

  

11

   

7

   

21

   

14

 

Engineering and product development expense

  

9

   

18

   

19

   

37

 

General and administrative expense

  

556

   

511

   

991

   

846

 
  

$

605

  

$

551

  

$

1,079

  

$

923

 

 

There was no compensation expense capitalized in three and six months ended June 30, 2023 or 2022. 

 

Stock Options

We record compensation expense for stock options based on the fair market value of the options as of the grant date. No option may be granted with an exercise period in excess of ten years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over four years.

The fair value for stock options granted during the six months ended June 30, 2023 and 2022 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:

 

  

2023

  

2022

 

Risk-free interest rate

  3.93

%

  2.05

%

Dividend yield

  0.00

%

  0.00

%

Expected common stock market price volatility factor

  .57   .55 

Weighted average expected life of stock options (years)

  6.25   6.25 

 

The per share weighted average fair value of stock options issued during the six months ended June 30, 2023 and 2022 was $9.43 and $4.53, respectively.

 

The following table summarizes the activity related to stock options for the six months ended June 30, 2023:

 

  

Number
of Shares

  

Weighted
Average
Exercise Price

 

Options outstanding, January 1, 2023 (167,886 exercisable)

  580,419   8.91 

Granted

  93,860   16.25 

Exercised

  (111,800

)

  8.05 

Canceled

  (23,859

)

  9.09 

Options outstanding, June 30, 2023 (187,981 exercisable)

  538,620   10.36 

 

Restricted Stock Awards

We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over four years for employees and over one year for our independent directors (25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted).

 

Since August 2020, we have increasingly granted performance-based restricted stock awards where the ultimate number of shares that vest can vary between 0% and 150% of the amount of the original award and is based on the achievement of specified performance metrics. Vesting for these awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for these awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjustment, as needed. Our initial assumption at the grant date of these awards is that the award will vest at the 100% level. The awards granted prior to January 1, 2023 are discussed in more detail in Note 15 to the consolidated financial statement in our 2022 Form 10-K. There have been no significant changes to our assumptions related to the expected vesting percentages for any of these performance-based awards as of June 30, 2023.

 

On March 8, 2023, our Chief Executive Officer ("CEO"), Chief Financial Officer ("CFO") and certain other members of our senior management received restricted stock awards totaling 18,888 shares valued at $303 as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on March 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics related to consolidated revenue for specified time periods as determined by the Compensation Committee of our Board of Directors. As of June 30, 2023, we have estimated that these shares will vest at 100% of the original amount. On May 8, 2023 the newly appointed president of our Environmental Technologies segment received restricted stock awards totaling 5,081 shares valued at $108 as of the date of grant. These shares vest on the third anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on May 8, 2023. The final vesting percentage will be based on the achievement of certain performance metrics including revenue and income from operations for specified time periods as determined by the Compensation Committee of our Board of Directors in consultation with our CEO and CFO.

 

The following table summarizes the activity related to unvested restricted stock awards for the six months ended June 30, 2023:

  

Number
of Shares

  

Weighted
Average
Grant Date
Fair Value

 

Unvested shares outstanding, January 1, 2023

  288,450   7.80 

Granted

  97,461   16.43 

Vested

  (57,559

)

  10.99 

Forfeited

  (13,271

)

  9.88 

Unvested shares outstanding, June 30, 2023

  315,081   9.72 

 

The total fair value of the restricted stock awards that vested during the six months ended June 30, 2023 and 2022 was $1,153 and $436, respectively, as of the vesting dates of these awards. 

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Note 11 - Employee Stock Purchase Plan
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Employee Stock Purchase Plan [Text Block]

(11) 

EMPLOYEE STOCK PURCHASE PLAN

 

The inTEST Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by the Board in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021 at our Annual Meeting of Stockholders. The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a discounted purchase price. The ESPP became effective on October 1, 2021.

 

The ESPP provides that an aggregate of up to 250,000 shares of our common stock will be available for issuance thereunder. The shares of our common stock purchasable under the ESPP will be shares of authorized but unissued or reacquired shares, including shares repurchased by us on the open market.

 

During the six months ended June 30, 2023, employees purchased 4,162 shares of our common stock through the ESPP at a cost of $97. The closing market price of our common stock on the dates of purchase were $20.74 and $26.26, respectively. The prices paid by employees were $17.63 and $22.32, respectively, which represented a 15% discount. The total amount of the discount of $14 was recorded as compensation expense in our consolidated statements of operations. During the six months ended June 30, 2022, employees purchased 14,715 shares of our common stock through the ESPP at a cost of $121. The closing market price of our common stock on the dates of purchase were $10.73 and $6.82, respectively. The prices paid by employees were $9.12 and $5.80, respectively, which represented a 15% discount. The total amount of the discount of $18 was recorded as compensation expense in our consolidated statements of operations.

 

From the effective date of the ESPP through June 30, 2023, a total of 35,314 shares of our common stock have been purchased by employees through the ESPP at a cost of $379. We have recorded a total of $57 of compensation expense in our consolidated statements of operations related to these shares.

  

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Note 12 - Employee Benefit Plans
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Retirement Benefits [Text Block]

(12) 

EMPLOYEE BENEFIT PLANS

 

We have defined contribution 401(k) plans for our employees who work in the U.S. All permanent employees of inTEST Corporation, inTEST EMS LLC, Temptronic Corporation and Videology who are at least 18 years of age are eligible to participate in the inTEST Corporation Incentive Savings Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5. Employer contributions vest ratably over four years. Matching contributions are discretionary. For the three and six months ended June 30, 2023 we recorded $108 and $347 of expense for matching contributions, respectively. For the three and six months ended June 30, 2022 we recorded $134 and $350 of expense for matching contributions, respectively.

 

All permanent employees of Ambrell are immediately eligible to participate in the Ambrell Corporation Savings & Profit Sharing Plan (the "Ambrell Plan") upon employment and are eligible for employer matching contributions after completing six months of service, as defined in the Ambrell Plan. The Ambrell Plan allows eligible employees to make voluntary contributions up to 100% of compensation, up to the federal government contribution limits. We will make a matching contribution of 50% of each employee's contributions up to a maximum of 10% of the employee's deferral with a maximum limit of $5. For the three and six months ended June 30, 2023 we recorded $91 and $224 of expense for matching contributions, respectively. For the three and six months ended June 30, 2022 we recorded $85 and $186 of expense for matching contributions, respectively.

 

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Note 13 - Segment Information
6 Months Ended
Jun. 30, 2023
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

(13) 

SEGMENT INFORMATION

 

We have three operating segments which are also our reportable segments and reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products). We operate our business worldwide and sell our products both domestically and internationally. All of our segments sell to semiconductor manufacturers, third-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the automotive, defense/aerospace, industrial, life sciences, security and other markets.  

 

Our management team, including our CEO who is also our Chief Operating Decision Maker as defined under U.S. GAAP, evaluates the performance of our operating segments primarily on income from divisional operations which represents earnings before income tax expense and excludes interest expense, other income (expense), corporate expenses and acquired intangible amortization.

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue:

                

Electronic Test

 

$

10,993

  

$

9,797

  

$

21,364

  

$

18,575

 

Environmental Technologies

  

8,136

   

7,507

   

16,178

   

14,500

 

Process Technologies

  

13,429

   

12,267

   

26,935

   

20,577

 

Total revenue

 

$

32,558

  

$

29,571

  

$

64,477

  

$

53,652

 
                 

Income from divisional operations:

                

Electronic Test

 

$

2,641

  

$

2,193

  

$

5,219

  

$

4,080

 

Environmental Technologies

  

943

   

1,070

   

1,956

   

1,872

 

Process Technologies

  

2,592

   

2,569

   

5,268

   

3,299

 

Total income from divisional operations

  

6,176

   

5,832

   

12,443

   

9,251

 

Corporate expenses

  

(2,309

)

  

(2,339

)

  

(4,514

)

  

(4,174

)

Acquired intangible amortization

  

(523

)

  

(765

)

  

(1,067

)

  

(1,547

)

Interest expense

  

(176

)

  

(141

)

  

(358

)

  

(278

)

Other income (expense)

  

197

   

(17

)

  

255

   

(27

)

Earnings before income tax expense

 

$

3,365

  

$

2,570

  

$

6,759

  

$

3,225

 

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Identifiable assets:

        

Electronic Test

 $30,245  $31,143 

Environmental Technologies

  18,080   18,040 

Process Technologies

  55,104   56,866 

Corporate

  29,428   4,017 
  $132,857  $110,066 

 

The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.

 

  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue:

                

U.S.

 $9,912  $14,068  $21,002  $23,302 

Foreign

  22,646   15,503   43,475   30,350 
  $32,558  $29,571  $64,477  $53,652 

 

  

June 30,

  

December 31,

 
  

2023

  

2022

 

Property and equipment:

        

U.S.

 $2,523  $2,658 

Foreign

  695   474 
  $3,218  $3,132 

 

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Note 2 - Summary of Significant Accounting Policies (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Schedule of Cash, Cash Equivalents and Restricted Cash [Table Text Block]
  

June 30,

2023

  

December 31,

2022

 

Cash and cash equivalents

 $37,435  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $37,435  $14,576 
Schedule of Weighted Average Number of Shares [Table Text Block]
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Weighted average common shares outstanding - basic

  11,241,183   10,653,268   10,998,456   10,635,270 

Potentially dilutive securities:

                

Unvested shares of restricted stock and employee stock options

  455,386   161,531   394,161   193,426 

Weighted average common shares and common share equivalents outstanding - diluted

  11,696,569   10,814,799   11,392,617   10,828,696 
                 

Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period

  96,661   608,322   125,545   477,448 
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Note 3 - Fair Value Measurements (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]
  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

As of June 30, 2023

                

Contingent consideration liability – Acculogic

 $(1,394

)

 $-  $-  $(1,394

)

Interest rate swap

 $457  $-  $457  $- 
  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

As of December 31, 2022

                

Contingent consideration liability – Acculogic

 $(1,363

)

 $-  $-  $(1,363

)

Interest rate swap

 $528  $-  $528  $- 
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]
  

Six
Months Ended

June 30, 2023

 

Balance at beginning of period

 $1,363 

Impact of foreign currency translation adjustments

  31 
     

Balance at end of period

 $1,394 
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Schedule of Changes in Goodwill [Table Text Block]

Balance - January 1, 2023

 $21,605 

Impact of foreign currency translation adjustments

  102 

Balance - June 30, 2023

 $21,707 
Schedule of Goodwill [Table Text Block]
  

June 30,

  

December 31,

 
  

2023

  

2022

 

Electronic Test

 $3,436  $3,369 

Environmental Technologies

  1,817   1,817 

Process Technologies

  16,454   16,419 
         

Total goodwill

 $21,707  $21,605 
Schedule of Indefinite-Lived Intangible Assets [Table Text Block]

Balance - January 1, 2023

 $8,369 

Impact of foreign currency translation adjustments

  26 

Balance - June 30, 2023

 $8,395 
Schedule of Finite-Lived Intangible Assets [Table Text Block]

Balance - January 1, 2023

 $10,190 

Impact of foreign currency translation adjustments

  95 

Amortization

  (1,067

)

Balance - June 30, 2023

 $9,218 
Schedule Of Intangible Assets [Table Text Block]
  

June 30,

  

December 31,

 
  

2023

  

2022

 

Electronic Test:

 $3,981  $4,139 

Environmental Technologies

  813   832 

Process Technologies

  12,819   13,588 
         

Total intangible assets

 $17,613  $18,559 
  

June 30, 2023

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,394  $8,859  $7,535 

Technology

  2,891   1,208   1,683 

Patents

  590   590   - 

Backlog

  497   497   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,782   11,564   9,218 

Indefinite-lived intangible assets:

            

Trademarks

  8,395   -   8,395 

Total intangible assets

 $29,177  $11,564  $17,613 
  

December 31, 2022

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,313  $7,990  $8,323 

Technology

  2,855   988   1,867 

Patents

  590   590   - 

Backlog

  492   492   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,660   10,470   10,190 

Indefinite-lived intangible assets:

            

Trademarks

  8,369   -   8,369 

Total intangible assets

 $29,029  $10,470  $18,559 
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

2023 (remainder)

 $1,033 

2024

 $1,982 

2025

 $1,772 

2026

 $1,162 

2027

 $666 
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Note 5 - Revenue From Contracts With Customers (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Disaggregation of Revenue [Table Text Block]
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue by customer type:

                

End user

 $21,877  $22,095  $43,581  $39,237 

OEM/Integrator

  10,681   7,476   20,896   14,415 
  $32,558  $29,571  $64,477  $53,652 
                 

Revenue by product type:

                

Thermal test

 $6,172  $5,951  $11,993  $11,008 

Thermal process

  11,872   9,968   21,694   16,964 

Semiconductor test

  8,753   6,632   16,859   12,639 

Video imaging

  2,434   2,395   5,082   4,245 

Flying probe and in-circuit testers

  1,417   2,088   2,576   3,777 

Service/other

  1,910   2,537   6,273   5,019 
  $32,558  $29,571  $64,477  $53,652 
                 

Revenue by market:

                

Semiconductor

 $18,833  $16,409  $36,516  $29,799 

Industrial

  2,806   2,930   5,943   5,729 

Automotive (including Electric Vehicles)

  1,542   3,594   4,139   6,350 

Defense/aerospace

  3,890   1,423   6,729   2,916 

Life Sciences

  1,135   1,169   2,648   1,868 

Security

  936   794   1,902   1,368 

Other

  3,416   3,252   6,600   5,622 
  $32,558  $29,571  $64,477  $53,652 
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Note 7 - Inventories (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Schedule of Inventory, Current [Table Text Block]
  

June 30,

2023

  

December 31,

2022

 

Raw materials

 $16,834  $16,888 

Work in process

  2,343   2,432 

Inventory consigned to others

  76   59 

Finished goods

  3,817   3,186 

Total inventories

 $23,070  $22,565 
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Excess and obsolete inventory charges

 $131  $107  $266  $230 
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Note 8 - Leases (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Lease, Cost [Table Text Block]
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Operating lease cost

 $403  $317  $803  $643 

Short-term lease cost

 $4  $14  $7  $44 

Range of remaining lease terms (in years)

  0.1to7.8 

Weighted average remaining lease term (in years)

   4.7  

Weighted average discount rate

   4.5%  
Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]

2023 (remainder)

 $974 

2024

  1,910 

2025

  1,010 

2026

  710 

2027

  706 

Thereafter

  945 

Total lease payments

 $6,255 

Less imputed interest

  (565

)

Total

 $5,690 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Note 9 - Debt (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Schedule Of Outstanding Letters Of Credit [Table Text Block]
    

L/C

 

Lease

 

Letters of Credit
Amount Outstanding

 

Facility

 

Original L/C
Issue Date

 

Expiration
Date

 

Expiration
Date

 

June 30,
2023

  

Dec. 31,
2022

 

Mt. Laurel, NJ

 

3/29/2010

 

4/30/2024

 

4/30/2031

 $50  $50 

Mansfield, MA

 

10/27/2010

 

12/31/2024

 

12/31/2024

  50   50 
        $100  $100 
Schedule of Maturities of Long-Term Debt [Table Text Block]

2023 (remainder)

 $2,050 

2024

  4,100 

2025

  4,100 

2026

  3,842 
  $14,092 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Cost of revenues

 

$

29

  

$

15

  

$

48

  

$

26

 

Selling expense

  

11

   

7

   

21

   

14

 

Engineering and product development expense

  

9

   

18

   

19

   

37

 

General and administrative expense

  

556

   

511

   

991

   

846

 
  

$

605

  

$

551

  

$

1,079

  

$

923

 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

2023

  

2022

 

Risk-free interest rate

  3.93

%

  2.05

%

Dividend yield

  0.00

%

  0.00

%

Expected common stock market price volatility factor

  .57   .55 

Weighted average expected life of stock options (years)

  6.25   6.25 
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Number
of Shares

  

Weighted
Average
Exercise Price

 

Options outstanding, January 1, 2023 (167,886 exercisable)

  580,419   8.91 

Granted

  93,860   16.25 

Exercised

  (111,800

)

  8.05 

Canceled

  (23,859

)

  9.09 

Options outstanding, June 30, 2023 (187,981 exercisable)

  538,620   10.36 
Nonvested Restricted Stock Shares Activity [Table Text Block]
  

Number
of Shares

  

Weighted
Average
Grant Date
Fair Value

 

Unvested shares outstanding, January 1, 2023

  288,450   7.80 

Granted

  97,461   16.43 

Vested

  (57,559

)

  10.99 

Forfeited

  (13,271

)

  9.88 

Unvested shares outstanding, June 30, 2023

  315,081   9.72 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Note 13 - Segment Information (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Schedule of Segment Reporting Information, by Segment [Table Text Block]
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue:

                

Electronic Test

 

$

10,993

  

$

9,797

  

$

21,364

  

$

18,575

 

Environmental Technologies

  

8,136

   

7,507

   

16,178

   

14,500

 

Process Technologies

  

13,429

   

12,267

   

26,935

   

20,577

 

Total revenue

 

$

32,558

  

$

29,571

  

$

64,477

  

$

53,652

 
                 

Income from divisional operations:

                

Electronic Test

 

$

2,641

  

$

2,193

  

$

5,219

  

$

4,080

 

Environmental Technologies

  

943

   

1,070

   

1,956

   

1,872

 

Process Technologies

  

2,592

   

2,569

   

5,268

   

3,299

 

Total income from divisional operations

  

6,176

   

5,832

   

12,443

   

9,251

 

Corporate expenses

  

(2,309

)

  

(2,339

)

  

(4,514

)

  

(4,174

)

Acquired intangible amortization

  

(523

)

  

(765

)

  

(1,067

)

  

(1,547

)

Interest expense

  

(176

)

  

(141

)

  

(358

)

  

(278

)

Other income (expense)

  

197

   

(17

)

  

255

   

(27

)

Earnings before income tax expense

 

$

3,365

  

$

2,570

  

$

6,759

  

$

3,225

 
Revenue from External Customers by Geographic Areas [Table Text Block]
  

Three Months Ended
June 30,

  

Six Months Ended
June 30,

 
  

2023

  

2022

  

2023

  

2022

 

Revenue:

                

U.S.

 $9,912  $14,068  $21,002  $23,302 

Foreign

  22,646   15,503   43,475   30,350 
  $32,558  $29,571  $64,477  $53,652 
Long-Lived Assets by Geographic Areas [Table Text Block]
  

June 30,

  

December 31,

 
  

2023

  

2022

 

Property and equipment:

        

U.S.

 $2,523  $2,658 

Foreign

  695   474 
  $3,218  $3,132 
Asset [Member]  
Notes Tables  
Schedule of Segment Reporting Information, by Segment [Table Text Block]
  

June 30,

  

December 31,

 
  

2023

  

2022

 

Identifiable assets:

        

Electronic Test

 $30,245  $31,143 

Environmental Technologies

  18,080   18,040 

Process Technologies

  55,104   56,866 

Corporate

  29,428   4,017 
  $132,857  $110,066 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Note 1 - Nature of Operations (Details Textual)
3 Months Ended 6 Months Ended
May 11, 2023
USD ($)
shares
Jun. 30, 2023
USD ($)
Jun. 30, 2023
Number of Operating Segments     3
Stock Issued During Period, Value, New Issues   $ 19,244,000  
At-the-Market Issuance Sales Agreement [Member]      
Stock Issued During Period, Shares, New Issues (in shares) | shares 921,797    
Aggregate Offering Price of Stock $ 20,000    
Stock Issued During Period, Value, New Issues $ 19,244    
Commission Fee, Percentage of Gross Proceeds 3.00%    
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Note 2 - Summary of Significant Accounting Policies (Details Textual)
€ in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
USD ($)
Jun. 30, 2022
USD ($)
Jun. 30, 2023
USD ($)
Jun. 30, 2022
USD ($)
Jun. 30, 2023
EUR (€)
Dec. 31, 2022
USD ($)
Mar. 31, 2022
USD ($)
May 31, 2018
USD ($)
Restricted Cash $ 0   $ 0     $ 1,142    
Accounts Receivable, Allowance for Credit Loss, Recovery     79          
Accounts Receivable, Credit Loss Expense (Reversal)     0          
Inventory Write-down 131 $ 107 266 $ 230        
Deferred Grant Proceeds 273   273          
City of Rochester and State of New York [Member]                
Contingent Liability, Repayment of State and Local Grant Funds Received             $ 87 $ 550
Covenant, Future Amount Receivable 193   193          
Bank Guarantee on Customer Order Deposit [Member]                
Restricted Cash $ 1,142   $ 1,142   € 1,067      
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Cash and cash equivalents $ 37,435 $ 13,434
Restricted cash 0 1,142
Total cash, cash equivalents and restricted cash $ 37,435 $ 14,576
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) - shares
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Weighted average common shares outstanding - basic (in shares) 11,241,183 10,653,268 10,998,456 10,635,270
Unvested shares of restricted stock and employee stock options (in shares) 455,386 161,531 394,161 193,426
Weighted average common shares and common share equivalents outstanding - diluted (in shares) 11,696,569 10,814,799 11,392,617 10,828,696
Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period (in shares) 96,661 608,322 125,545 477,448
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Note 3 - Fair Value Measurements (Details Textual) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Other Current Liabilities [Member]    
Business Combination, Contingent Consideration, Liability, Current $ 331 $ 324
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Interest Rate Swap [Member]    
Interest rate swap $ 457 $ 528
Interest rate swap 457 528
Fair Value, Inputs, Level 1 [Member] | Interest Rate Swap [Member]    
Interest rate swap 0 0
Interest rate swap 0 0
Fair Value, Inputs, Level 2 [Member] | Interest Rate Swap [Member]    
Interest rate swap 457 528
Interest rate swap 457 528
Fair Value, Inputs, Level 3 [Member] | Interest Rate Swap [Member]    
Interest rate swap 0 0
Interest rate swap 0 0
Acculogic [Member]    
Contingent consideration liability (1,394) (1,363)
Acculogic [Member] | Fair Value, Inputs, Level 1 [Member]    
Contingent consideration liability 0 0
Acculogic [Member] | Fair Value, Inputs, Level 2 [Member]    
Contingent consideration liability 0 0
Acculogic [Member] | Fair Value, Inputs, Level 3 [Member]    
Contingent consideration liability $ (1,394) $ (1,363)
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) - Contingent Consideration Liabilities [Member]
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Balance $ 1,363
Impact of foreign currency translation adjustments (31)
Balance $ 1,394
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Balance $ 21,605
Impact of foreign currency translation adjustments 102
Balance $ 21,707
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Goodwill $ 21,707 $ 21,605
Electronic Test [Member]    
Goodwill 3,436 3,369
Environmental Technologies [Member]    
Goodwill 1,817 1,817
Process Technologies [Member]    
Goodwill $ 16,454 $ 16,419
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Balance $ 8,369
Impact of foreign currency translation adjustments 26
Balance $ 8,395
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Balance $ 10,190
Impact of foreign currency translation adjustments 95
Amortization (1,067)
Balance $ 9,218
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Net Carrying Amount $ 17,613 $ 18,559
Finite-lived, Gross Carrying Amount 20,782 20,660
Finite-lived, Accumulated Amortization 11,564 10,470
Net Carrying Amount, finite-lived 9,218 10,190
Indefinite-lived, Gross Carrying Amount 8,395 8,369
Net Carrying Amount, indefinite-lived 8,395 8,369
Intangible Assets, Gross Carrying Amount 29,177 29,029
Net Carrying Amount 17,613 18,559
Trademarks [Member]    
Indefinite-lived, Gross Carrying Amount 8,395 8,369
Net Carrying Amount, indefinite-lived 8,395 8,369
Customer Relationships [Member]    
Finite-lived, Gross Carrying Amount 16,394 16,313
Finite-lived, Accumulated Amortization 8,859 7,990
Net Carrying Amount, finite-lived 7,535 8,323
Patented Technology [Member]    
Finite-lived, Gross Carrying Amount 2,891 2,855
Finite-lived, Accumulated Amortization 1,208 988
Net Carrying Amount, finite-lived 1,683 1,867
Patents [Member]    
Finite-lived, Gross Carrying Amount 590 590
Finite-lived, Accumulated Amortization 590 590
Net Carrying Amount, finite-lived 0 0
Customer Backlog [Member]    
Finite-lived, Gross Carrying Amount 497 492
Finite-lived, Accumulated Amortization 497 492
Net Carrying Amount, finite-lived 0 0
Computer Software, Intangible Asset [Member]    
Finite-lived, Gross Carrying Amount 270 270
Finite-lived, Accumulated Amortization 270 270
Net Carrying Amount, finite-lived 0 0
Trade Names [Member]    
Finite-lived, Gross Carrying Amount 140 140
Finite-lived, Accumulated Amortization 140 140
Net Carrying Amount, finite-lived 0 0
Electronic Test [Member]    
Net Carrying Amount 3,981 4,139
Net Carrying Amount 3,981 4,139
Environmental Technologies [Member]    
Net Carrying Amount 813 832
Net Carrying Amount 813 832
Process Technologies [Member]    
Net Carrying Amount 12,819 13,588
Net Carrying Amount $ 12,819 $ 13,588
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
2023 (remainder) $ 1,033
2024 1,982
2025 1,772
2026 1,162
2027 $ 666
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Revenue $ 32,558 $ 29,571 $ 64,477 $ 53,652
Semiconductor Market [Member]        
Revenue 18,833 16,409 36,516 29,799
Industrial Market [Member]        
Revenue 2,806 2,930 5,943 5,729
Automotive [Member]        
Revenue 1,542 3,594 4,139 6,350
Defense/ Aerospace [Member]        
Revenue 3,890 1,423 6,729 2,916
Life Sciences [Member]        
Revenue 1,135 1,169 2,648 1,868
Security [Member]        
Revenue 936 794 1,902 1,368
Other Multi Markets [Member]        
Revenue 3,416 3,252 6,600 5,622
Thermal Testing Products [Member]        
Revenue 6,172 5,951 11,993 11,008
Thermal Process [Member]        
Revenue 11,872 9,968 21,694 16,964
Semiconductor Production Test Products [Member]        
Revenue 8,753 6,632 16,859 12,639
Video Imaging [Member]        
Revenue 2,434 2,395 5,082 4,245
Flying Probe and In-circuit Testers [Member]        
Revenue 1,417 2,088 2,576 3,777
Service and Other Products [Member]        
Revenue 1,910 2,537 6,273 5,019
End User [Member]        
Revenue 21,877 22,095 43,581 39,237
OEM and Integrators [Member]        
Revenue $ 10,681 $ 7,476 $ 20,896 $ 14,415
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Note 6 - Major Customers (Details Textual)
6 Months Ended
Jun. 30, 2023
Number of Major Customers 1
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Texas Instruments Incorporated [Member]  
Concentration Risk, Percentage 14.00%
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Note 7 - Inventories - Inventories (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Raw materials $ 16,834   $ 16,834   $ 16,888
Work in process 2,343   2,343   2,432
Inventory consigned to others 76   76   59
Finished goods 3,817   3,817   3,186
Total inventories 23,070   23,070   $ 22,565
Excess and obsolete inventory charges $ 131 $ 107 $ 266 $ 230  
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Note 8 - Leases (Details Textual) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Operating Lease, Right-of-Use Asset, Periodic Reduction $ 391 $ 329 $ 782 $ 638  
Operating Lease, Right-of-Use Asset $ 5,177   5,177   $ 5,770
Increase (Decrease) in Operating Lease Liability     $ (849) $ (701)  
Environmental Technologies in Germany [Member]          
Lessee, Operating Lease, Term of Contract (Month) 25 months   25 months    
Operating Lease, Right-of-Use Asset $ 90   $ 90    
Increase (Decrease) in Operating Lease Liability     $ 90    
Process Technologies [Member] | Automobile Lease, One [Member]          
Lessee, Operating Lease, Term of Contract (Month) 36 months   36 months    
Process Technologies [Member] | Automobile Lease, Two [Member]          
Lessee, Operating Lease, Term of Contract (Month) 48 months   48 months    
Process Technologies [Member] | Automobile Leases [Member]          
Operating Lease, Right-of-Use Asset $ 71   $ 71    
Increase (Decrease) in Operating Lease Liability     $ 71    
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Note 8 - Leases - Lease Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Operating lease cost $ 403 $ 317 $ 803 $ 643
Short-term lease cost $ 4 $ 14 $ 7 $ 44
Weighted average remaining lease term (in years) (Year) 4 years 8 months 12 days   4 years 8 months 12 days  
Weighted average discount rate 4.50%   4.50%  
Minimum [Member]        
Range of remaining lease terms (in years) (Year)     1 month 6 days  
Maximum [Member]        
Range of remaining lease terms (in years) (Year)     7 years 9 months 18 days  
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Note 8 - Leases - Maturities of Lease Liabilities (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
2023 (remainder) $ 974
2024 1,910
2025 1,010
2026 710
2027 706
Thereafter 945
Total lease payments 6,255
Less imputed interest (565)
Total $ 5,690
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Note 9 - Debt (Details Textual) - M&T Bank [Member] - USD ($)
$ in Thousands
Dec. 29, 2021
Oct. 28, 2021
Oct. 15, 2021
Jun. 30, 2023
Sep. 20, 2022
October 2021 Agreement [Member]          
Debt Instrument, Term (Year)     5 years    
Debt Instrument, Interest Rate in Event of Default     2.00%    
October 2021 Agreement [Member] | Revolving Credit Facility [Member]          
Line of Credit Facility, Maximum Borrowing Capacity     $ 10,000    
October 2021 Agreement [Member] | Term Note [Member]          
Debt Instrument, Face Amount     $ 25,000    
Debt Instrument, Draw Period (Year)     2 years    
Proceeds from Issuance of Long-term Debt, Total $ 8,500 $ 12,000      
Debt Instrument, Interest Rate, Effective Percentage   3.20%   7.20%  
Amended Loan Agreement [Member]          
Long-Term Line of Credit, Total       $ 0  
Amended Loan Agreement [Member] | Term Note [Member]          
Debt Instrument, Face Amount         $ 50,500
Debt Instrument, Unused Borrowing Capacity, Amount       $ 30,000  
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Note 9 - Debt - Outstanding Letters of Credit (Details) - Letter of Credit [Member] - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Dec. 31, 2022
Letters of Credit Amount Outstanding $ 100 $ 100
Mt Laurel [Member]    
Line of Credit, Issue Date Mar. 29, 2010  
Line of Credit, Expiration Date Apr. 30, 2024  
Lease Expiration Date Apr. 30, 2031  
Letters of Credit Amount Outstanding $ 50 50
Mansfield [Member]    
Line of Credit, Issue Date Oct. 27, 2010  
Line of Credit, Expiration Date Dec. 31, 2024  
Lease Expiration Date Dec. 31, 2024  
Letters of Credit Amount Outstanding $ 50 $ 50
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.23.2
Note 9 - Debt - Future Maturities of Long-term Debt (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
2023 (remainder) $ 2,050
2024 4,100
2025 4,100
2026 3,842
Long-Term Debt $ 14,092
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan (Details Textual) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 6 Months Ended
Mar. 08, 2023
Aug. 31, 2020
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Jun. 21, 2023
Share-based Payment Arrangement, Amount Capitalized     $ 0 $ 0 $ 0 $ 0  
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)         $ 9.43 $ 4.53  
Share-Based Payment Arrangement, Option [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)         10 years    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)         4 years    
Restricted Stock [Member]              
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)         97,461    
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value         $ 1,153 $ 436  
Restricted Stock [Member] | Employees [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)         4 years    
Restricted Stock [Member] | Independent Directors [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)         1 year    
Restricted Stock [Member] | Independent Directors [Member] | Share-Based Payment Arrangement, Tranche One [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage         25.00%    
Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage 100.00%            
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range 0.00%            
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range 150.00%            
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) 18,888            
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Value $ 303            
Restricted Stock [Member] | President of Environmental Technologies [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 3 years            
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range 0.00%            
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range 150.00%            
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) 5,081            
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Value $ 108            
The 2023 Stock Incentive Plan [Member]              
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)             350,000
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares)             1,117,942
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount     $ 4,127   $ 4,127    
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)         2 years 1 month 6 days    
Restricted Stock Vesting in Three Years [Member] | Restricted Stock [Member] | Vesting Based On Performance Metrics [Member]              
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage   100.00%          
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range   0.00%          
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range   150.00%          
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) - Restricted Stock [Member] - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Share-Based Payment Arrangement, Expense $ 605 $ 551 $ 1,079 $ 923
Cost of Sales [Member]        
Share-Based Payment Arrangement, Expense 29 15 48 26
Selling and Marketing Expense [Member]        
Share-Based Payment Arrangement, Expense 11 7 21 14
Research and Development Expense [Member]        
Share-Based Payment Arrangement, Expense 9 18 19 37
General and Administrative Expense [Member]        
Share-Based Payment Arrangement, Expense $ 556 $ 511 $ 991 $ 846
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) - Share-Based Payment Arrangement, Option [Member]
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Risk-free interest rate 3.93% 2.05%
Dividend yield 0.00% 0.00%
Expected common stock market price volatility factor 0.57% 0.55%
Weighted average expected life of stock options (years) (Year) 6 years 3 months 6 years 3 months
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details)
6 Months Ended
Jun. 30, 2023
$ / shares
shares
Options outstanding, number of shares (in shares) | shares 580,419
Options outstanding, weighted average exercise price (in dollars per share) | $ / shares $ 8.91
Granted, number of shares (in shares) | shares 93,860
Granted, weighted average exercise price (in dollars per share) | $ / shares $ 16.25
Exercised, number of shares (in shares) | shares (111,800)
Exercised, weighted average exercise price (in dollars per share) | $ / shares $ 8.05
Canceled, number of shares (in shares) | shares (23,859)
Canceled, weighted average exercise price (in dollars per share) | $ / shares $ 9.09
Options outstanding, number of shares (in shares) | shares 538,620
Options outstanding, weighted average exercise price (in dollars per share) | $ / shares $ 10.36
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) - shares
Jun. 30, 2023
Dec. 31, 2022
Options exercisable (in shares) 187,981 167,886
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.23.2
Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details) - Restricted Stock [Member]
6 Months Ended
Jun. 30, 2023
$ / shares
shares
Unvested shares outstanding (in shares) | shares 288,450
Unvested shares outstanding, weighted average exercise price (in dollars per share) | $ / shares $ 7.80
Granted, number of shares (in shares) | shares 97,461
Granted, weighted average exercise price (in dollars per share) | $ / shares $ 16.43
Vested, number of shares (in shares) | shares (57,559)
Vested, weighted average exercise price (in dollars per share) | $ / shares $ 10.99
Forfeited, number of shares (in shares) | shares (13,271)
Forfeited, weighted average exercise price (in dollars per share) | $ / shares $ 9.88
Unvested shares outstanding (in shares) | shares 315,081
Unvested shares outstanding, weighted average exercise price (in dollars per share) | $ / shares $ 9.72
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.23.2
Note 11 - Employee Stock Purchase Plan (Details Textual) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended 21 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 23, 2021
Stock Issued During Period, Value, Employee Stock Purchase Plan $ 49 $ 48 $ 65 $ 56        
Share Price (in dollars per share) $ 26.26 $ 20.74     $ 26.26   $ 26.26  
Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount         $ 14 $ 18    
Employee Stock Purchase Plan [Member]                
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)               250,000
Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares)         4,162 14,715 35,314  
Stock Issued During Period, Value, Employee Stock Purchase Plan         $ 97 $ 121 $ 379  
Share Price (in dollars per share)     $ 6.82 $ 10.73   $ 6.82    
Shares Issued, Price Per Share (in dollars per share) $ 22.32 $ 17.63 $ 5.80 $ 9.12 $ 22.32 $ 5.80 $ 22.32  
Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date         15.00% 15.00%    
Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount         $ 14 $ 18    
Share-Based Payment Arrangement, Expense             $ 57  
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.23.2
Note 12 - Employee Benefit Plans (Details Textual) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
401(k) Plan [Member]        
Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay     10.00%  
Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Emplyee Amount     $ 5  
Defined Contribution Plan Employer Matching Contribution Vesting Period (Year)     4 years  
Defined Contribution Plan, Employer Discretionary Contribution Amount $ 108 $ 134 $ 347 $ 350
The Ambrell Plan [Member]        
Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay     10.00%  
Defined Contribution Plan, Employer Discretionary Contribution Amount $ 91 $ 85 $ 224 $ 186
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent     100.00%  
Defined Contribution Plan, Employer Matching Contribution, Percent of Match     50.00%  
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount     $ 5  
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.23.2
Note 13 - Segment Information - Segment Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Net revenues $ 32,558 $ 29,571 $ 64,477 $ 53,652
Earnings before income tax expense 3,365 2,570 6,759 3,225
Earnings before income tax expense 3,365 2,570 6,759 3,225
Acquired intangible amortization (523) (765) (1,067) (1,547)
Interest expense 176 141 358 278
Other income (expense) 197 (17) 255 (27)
Operating Segments [Member]        
Net revenues 32,558 29,571 64,477 53,652
Earnings before income tax expense 6,176 5,832 12,443 9,251
Earnings before income tax expense 6,176 5,832 12,443 9,251
Operating Segments [Member] | Electronic Test [Member]        
Net revenues 10,993 9,797 21,364 18,575
Earnings before income tax expense 2,641 2,193 5,219 4,080
Earnings before income tax expense 2,641 2,193 5,219 4,080
Operating Segments [Member] | Environmental Technologies [Member]        
Net revenues 8,136 7,507 16,178 14,500
Earnings before income tax expense 943 1,070 1,956 1,872
Earnings before income tax expense 943 1,070 1,956 1,872
Operating Segments [Member] | Process Technologies [Member]        
Net revenues 13,429 12,267 26,935 20,577
Earnings before income tax expense 2,592 2,569 5,268 3,299
Earnings before income tax expense 2,592 2,569 5,268 3,299
Corporate, Non-Segment [Member]        
Earnings before income tax expense (2,309) (2,339) (4,514) (4,174)
Earnings before income tax expense $ (2,309) $ (2,339) $ (4,514) $ (4,174)
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.23.2
Note 13 - Segment Information - Identifiable Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Identifiable Assets $ 132,857 $ 110,066
Corporate, Non-Segment [Member]    
Identifiable Assets 29,428 4,017
Electronic Test [Member] | Operating Segments [Member]    
Identifiable Assets 30,245 31,143
Environmental Technologies [Member] | Operating Segments [Member]    
Identifiable Assets 18,080 18,040
Process Technologies [Member] | Operating Segments [Member]    
Identifiable Assets $ 55,104 $ 56,866
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.23.2
Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Revenue $ 32,558 $ 29,571 $ 64,477 $ 53,652
UNITED STATES        
Revenue 9,912 14,068 21,002 23,302
Non-US [Member]        
Revenue $ 22,646 $ 15,503 $ 43,475 $ 30,350
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.23.2
Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Property and Equipment $ 3,218 $ 3,132
UNITED STATES    
Property and Equipment 2,523 2,658
Non-US [Member]    
Property and Equipment $ 695 $ 474
XML 74 intt20230630_10q_htm.xml IDEA: XBRL DOCUMENT 0001036262 2023-01-01 2023-06-30 0001036262 2023-07-31 0001036262 2023-06-30 0001036262 2022-12-31 0001036262 2023-04-01 2023-06-30 0001036262 2022-04-01 2022-06-30 0001036262 2022-01-01 2022-06-30 0001036262 us-gaap:CommonStockMember 2022-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001036262 us-gaap:RetainedEarningsMember 2022-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2022-12-31 0001036262 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001036262 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0001036262 2023-01-01 2023-03-31 0001036262 us-gaap:CommonStockMember 2023-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001036262 us-gaap:RetainedEarningsMember 2023-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2023-03-31 0001036262 2023-03-31 0001036262 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001036262 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 2023-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2023-04-01 2023-06-30 0001036262 us-gaap:CommonStockMember 2023-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001036262 us-gaap:RetainedEarningsMember 2023-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2023-06-30 0001036262 us-gaap:CommonStockMember 2021-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001036262 us-gaap:RetainedEarningsMember 2021-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2021-12-31 0001036262 2021-12-31 0001036262 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001036262 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2022-01-01 2022-03-31 0001036262 2022-01-01 2022-03-31 0001036262 us-gaap:CommonStockMember 2022-03-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001036262 us-gaap:RetainedEarningsMember 2022-03-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001036262 us-gaap:TreasuryStockCommonMember 2022-03-31 0001036262 2022-03-31 0001036262 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001036262 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2022-04-01 2022-06-30 0001036262 us-gaap:CommonStockMember 2022-06-30 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001036262 us-gaap:RetainedEarningsMember 2022-06-30 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001036262 us-gaap:TreasuryStockCommonMember 2022-06-30 0001036262 2022-06-30 0001036262 intt:TermNoteMember 2023-01-01 2023-06-30 0001036262 intt:TermNoteMember 2022-01-01 2022-06-30 0001036262 intt:AttheMarketIssuanceSalesAgreementMember 2023-05-11 2023-05-11 0001036262 intt:BankGuaranteeOnCustomerOrderDepositMember 2023-06-30 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2018-05-31 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2022-03-31 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2023-06-30 0001036262 us-gaap:OtherCurrentLiabilitiesMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001036262 us-gaap:OtherCurrentLiabilitiesMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001036262 intt:AcculogicMember 2023-06-30 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel1Member 2023-06-30 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel2Member 2023-06-30 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel3Member 2023-06-30 0001036262 us-gaap:InterestRateSwapMember 2023-06-30 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2023-06-30 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2023-06-30 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2023-06-30 0001036262 intt:AcculogicMember 2022-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001036262 us-gaap:InterestRateSwapMember 2022-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2022-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2023-01-01 2023-06-30 0001036262 intt:ContingentConsiderationLiabilitiesMember 2023-06-30 0001036262 intt:ElectronicTestMember 2023-06-30 0001036262 intt:ElectronicTestMember 2022-12-31 0001036262 intt:EnvironmentalTechnologiesMember 2023-06-30 0001036262 intt:EnvironmentalTechnologiesMember 2022-12-31 0001036262 intt:ProcessTechnologiesMember 2023-06-30 0001036262 intt:ProcessTechnologiesMember 2022-12-31 0001036262 us-gaap:CustomerRelationshipsMember 2023-06-30 0001036262 us-gaap:PatentedTechnologyMember 2023-06-30 0001036262 us-gaap:PatentsMember 2023-06-30 0001036262 intt:CustomerBacklogMember 2023-06-30 0001036262 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001036262 us-gaap:TradeNamesMember 2023-06-30 0001036262 us-gaap:TrademarksMember 2023-06-30 0001036262 us-gaap:CustomerRelationshipsMember 2022-12-31 0001036262 us-gaap:PatentedTechnologyMember 2022-12-31 0001036262 us-gaap:PatentsMember 2022-12-31 0001036262 intt:CustomerBacklogMember 2022-12-31 0001036262 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001036262 us-gaap:TradeNamesMember 2022-12-31 0001036262 us-gaap:TrademarksMember 2022-12-31 0001036262 intt:EndUserMember 2023-04-01 2023-06-30 0001036262 intt:EndUserMember 2022-04-01 2022-06-30 0001036262 intt:EndUserMember 2023-01-01 2023-06-30 0001036262 intt:EndUserMember 2022-01-01 2022-06-30 0001036262 intt:OEMAndIntegratorsMember 2023-04-01 2023-06-30 0001036262 intt:OEMAndIntegratorsMember 2022-04-01 2022-06-30 0001036262 intt:OEMAndIntegratorsMember 2023-01-01 2023-06-30 0001036262 intt:OEMAndIntegratorsMember 2022-01-01 2022-06-30 0001036262 intt:ThermalTestingProductsMember 2023-04-01 2023-06-30 0001036262 intt:ThermalTestingProductsMember 2022-04-01 2022-06-30 0001036262 intt:ThermalTestingProductsMember 2023-01-01 2023-06-30 0001036262 intt:ThermalTestingProductsMember 2022-01-01 2022-06-30 0001036262 intt:ThermalProcessMember 2023-04-01 2023-06-30 0001036262 intt:ThermalProcessMember 2022-04-01 2022-06-30 0001036262 intt:ThermalProcessMember 2023-01-01 2023-06-30 0001036262 intt:ThermalProcessMember 2022-01-01 2022-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2023-04-01 2023-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2022-04-01 2022-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2023-01-01 2023-06-30 0001036262 intt:SemiconductorProductionTestProductsMember 2022-01-01 2022-06-30 0001036262 intt:VideoImagingMember 2023-04-01 2023-06-30 0001036262 intt:VideoImagingMember 2022-04-01 2022-06-30 0001036262 intt:VideoImagingMember 2023-01-01 2023-06-30 0001036262 intt:VideoImagingMember 2022-01-01 2022-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2023-04-01 2023-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2022-04-01 2022-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2023-01-01 2023-06-30 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2022-01-01 2022-06-30 0001036262 intt:ServiceAndOtherProductsMember 2023-04-01 2023-06-30 0001036262 intt:ServiceAndOtherProductsMember 2022-04-01 2022-06-30 0001036262 intt:ServiceAndOtherProductsMember 2023-01-01 2023-06-30 0001036262 intt:ServiceAndOtherProductsMember 2022-01-01 2022-06-30 0001036262 intt:SemiconductorMarketMember 2023-04-01 2023-06-30 0001036262 intt:SemiconductorMarketMember 2022-04-01 2022-06-30 0001036262 intt:SemiconductorMarketMember 2023-01-01 2023-06-30 0001036262 intt:SemiconductorMarketMember 2022-01-01 2022-06-30 0001036262 intt:IndustrialMarketMember 2023-04-01 2023-06-30 0001036262 intt:IndustrialMarketMember 2022-04-01 2022-06-30 0001036262 intt:IndustrialMarketMember 2023-01-01 2023-06-30 0001036262 intt:IndustrialMarketMember 2022-01-01 2022-06-30 0001036262 intt:AutomotiveMember 2023-04-01 2023-06-30 0001036262 intt:AutomotiveMember 2022-04-01 2022-06-30 0001036262 intt:AutomotiveMember 2023-01-01 2023-06-30 0001036262 intt:AutomotiveMember 2022-01-01 2022-06-30 0001036262 intt:DefenseAerospaceMember 2023-04-01 2023-06-30 0001036262 intt:DefenseAerospaceMember 2022-04-01 2022-06-30 0001036262 intt:DefenseAerospaceMember 2023-01-01 2023-06-30 0001036262 intt:DefenseAerospaceMember 2022-01-01 2022-06-30 0001036262 intt:LifeSciencesMember 2023-04-01 2023-06-30 0001036262 intt:LifeSciencesMember 2022-04-01 2022-06-30 0001036262 intt:LifeSciencesMember 2023-01-01 2023-06-30 0001036262 intt:LifeSciencesMember 2022-01-01 2022-06-30 0001036262 intt:SecurityMember 2023-04-01 2023-06-30 0001036262 intt:SecurityMember 2022-04-01 2022-06-30 0001036262 intt:SecurityMember 2023-01-01 2023-06-30 0001036262 intt:SecurityMember 2022-01-01 2022-06-30 0001036262 intt:OtherMultiMarketsMember 2023-04-01 2023-06-30 0001036262 intt:OtherMultiMarketsMember 2022-04-01 2022-06-30 0001036262 intt:OtherMultiMarketsMember 2023-01-01 2023-06-30 0001036262 intt:OtherMultiMarketsMember 2022-01-01 2022-06-30 0001036262 intt:TexasInstrumentsIncorporatedMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-06-30 0001036262 srt:MinimumMember 2023-01-01 2023-06-30 0001036262 srt:MaximumMember 2023-01-01 2023-06-30 0001036262 intt:EnvironmentalTechnologiesInGermanyMember 2023-06-30 0001036262 intt:EnvironmentalTechnologiesInGermanyMember 2023-01-01 2023-06-30 0001036262 intt:ProcessTechnologiesMember intt:AutomobileLeaseOneMember 2023-06-30 0001036262 intt:ProcessTechnologiesMember intt:AutomobileLeaseTwoMember 2023-06-30 0001036262 intt:ProcessTechnologiesMember intt:AutomobileLeasesMember 2023-06-30 0001036262 intt:ProcessTechnologiesMember intt:AutomobileLeasesMember 2023-01-01 2023-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2023-01-01 2023-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2023-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2022-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2023-01-01 2023-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2023-06-30 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2022-12-31 0001036262 us-gaap:LetterOfCreditMember 2023-06-30 0001036262 us-gaap:LetterOfCreditMember 2022-12-31 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-15 0001036262 us-gaap:RevolvingCreditFacilityMember intt:October2021AgreementMember intt:MTBankMember 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember 2021-10-15 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-15 2021-10-15 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2022-09-20 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2023-06-30 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember 2023-06-30 0001036262 intt:October2021AgreementMember intt:MTBankMember 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-28 2021-10-28 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-28 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-12-29 2021-12-29 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2023-06-30 0001036262 intt:The2023StockIncentivePlanMember 2023-06-21 0001036262 intt:The2023StockIncentivePlanMember 2023-06-30 0001036262 intt:The2023StockIncentivePlanMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:CostOfSalesMember 2023-04-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:CostOfSalesMember 2022-04-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:CostOfSalesMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:CostOfSalesMember 2022-01-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:SellingAndMarketingExpenseMember 2023-04-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:SellingAndMarketingExpenseMember 2022-04-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:GeneralAndAdministrativeExpenseMember 2023-04-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:GeneralAndAdministrativeExpenseMember 2022-04-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember 2023-04-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember 2022-04-01 2022-06-30 0001036262 us-gaap:RestrictedStockMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember 2022-01-01 2022-06-30 0001036262 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-06-30 0001036262 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-06-30 0001036262 intt:EmployeesMember us-gaap:RestrictedStockMember 2023-01-01 2023-06-30 0001036262 intt:IndependentDirectorsMember us-gaap:RestrictedStockMember 2023-01-01 2023-06-30 0001036262 intt:IndependentDirectorsMember us-gaap:RestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-06-30 0001036262 us-gaap:RestrictedStockMember intt:RestrictedStockVestingInThreeYearsMember intt:VestingBasedOnPerformanceMetricsMember 2020-08-01 2020-08-31 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember us-gaap:RestrictedStockMember 2023-03-08 2023-03-08 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember us-gaap:RestrictedStockMember 2023-03-08 2023-03-08 0001036262 us-gaap:RestrictedStockMember 2022-12-31 0001036262 us-gaap:RestrictedStockMember 2023-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2021-06-23 0001036262 intt:EmployeeStockPurchasePlanMember 2023-01-01 2023-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2023-03-31 0001036262 intt:EmployeeStockPurchasePlanMember 2023-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2022-01-01 2022-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2022-03-31 0001036262 intt:EmployeeStockPurchasePlanMember 2022-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2021-10-01 2023-06-30 0001036262 intt:The401KPlanMember 2023-01-01 2023-06-30 0001036262 intt:The401KPlanMember 2023-04-01 2023-06-30 0001036262 intt:The401KPlanMember 2022-04-01 2022-06-30 0001036262 intt:The401KPlanMember 2022-01-01 2022-06-30 0001036262 intt:TheAmbrellPlanMember 2023-01-01 2023-06-30 0001036262 intt:TheAmbrellPlanMember 2023-04-01 2023-06-30 0001036262 intt:TheAmbrellPlanMember 2022-04-01 2022-06-30 0001036262 intt:TheAmbrellPlanMember 2022-01-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2023-04-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2022-04-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2023-01-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2022-01-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2023-04-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2022-04-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2023-01-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2022-01-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2023-04-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2022-04-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2023-01-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2022-01-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember 2023-04-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember 2022-04-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember 2023-01-01 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember 2022-01-01 2022-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2023-04-01 2023-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2022-04-01 2022-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2022-01-01 2022-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2022-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2022-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2023-06-30 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2022-12-31 0001036262 us-gaap:CorporateNonSegmentMember 2023-06-30 0001036262 us-gaap:CorporateNonSegmentMember 2022-12-31 0001036262 country:US 2023-04-01 2023-06-30 0001036262 country:US 2022-04-01 2022-06-30 0001036262 country:US 2023-01-01 2023-06-30 0001036262 country:US 2022-01-01 2022-06-30 0001036262 us-gaap:NonUsMember 2023-04-01 2023-06-30 0001036262 us-gaap:NonUsMember 2022-04-01 2022-06-30 0001036262 us-gaap:NonUsMember 2023-01-01 2023-06-30 0001036262 us-gaap:NonUsMember 2022-01-01 2022-06-30 0001036262 country:US 2023-06-30 0001036262 country:US 2022-12-31 0001036262 us-gaap:NonUsMember 2023-06-30 0001036262 us-gaap:NonUsMember 2022-12-31 0001036262 intt:AssetMember 2023-01-01 2023-06-30 shares iso4217:USD iso4217:USD shares pure iso4217:EUR utr:Y utr:M thunderdome:item 0001036262 INTEST CORP false --12-31 Q2 2023 501000 496000 0.01 0.01 5000000 5000000 0 0 0 0 0.01 0.01 20000000 20000000 12185220 11063271 38514 34308 3 1 90000 71000 2010-03-29 2024-04-30 2031-04-30 2010-10-27 2024-12-31 2024-12-31 P5Y P2Y 0 0 0 0 P10Y P4Y 0.0057 0.0055 167886 187981 P4Y P1Y P3Y P4Y 10-Q true 2023-06-30 false 1-36117 DE 22-2370659 804 East Gate Drive, Suite 200 Mt. Laurel NJ 08054 856 505-8800 Common Stock, par value $0.01 per share INTT NYSE Yes Yes Non-accelerated Filer true false false 12157456 37435000 13434000 0 1142000 21581000 21215000 23070000 22565000 1495000 1695000 83581000 60051000 6779000 6625000 3520000 3242000 10299000 9867000 7081000 6735000 3218000 3132000 5177000 5770000 21707000 21605000 17613000 18559000 965000 280000 100000 100000 496000 569000 132857000 110066000 4100000 4100000 1731000 1645000 5735000 7394000 3570000 3907000 1010000 884000 5176000 4498000 1202000 1468000 1184000 1409000 1660000 1564000 25368000 26869000 3959000 4705000 9992000 12042000 1063000 1039000 411000 455000 40793000 45110000 0 0 122000 111000 53296000 31987000 38464000 32854000 470000 218000 288000 214000 92064000 64956000 132857000 110066000 32558000 29571000 64477000 53652000 17528000 16023000 34395000 29091000 15030000 13548000 30082000 24561000 4661000 4033000 9116000 7489000 1983000 1859000 3887000 3783000 5042000 4928000 10217000 9759000 11686000 10820000 23220000 21031000 3344000 2728000 6862000 3530000 176000 141000 358000 278000 197000 -17000 255000 -27000 3365000 2570000 6759000 3225000 572000 454000 1149000 532000 2793000 2116000 5610000 2693000 0.25 0.20 0.51 0.25 11241183 10653268 10998456 10635270 0.24 0.20 0.49 0.25 11696569 10814799 11392617 10828696 2793000 2116000 5610000 2693000 28000 99000 -71000 409000 153000 -702000 323000 -839000 2974000 1513000 5862000 2263000 11063271 111000 31987000 32854000 218000 -214000 64956000 0 0 2817000 0 0 2817000 0 0 0 71000 0 71000 0 474000 0 0 0 474000 90588 1000 -1000 0 0 0 0 13271 0 0 0 0 0 0 25200 0 165000 0 0 0 165000 2292 0 48000 0 0 0 48000 -0 -0 -0 -0 33000 33000 11168080 112000 32673000 35671000 289000 -247000 68498000 0 0 2793000 0 0 2793000 0 0 0 181000 0 181000 0 605000 0 0 0 605000 6873 0 0 0 0 0 0 86600 1000 734000 0 0 0 735000 1870 0 49000 0 0 0 49000 -0 -0 -0 -0 41000 41000 921797 9000 19235000 0 0 0 19244000 12185220 122000 53296000 38464000 470000 -288000 92064000 10910460 109000 29931000 24393000 594000 -204000 54823000 0 0 577000 0 0 577000 0 0 0 173000 0 173000 0 372000 0 0 0 372000 79489 1000 -1000 0 0 0 0 5245 0 56000 0 0 0 56000 10995194 110000 30358000 24970000 767000 -204000 56001000 0 0 2116000 0 0 2116000 0 0 0 -603000 0 -603000 0 551000 0 0 0 551000 44044 0 0 0 0 0 0 -0 -0 -0 -0 10000 10000 9470 0 65000 0 0 0 65000 11048708 110000 30974000 27086000 164000 -214000 58120000 5610000 2693000 2350000 2528000 266000 230000 47000 -98000 1079000 923000 14000 18000 -98000 -61000 -685000 -805000 372000 6607000 693000 4894000 -212000 87000 -2000 395000 -849000 -701000 -1607000 3506000 -351000 -981000 117000 -471000 625000 -264000 -266000 219000 -220000 -477000 76000 264000 -17000 61000 5342000 -5081000 0 371000 709000 708000 -0 3477000 -709000 -3814000 19244000 0 2050000 1908000 83000 103000 900000 0 74000 10000 18103000 -1815000 123000 58000 22859000 -10652000 14576000 21195000 37435000 10543000 2060000 1865000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">1</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>NATURE OF OPERATIONS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing across a wide range of markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We have <span style="-sec-ix-hidden:c101528478">three</span> operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">The consolidated entity is comprised of inTEST Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Germany, Singapore, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">All of our operating segments have multiple products that we design, manufacture and market to our customers. Due to a number of factors, our products have varying levels of gross margin. The mix of products we sell in any period is ultimately determined by our customers’ needs. Therefore, the mix of products sold in any given period can change significantly from the prior period. In addition, we sell our products to a variety of different types of customers with varying levels of discounts and commission expense. As a result of changes in both the mix of products sold as well as customer mix in any given period, our consolidated gross margin can vary significantly from period to period.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">The semiconductor market (“semi” or the “semi market”) which includes both the broader semiconductor market, as well as the more specialized automated test equipment (“ATE”) and wafer production sectors within the broader semiconductor market, has historically been the largest single market in which we operate. The semi market is characterized by rapid technological change, competitive pricing pressures and cyclical as well as seasonal market patterns. The semi market is also subject to periods of significant expansion or contraction in demand. In addition to the semi market, we sell into a variety of other markets. Our intention is to continue diversifying our markets, our product offerings within the markets we serve and our customer base across all of our markets with the goal of reducing our dependence on any <em style="font: inherit;">one</em> market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">Our Electronic Test segment sells its products to semiconductor manufacturers and <em style="font: inherit;">third</em>-party test and assembly houses (end user sales) and to ATE manufacturers (original equipment manufacturer (“OEM”) sales), who ultimately resell our equipment with theirs to both semiconductor manufacturers and <em style="font: inherit;">third</em>-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the acquisition of Acculogic Inc. and its affiliates (“Acculogic”) in <em style="font: inherit;"> December 2021, </em>our Electronic Test segment also sells its products to customers in markets outside the semi market including the automotive, defense/aerospace, industrial and life sciences markets. Our Environmental Technologies segment sells its products to end users and OEMs within the ATE sector of the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the automotive, defense/aerospace, industrial and life sciences markets. Our Process Technologies segment sells its products to customers in the wafer production sector within the semi market. It also sells its products to customers in a variety of other markets other than the semi market, including the automotive, defense/aerospace, industrial, life sciences and security markets.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">Our financial results are affected by a wide variety of factors, including, but <em style="font: inherit;">not</em> limited to, general economic conditions worldwide and in the markets in which we operate, economic conditions specific to the semi market and the other markets we serve, downward pricing pressures from customers, our reliance on a relatively few number of customers for a significant portion of our sales and our ability to safeguard patented technology and intellectual property in a rapidly evolving market. In addition, we are exposed to the risk of obsolescence of our inventory depending on the mix of future business and technological changes within the markets that we serve. Part of our strategy for growth includes potential acquisitions that <em style="font: inherit;"> may </em>cause us to incur substantial expense in reviewing and evaluating potential transactions. We <em style="font: inherit;"> may </em>or <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be able to successfully integrate any business we do acquire with our existing business and we <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be able to operate the acquired business profitably. As a result of these or other factors, we <em style="font: inherit;"> may </em>experience significant period-to-period fluctuations in future operating results.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;">On <em style="font: inherit;"> May 11, 2023, </em>we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20,000 between <em style="font: inherit;"> May 11, 2023 </em>and <em style="font: inherit;"> May 31, 2023. </em>We received net proceeds from the sale of these shares of $19,244 after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 921797 20000 19244 0.030 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">2</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Basis of Presentation and Use of Estimates</span></i></b><br/> <br/> The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated upon consolidation. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America ("U.S. GAAP") requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Certain of our accounts, including contingent consideration, inventories, long-lived assets, goodwill, identifiable intangibles and deferred tax assets and liabilities, including related valuation allowances, are particularly impacted by estimates.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">In the opinion of management, the accompanying unaudited consolidated financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the financial position, results of operations, and changes in cash flows for the interim periods presented. Certain footnote information has been condensed or omitted from these consolidated financial statements. Therefore, these consolidated financial statements should be read in conjunction with the consolidated financial statements and accompanying footnotes included in our Form <em style="font: inherit;">10</em>-K for the year ended <em style="font: inherit;"> December 31, 2022 (</em>the <em style="font: inherit;">“2022</em> Form <em style="font: inherit;">10</em>-K”) filed on <em style="font: inherit;"> March 22, 2023 </em>with the Securities and Exchange Commission.<br/>  </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Reclassification</span></i></b><br/> <br/> Certain prior period amounts have been reclassified to be comparable with the current period's presentation. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Subsequent Events</span></i></b><br/> <br/> We have made an assessment of our operations and determined that there were <em style="font: inherit;">no</em> material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Business Combinations</span></i></b><br/> <br/> Acquired businesses are accounted for using the purchase method of accounting, which requires that the purchase price be allocated to the net assets acquired at their respective fair values. Any excess of the purchase price over the estimated fair values of the net assets acquired is recorded as goodwill. Fair values of intangible assets are estimated by valuation models prepared by our management and <em style="font: inherit;">third</em>-party advisors. The assets purchased and liabilities assumed have been reflected in our consolidated balance sheets, and the operating results are included in the consolidated statements of operations and consolidated statements of cash flows from the date of acquisition. Any change in the fair value of acquisition-related contingent consideration subsequent to the acquisition date, including changes from events after the acquisition date, will be recognized in the consolidated statement of operations in the period of the estimated fair value change. Acquisition-related transaction costs, including legal and accounting fees and other external costs directly related to the acquisition, are recognized separately from the acquisition and expensed as incurred in general and administrative expense in the consolidated statements of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 50pt;"><b><i><span style="text-decoration: underline; ">Cash, Cash Equivalents and Restricted Cash</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 50pt;">Short-term investments that have maturities of <em style="font: inherit;">three</em> months or less when purchased are considered to be cash equivalents and are carried at cost, which approximates fair value. Our cash balances, which are deposited with highly reputable financial institutions, at times <em style="font: inherit;"> may </em>exceed the federally insured limits. We have <em style="font: inherit;">not</em> experienced any losses related to these cash balances and believe the credit risk to be minimal.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 50pt;">Restricted cash at <em style="font: inherit;"> December 31, 2022 </em>represented amounts deposited at our bank in the Netherlands to support a bank guarantee which <em style="font: inherit;">one</em> of the customers of our Process Technologies segment required as a condition of paying a deposit on a large order they placed with us in <em style="font: inherit;">2022.</em> The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At <em style="font: inherit;"> June 30, 2023 </em>this deposit had been fully utilized and the bank guarantee had therefore lapsed. At <em style="font: inherit;"> December 31, 2022, </em>the amount of the deposit, and, accordingly, the guarantee, was EUR 1,067, or $1,142.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 50pt;">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets and the consolidated statements of cash flows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">37,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total cash, cash equivalents and restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Trade Accounts Receivable and Allowance for Credit Losses</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Trade accounts receivable are recorded at the invoiced amount and do <em style="font: inherit;">not</em> bear interest. We grant credit to customers and generally require <em style="font: inherit;">no</em> collateral. To minimize our risk, we perform ongoing credit evaluations of our customers' financial condition. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective <em style="font: inherit;"> January 1, 2023, </em>we follow the guidance in Accounting Standards Codification (“ASC”) Topic <em style="font: inherit;">326</em> (Financial Instruments – Credit Losses) in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. In establishing the amount of allowance for credit losses, we consider all information available as of the reporting date including information related to past events, such as historical loss rates and actual incurred losses, as well as current conditions that <em style="font: inherit;"> may </em>indicate future risk of loss and any other factors of which we are aware, that we believe could impact the ultimate collectability of the related receivables in future periods.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Account balances are charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. We do <em style="font: inherit;">not</em> have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">For the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023, </em>there were <em style="font: inherit;">no</em> significant changes in the amount of the allowance for credit losses. During the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023, </em>we recorded a bad debt recovery of $79. This amount had been fully written off prior to our acquisition of Acculogic and was <em style="font: inherit;">no</em> longer in our accounts receivable balance. There was no bad debt expense or recovery recorded during the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Fair Value of Financial Instruments</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Our financial instruments include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, accrued expenses, our credit facility, interest rate swaps and our liabilities for contingent consideration. Our cash and cash equivalents, accounts receivable, accounts payable and accrued expenses are carried at cost which approximates fair value, due to the short maturities of the accounts. Our short-term investments are classified as held-to-maturity and carried at amortized cost. Our credit facility and our interest rate swap are discussed further below and in Note <em style="font: inherit;">9.</em> Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC Topic <em style="font: inherit;">820</em> (Fair Value Measurement). ASC Topic <em style="font: inherit;">820</em> establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Our contingent consideration liabilities are measured at fair value on a recurring basis using Level <em style="font: inherit;">3</em> inputs which are inputs that are unobservable and significant to the overall fair value measurement. These unobservable inputs reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances. See Note <em style="font: inherit;">3</em> for further disclosures related to the fair value of our liabilities for contingent consideration.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Goodwill, Intangible and Long-Lived Assets</span></i></b><br/> <br/> We have <em style="font: inherit;">three</em> reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We account for goodwill and intangible assets in accordance with ASC Topic <em style="font: inherit;">350</em> (Intangibles - Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. Goodwill is assessed for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill <em style="font: inherit;"> may </em>be impaired. Goodwill is considered to be impaired if the fair value of a reporting unit is less than its carrying amount. As a part of the goodwill impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount. If, as a result of our qualitative assessment, we determine that it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is <em style="font: inherit;">not</em> required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, or, if we choose <em style="font: inherit;">not</em> to perform a qualitative assessment, we are required to perform a quantitative goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The quantitative goodwill impairment test compares the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered <em style="font: inherit;">not</em> impaired. If the carrying amount of a reporting unit exceeds its fair value, an impairment loss will be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. The goodwill impairment assessment is based upon the income approach, which estimates the fair value of our reporting units based upon a discounted cash flow approach. This fair value is then reconciled to our market capitalization at year end with an appropriate control premium. The determination of the fair value of our reporting units requires management to make significant estimates and assumptions including the selection of control premiums, discount rates, terminal growth rates, forecasts of revenue and expense growth rates, income tax rates, changes in working capital, depreciation, amortization and capital expenditures. Changes in assumptions concerning future financial results or other underlying assumptions could have a significant impact on either the fair value of the reporting unit or the amount of the goodwill impairment charge.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> quarter, or more frequently if events or changes in circumstances indicate that the asset might be impaired. As a part of the impairment assessment, we have the option to perform a qualitative assessment to determine whether it is more likely than <em style="font: inherit;">not</em> that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, <em style="font: inherit;">no</em> further testing is required. The quantitative impairment test consists of a comparison of the fair value of the intangible asset with its carrying amount. If the carrying amount of the intangible asset exceeds its fair value, an impairment loss is recognized in an amount equal to that excess.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Long-lived assets, which consist of finite-lived intangible assets, property and equipment and right-of-use (“ROU”) assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be fully recoverable or that the useful lives of these assets are <em style="font: inherit;">no</em> longer appropriate. Each impairment test is based on a comparison of the estimated undiscounted cash flows to the recorded value of the asset group. If impairment is indicated, the asset group is written down to its estimated fair value. The cash flow estimates used to determine the impairment, if any, contain management's best estimates using appropriate assumptions and projections at that time. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Revenue Recognition</span></i></b><br/> <br/> We recognize revenue in accordance with the guidance in ASC Topic <em style="font: inherit;">606</em> (Revenue from Contracts with Customers). We recognize revenue for the sale of products or services when our performance obligations under the terms of a contract with a customer are satisfied and control of the product or service has been transferred to the customer. Generally, this occurs when we ship a product or perform a service. In certain cases, recognition of revenue is deferred until the product is received by the customer or at some other point in the future when we have determined that we have satisfied our performance obligations under the contract. Our contracts with customers <em style="font: inherit;"> may </em>include a combination of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In addition to the sale of products and services, we also lease certain of our equipment to customers under short-term lease agreements. We recognize revenue from equipment leases on a straight-line basis over the lease term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. We do <em style="font: inherit;">not</em> have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net <em style="font: inherit;">30</em> to net <em style="font: inherit;">90</em> days. We generally do <em style="font: inherit;">not</em> provide a right of return to our customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><i>Nature of Products and Services</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) precision induction heating systems, including EKOHEAT® and EASYHEAT<sup style="vertical-align:top;line-height:120%;">TM</sup> products. As a result of the acquisition of Videology, we sell industrial-grade circuit board mounted video digital cameras and related devices, systems and software. We sell semiconductor ATE interface solutions which include manipulators, docking hardware and electrical interface products. As a result of the acquisition of Acculogic, we sell robotics-based electronic production test equipment. We provide post-warranty service and support for the equipment we sell. We sell semiconductor ATE interface solutions and certain thermal management products to the semi market. We also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and security markets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We lease certain of our equipment under short-term leasing agreements with original lease terms of <em style="font: inherit;">six</em> months or less. Our lease agreements do <em style="font: inherit;">not</em> contain purchase options.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><i>Types of Contracts with Customers</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Our contracts with customers are generally structured as individual purchase orders which specify the exact products or services being sold or equipment being leased along with the selling price, service fee or monthly lease amount for each individual item on the purchase order. Payment terms and any other customer-specific acceptance criteria are also specified on the purchase order. We generally do <em style="font: inherit;">not</em> have any customer-specific acceptance criteria, other than that the product performs within the agreed upon specifications. We test substantially all products manufactured as part of our quality assurance process to determine that they comply with specifications prior to shipment to a customer.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><i>Contract Balances</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We record accounts receivable at the time of invoicing. Accounts receivable, net of the allowance for credit losses, is included in current assets on our balance sheet. To the extent that we do <em style="font: inherit;">not</em> recognize revenue at the same time as we invoice, we record a liability for deferred revenue. In certain instances, we also receive customer deposits in advance of invoicing and recording of accounts receivable. Deferred revenue and customer deposits are included in current liabilities on our consolidated balance sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">As discussed above, we follow the guidance in ASC Topic <em style="font: inherit;">326</em> in developing our estimate of the allowance for credit losses related to our accounts receivable. The allowance for credit losses is our best estimate of the amount of expected credit losses in our existing accounts receivable. We monitor the collectability of accounts receivable on an ongoing basis and record charges for bad debt expense in the period when we determine that a loss is expected to occur based on our assessment.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><i>Costs to Obtain a Contract with a Customer</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or <em style="font: inherit;">third</em>-party sales representatives. These costs are calculated based on set percentages of the selling price of each product or service sold. Commissions are considered earned by our internal sales personnel at the time we recognize revenue for a particular transaction. Commissions are considered earned by <em style="font: inherit;">third</em>-party sales representatives at the time that revenue is recognized for a particular transaction. We record commission expense in our consolidated statements of operations at the time the commission is earned. Commissions earned but <em style="font: inherit;">not</em> yet paid are included in current liabilities on our balance sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><i>Product Warranties</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">In connection with the sale of our products, we generally provide standard <em style="font: inherit;">one</em>- or <em style="font: inherit;">two</em>-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are <em style="font: inherit;">not</em> offered for sale separately from our products; therefore, there is <em style="font: inherit;">not</em> a separate performance obligation related to our standard warranties. We record estimated warranty expense for our standard warranties at the time of sale based upon historical claims experience. We offer customers an option to separately purchase an extended warranty on certain products. In the case of extended warranties, we recognize revenue in the amount of the sale price for the extended warranty on a straight-line basis over the extended warranty period. We record costs incurred to provide service under an extended warranty at the time the service is provided. Warranty expense is included in selling expense in our consolidated statements of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">See Notes <em style="font: inherit;">5</em> and <em style="font: inherit;">13</em> for further information about our revenue from contracts with customers.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Inventories</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Inventories are valued at cost on a <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out basis, <em style="font: inherit;">not</em> in excess of net realizable value. Cash flows from the sale of inventories are recorded in operating cash flows. On a quarterly basis, we review our inventories and record excess and obsolete inventory charges based upon our established objective excess and obsolete inventory criteria. Our criteria identify excess material as the quantity of material on hand that is greater than the average annual usage of that material over the prior <em style="font: inherit;">three</em> years. Our criteria identify obsolete material as material that has <em style="font: inherit;">not</em> been used in a work order during the prior <em style="font: inherit;">twenty-four</em> months. In certain cases, additional excess and obsolete inventory charges are recorded based upon current market conditions, anticipated product life cycles, new product introductions and expected future use of the inventory. The excess and obsolete inventory charges we record establish a new cost basis for the related inventories. We incurred excess and obsolete inventory charges of $266 and $230 for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Leases</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We account for leases in accordance with ASC Topic <em style="font: inherit;">842</em> (Leases). We determine if an arrangement is a lease at inception. A lease contract is within scope if the contract has an identified asset (property, plant or equipment) and grants the lessee the right to control the use of the asset during the lease term. The identified asset <em style="font: inherit;"> may </em>be either explicitly or implicitly specified in the contract. In addition, the supplier must <em style="font: inherit;">not</em> have any practical ability to substitute a different asset and would <em style="font: inherit;">not</em> economically benefit from doing so for the lease contract to be in scope. The lessee’s right to control the use of the asset during the term of the lease must include the ability to obtain substantially all of the economic benefits from the use of the asset as well as decision-making authority over how the asset will be used. Leases are classified as either operating leases or finance leases based on the guidance in ASC Topic <em style="font: inherit;">842.</em> Operating leases are included in operating lease ROU assets and operating lease liabilities in our consolidated balance sheets. Finance leases are included in property and equipment and financing lease liabilities. We do <em style="font: inherit;">not</em> currently have any financing leases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized at commencement date based on the present value of lease payments over the lease term. <em style="font: inherit;">None</em> of our leases provide an implicit rate; therefore, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. The operating lease ROU asset also includes any lease payments made and excludes lease incentives. Our lease terms <em style="font: inherit;"> may </em>include options to extend or terminate the lease. We include these options in the determination of the amount of the ROU asset and lease liability when it is reasonably certain that we will exercise that option. Lease expense for lease payments is recognized on a straight-line basis over the lease term. Certain of our operating leases contain predetermined fixed escalations of minimum rentals and rent holidays during the original lease terms. Rent holidays are periods during which we have control of the leased facility but are <em style="font: inherit;">not</em> obligated to pay rent. For these leases, our ROU asset and lease liability are calculated including any rent holiday in the determination of the life of the lease.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We have lease agreements which contain both lease and non-lease components, which are generally accounted for separately. In addition to the monthly rental payments due, most of our leases for our offices and warehouse facilities include non-lease components representing our portion of the common area maintenance, property taxes and insurance charges incurred by the landlord for the facilities which we occupy. These amounts are <em style="font: inherit;">not</em> included in the calculation of the ROU assets and lease liabilities as they are based on actual charges incurred in the periods to which they apply.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Operating lease payments are included in cash outflows from operating activities on our consolidated statements of cash flows. Amortization of ROU assets is presented separately from the change in operating lease liabilities and is included in Depreciation and Amortization on our consolidated statements of cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We have made an accounting policy election <em style="font: inherit;">not</em> to apply the recognition requirements of ASC Topic <em style="font: inherit;">842</em> to short-term leases (leases with a term of <em style="font: inherit;">one</em> year or less at the commencement date of the lease). Lease expense for short-term lease payments is recognized on a straight-line basis over the lease term.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">See Note <em style="font: inherit;">8</em> for further disclosures regarding our leases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Interest Rate Swap Agreement</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We are exposed to interest rate risk on our floating-rate debt. We have entered into an interest rate swap agreement to effectively convert our floating-rate debt to a fixed-rate basis for a portion of our floating rate debt, as discussed further in Notes <em style="font: inherit;">3</em> and <em style="font: inherit;">9.</em> The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with our floating-rate debt, thus reducing the impact of interest rate changes on future interest payment cash flows. We have elected to apply the hedge accounting rules in accordance with ASC Topic <em style="font: inherit;">815</em> (Derivatives and Hedging). Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. Changes in the fair value of interest rate swap agreements designated as cash flow hedges are recorded as a component of accumulated other comprehensive income (loss) within stockholders’ equity and are amortized to interest expense over the term of the related debt. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Contingent Liability for Repayment of State and Local Grant Funds Received </span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 52pt;">In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell, occupied in <em style="font: inherit;"> May 2018, </em>we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $550 to help offset a portion of the cost of the leasehold improvements we made to this facility. The final payment of $87 was received during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2022. </em>In exchange for the funds we received under these agreements, we are required to create and maintain specified levels of employment in this location through various dates ending in <em style="font: inherit;">2024.</em> If we fail to meet these employment targets, we <em style="font: inherit;"> may </em>be required to repay a proportionate share of the proceeds. At <em style="font: inherit;"> June 30, 2023, </em>$193 of the total proceeds received could still be required to be repaid if we do <em style="font: inherit;">not</em> meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are <em style="font: inherit;">no</em> longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the remaining lease term for the Rochester facility. Deferred grant proceeds are included in other current liabilities and other liabilities on our balance sheet and totaled $273 at <em style="font: inherit;"> June 30, 2023. </em>At <em style="font: inherit;"> June 30, 2023, </em>we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Stock-Based Compensation</span></i></b><br/> <br/> We account for stock-based compensation in accordance with ASC Topic <em style="font: inherit;">718</em> (Compensation - Stock Compensation) which requires that employee share-based equity awards be accounted for under the fair value method and requires the use of an option pricing model for estimating fair value of stock options, which is then amortized to expense over the service periods. See further disclosures related to our stock-based compensation plans in Note <em style="font: inherit;">10.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Income Taxes</span></i></b><br/> <br/> The asset and liability method is used in accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for operating loss and tax credit carryforwards and for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. 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 the results of operations in the period that includes the enactment date. A valuation allowance is recorded to reduce the carrying amounts of deferred tax assets if it is more likely than <em style="font: inherit;">not</em> that such assets will <em style="font: inherit;">not</em> be realized.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Earnings Per Common Share</span></i></b><br/> <br/> Earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Earnings per common share - diluted is computed by dividing earnings by the weighted average number of common shares and common share equivalents outstanding during each period. Common share equivalents represent unvested shares of restricted stock and stock options and are calculated using the treasury stock method. Common share equivalents are excluded from the calculation if their effect is anti-dilutive.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">The table below sets forth, for the periods indicated, a reconciliation of weighted average common shares outstanding - basic to weighted average common shares and common share equivalents outstanding - diluted and the average number of potentially dilutive securities that were excluded from the calculation of diluted earnings per share because their effect was anti-dilutive:</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average common shares outstanding - basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,241,183</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,653,268</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,998,456</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,635,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Potentially dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;">Unvested shares of restricted stock and employee stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">455,386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">161,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">394,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">193,426</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;">Weighted average common shares and common share equivalents outstanding - diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,696,569</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,814,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,392,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,828,696</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;">Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">96,661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">608,322</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">125,545</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">477,448</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Effect of Recently Adopted Amendments to Authoritative Accounting Guidance</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 52pt;">In <em style="font: inherit;"> June 2016, </em>the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In <em style="font: inherit;"> November 2019, </em>the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after <em style="font: inherit;"> December 15, 2022. </em>The amendments replaced the incurred loss impairment methodology under current GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the <em style="font: inherit;">first</em> reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on <em style="font: inherit;"> January 1, 2023. </em>The adoption of these amendments did <em style="font: inherit;">not</em> have any impact on our consolidated financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 1067000 1142000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">37,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total cash, cash equivalents and restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,435</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 37435000 13434000 0 1142000 37435000 14576000 79000 0 266000 230000 550000 87000 193000 273000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average common shares outstanding - basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,241,183</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,653,268</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,998,456</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,635,270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Potentially dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;">Unvested shares of restricted stock and employee stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">455,386</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">161,531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">394,161</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">193,426</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;">Weighted average common shares and common share equivalents outstanding - diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,696,569</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,814,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,392,617</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,828,696</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;">Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">96,661</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">608,322</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">125,545</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">477,448</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 11241183 10653268 10998456 10635270 455386 161531 394161 193426 11696569 10814799 11392617 10828696 96661 608322 125545 477448 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">3</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>FAIR VALUE MEASUREMENTS </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">ASC Topic <em style="font: inherit;">820</em> (Fair Value Measurement) establishes a fair value hierarchy for instruments measured at fair value that distinguishes between assumptions based on market data (observable inputs) and our own assumptions (unobservable inputs). Observable inputs are inputs that market participants would use in pricing the asset or liability based on market data obtained from sources independent of us. Unobservable inputs are inputs that reflect our assumptions about the inputs that market participants would use in pricing the asset or liability and are developed based on the best information available in the circumstances.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">ASC <em style="font: inherit;">820</em> identifies fair value as the exchange price, or exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As a basis for considering market participant assumptions in fair value measurements, ASC <em style="font: inherit;">820</em> establishes a <em style="font: inherit;">three</em>-tier fair value hierarchy that distinguishes among the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">Level <em style="font: inherit;">1</em> Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">Level <em style="font: inherit;">2</em> Valuations based on quoted prices for similar assets or liabilities in active markets, quoted prices for identical or similar assets or liabilities in markets that are <em style="font: inherit;">not</em> active and models for which all significant inputs are observable, either directly or indirectly.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">Level <em style="font: inherit;">3</em> Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">To the extent that the valuation is based on models or inputs that are less observable or unobservable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised by us in determining fair value is greatest for instruments categorized in Level <em style="font: inherit;">3.</em> A financial instrument's level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;"><b><i><span style="text-decoration: underline; ">Recurring Fair Value Measurements</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The interest rate swap agreement we entered into in connection with our Term Note, as discussed further in Notes <em style="font: inherit;">2</em> and <em style="font: inherit;">9</em> is measured at fair value on a recurring basis using Level <em style="font: inherit;">2</em> inputs. The contingent consideration liability on our balance sheets is measured at fair value on a recurring basis using Level <em style="font: inherit;">3</em> inputs. Our contingent consideration liability is a result of our acquisition of Acculogic on <em style="font: inherit;"> December 21, 2021, </em>and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“EV”) or battery customers. Our acquisition of Acculogic and this liability are both discussed further in Note <em style="font: inherit;">3</em> to our consolidated financial statements in our <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10</em>-K. The current portion of this liability totaled $331 as of <em style="font: inherit;"> June 30, 2023 </em>and $324 as of <em style="font: inherit;"> December 31, 2022 </em>and was included in Other Current Liabilities on our balance sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amounts at</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value Measurement Using</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>As of June 30, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">457</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">457</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amounts at</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value Measurement Using</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>As of December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">Changes in the fair value of our Level <em style="font: inherit;">3</em> contingent consideration liabilities for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>were as follows:</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six </b><br/> <b>Months Ended</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 331000 324000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amounts at</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value Measurement Using</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>As of June 30, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">457</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">457</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table><table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amounts at</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value Measurement Using</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>As of December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 1394000 -0 -0 1394000 457000 0 457000 0 1363000 -0 -0 1363000 528000 0 528000 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six </b><br/> <b>Months Ended</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance at beginning of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance at end of period</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 1363000 -31000 1394000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">4</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>GOODWILL AND INTANGIBLE ASSETS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We have <em style="font: inherit;">three</em> operating segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies. Goodwill and intangible assets on our balance sheets are the result of our acquisitions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Goodwill</span></i></b><br/> <br/> Changes in the amount of the carrying value of goodwill for the <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Goodwill was comprised of the following at <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;"> December 31, 2022:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,454</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Intangible Assets</span></i></b><br/> <br/> Changes in the amount of the carrying value of indefinite-lived intangible assets for the <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Changes in the amount of the carrying value of finite-lived intangible assets for the <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,067</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Intangible assets were allocated to our reporting segments at <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;"> December 31, 2022 </em>as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Electronic Test:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">832</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,819</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,588</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,613</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following tables provide further detail about our intangible assets as of <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;"> December 31, 2022:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 49%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,535</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,891</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,683</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,782</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,177</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,613</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 49%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,990</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,323</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">988</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,660</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We generally amortize our finite-lived intangible assets over their estimated useful lives based on the pattern in which the economic benefits of the intangible assets are expected to be consumed, or on a straight-line basis, if an alternate amortization method cannot be reliably determined. Any such alternate amortization method would be based on the pattern in which the economic benefits of the intangible asset are expected to be consumed. <em style="font: inherit;">None</em> of our intangible assets have any residual value.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following table sets forth the estimated annual amortization expense for each of the next <em style="font: inherit;">five</em> years:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2023 (remainder)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,033</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,982</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,772</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">666</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">  </p> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 21605000 102000 21707000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,454</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total goodwill</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,707</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 3436000 3369000 1817000 1817000 16454000 16419000 21707000 21605000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 8369000 26000 8395000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">95</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,067</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Balance - June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 10190000 95000 1067000 9218000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Electronic Test:</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">813</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">832</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,819</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">13,588</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,613</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table><table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, 2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 49%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,535</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,891</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,208</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,683</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">497</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,782</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,177</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,613</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table><table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, 2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Gross</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amortization</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Net</b><br/> <b>Carrying</b><br/> <b>Amount</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 49%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7,990</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,323</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">988</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">20,660</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 3981000 4139000 813000 832000 12819000 13588000 17613000 18559000 16394000 8859000 7535000 2891000 1208000 1683000 590000 590000 0 497000 497000 0 270000 270000 0 140000 140000 0 20782000 11564000 9218000 8395000 8395000 29177000 11564000 17613000 16313000 7990000 8323000 2855000 988000 1867000 590000 590000 0 492000 492000 0 270000 270000 0 140000 140000 0 20660000 10470000 10190000 8369000 8369000 29029000 10470000 18559000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2023 (remainder)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,033</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,982</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,772</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,162</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">666</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 1033000 1982000 1772000 1162000 666000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">5</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>REVENUE FROM CONTRACTS WITH CUSTOMERS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following tables provide additional information about our revenue from contracts with customers, including revenue by customer and product type and revenue by market. The information about revenue by customer and product type for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>has been reclassified to be consistent with how the information for the current period is presented. See also Note <em style="font: inherit;">13</em> for information about revenue by operating segment and geographic region.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:7pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue by customer type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">End user</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,877</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">43,581</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">39,237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">OEM/Integrator</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,681</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,476</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">20,896</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue by product type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Thermal test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,951</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,008</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Thermal process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,964</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Semiconductor test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,753</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,632</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,639</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Video imaging</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,082</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Flying probe and in-circuit testers</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,417</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,088</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,777</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Service/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,019</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue by market:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Semiconductor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,409</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,516</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">29,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Industrial</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,943</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Automotive (including Electric Vehicles)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,542</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Defense/aerospace</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,890</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,423</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,916</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Life Sciences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,135</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,169</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,868</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Security</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">936</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">794</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,416</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,252</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,622</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:7pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue by customer type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">End user</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,877</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">22,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">43,581</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">39,237</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">OEM/Integrator</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,681</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,476</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">20,896</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">14,415</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue by product type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Thermal test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,951</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,993</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,008</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Thermal process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,872</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,968</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,964</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Semiconductor test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8,753</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,632</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12,639</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Video imaging</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,082</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Flying probe and in-circuit testers</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,417</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,088</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,777</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Service/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,273</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,019</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue by market:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Semiconductor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18,833</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,409</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">36,516</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">29,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Industrial</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,943</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Automotive (including Electric Vehicles)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,542</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,594</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Defense/aerospace</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,890</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,423</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,916</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Life Sciences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,135</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,169</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,868</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Security</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">936</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">794</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,902</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,416</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,252</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">6,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,622</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 21877000 22095000 43581000 39237000 10681000 7476000 20896000 14415000 32558000 29571000 64477000 53652000 6172000 5951000 11993000 11008000 11872000 9968000 21694000 16964000 8753000 6632000 16859000 12639000 2434000 2395000 5082000 4245000 1417000 2088000 2576000 3777000 1910000 2537000 6273000 5019000 32558000 29571000 64477000 53652000 18833000 16409000 36516000 29799000 2806000 2930000 5943000 5729000 1542000 3594000 4139000 6350000 3890000 1423000 6729000 2916000 1135000 1169000 2648000 1868000 936000 794000 1902000 1368000 3416000 3252000 6600000 5622000 32558000 29571000 64477000 53652000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">6</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>MAJOR CUSTOMERS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">During the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023, </em><span style="-sec-ix-hidden:c101528971">one</span> customer accounted for 14% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. <em style="font: inherit;">No</em> other customers accounted for <em style="font: inherit;">10%</em> or more of our consolidated revenue during the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023. </em>During the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em><em style="font: inherit;">no</em> customer accounted for <em style="font: inherit;">10%</em> or more of our consolidated revenue.</p> 0.14 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">7</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>INVENTORIES</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Inventories held at <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;"> December 31, 2022 </em>were comprised of the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Raw materials</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,888</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Work in process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,432</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inventory consigned to others</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">76</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,186</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,070</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">22,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:7pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Excess and obsolete inventory charges</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">  </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30, </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31, </b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Raw materials</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,834</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16,888</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Work in process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,343</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,432</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Inventory consigned to others</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">76</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,186</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Total inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,070</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">22,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table><table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:7pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Excess and obsolete inventory charges</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">107</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">266</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 16834000 16888000 2343000 2432000 76000 59000 3817000 3186000 23070000 22565000 131000 107000 266000 230000 <table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;"><tbody><tr><td style="vertical-align:top;width:3.8%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">8</em>)</b> </p> </td><td style="vertical-align:top;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>LEASES</b> </p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">As previously discussed in Note <em style="font: inherit;">2,</em> we account for our leases in accordance with the guidance in ASC Topic <em style="font: inherit;">842.</em> We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through <em style="font: inherit;">2031.</em> Total operating lease and short-term lease costs for the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em> were as follows: </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:7pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">403</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">803</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">643</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following is additional information about our leases as of <em style="font: inherit;"> June 30, 2023:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 84%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Range of remaining lease terms (in years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.1</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 3%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">to</em></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 5%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 84%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 3%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">4.7</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 84%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 3%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">4.5%</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Maturities of lease liabilities as of <em style="font: inherit;"> June 30, 2023 </em>were as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2023 (remainder)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">974</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,010</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">710</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">945</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,255</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Cash Flow Information</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 50pt;">Total amortization of ROU assets was $391 and $782 for the <em style="font: inherit;">three</em> months and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023, </em>respectively, and $329 and $638 for the <em style="font: inherit;">three</em> months and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">During the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023, </em>we entered into a 25-month lease for a facility for our Environmental Technologies segment’s operation in Germany. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $90. During this same period, we entered into <em style="font: inherit;">two</em> auto leases, <em style="font: inherit;">one</em> with a 36-month term and <em style="font: inherit;">one</em> with a 48-month term, for employees of our Process Technologies segment both of whom are based in Europe. At the effective date of these leases, we recorded non-cash increases in our ROU assets and operating lease liabilities totaling approximately $71.</p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:7pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">403</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">803</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">643</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table><table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 84%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Range of remaining lease terms (in years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.1</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 3%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">to</em></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 5%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.8</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 84%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 3%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">4.7</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 84%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 3%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: center;">4.5%</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> </tbody></table> 403000 317000 803000 643000 4000 14000 7000 44000 P0Y1M6D P7Y9M18D P4Y8M12D 0.045 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2023 (remainder)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">974</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,910</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,010</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">710</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">945</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,255</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,690</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 974000 1910000 1010000 710000 706000 945000 6255000 565000 5690000 391000 782000 329000 638000 P25M 90000 P36M P48M 71000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">9</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>DEBT</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Letters of Credit</span></i></b><br/> <br/> We have issued letters of credit as the security deposits for certain of our domestic leases. These letters of credit are secured by pledged certificates of deposit which are classified as Restricted Certificates of Deposit on our consolidated balance sheets. The terms of our leases require us to renew these letters of credit at least <em style="font: inherit;">30</em> days prior to their expiration dates for successive terms of <em style="font: inherit;">not</em> less than <em style="font: inherit;">one</em> year until lease expiration. Our outstanding letters of credit at <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;"> December 31, 2022 </em>consisted of the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>L/C</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 16%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b><b>Letters of Credit</b><br/> <b>Amount Outstanding</b></b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Facility</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Original L/C</b><br/> <b>Issue Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b><b>June 30,</b><br/> <b>2023 </b></b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b><b>Dec. 31,</b><br/> <b>2022 </b></b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mt. Laurel, NJ</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529126">3/29/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529127">4/30/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529128">4/30/2031</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mansfield, MA</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529131">10/27/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529132">12/31/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529133">12/31/2024</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"><em style="font: inherit;"> </em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Credit Facility</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">On <em style="font: inherit;"> October 15, 2021 (</em>the “Closing Date”), we entered into an Amended and Restated Loan and Security Agreement with M&amp;T Bank (“M&amp;T”) which, on <em style="font: inherit;"> October 28, 2021, </em>was amended by the Joinder and Amendment to Amended and Restated Loan and Security Agreement and which, on <em style="font: inherit;"> December 30, 2021, </em>was further amended by the Joinder and Second Amendment to Amended and Restated Loan and Security Agreement (as amended, the “Loan Agreement”).</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The Loan Agreement included a $25,000 non-revolving delayed draw term note (the “Term Note”) and a $10,000 revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility had a <span style="-sec-ix-hidden:c101529104">five</span>-year contract period that began on the Closing Date and expired on <em style="font: inherit;"> October 15, 2026, </em>and draws under the Term Note were permissible for <span style="-sec-ix-hidden:c101529105">two</span> years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">On <em style="font: inherit;"> September 20, 2022, </em>we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement, as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note. Under the Amended Loan Agreement, the maximum loan amount that we <em style="font: inherit;"> may </em>borrow under the Term Note increased from $25,000 to $50,500, which raises the available funding at <em style="font: inherit;"> June 30, 2023 </em>to $30,000. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to <em style="font: inherit;"> September 19, 2027 (</em>the “Contract Period”). At <em style="font: inherit;"> June 30, 2023, </em>we had <span style="-sec-ix-hidden:c101529109">not</span> borrowed any amounts under the $10 million Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The principal balance of the Revolving Facility and the principal balance of any amount drawn under the Term Note accrues interest based on the secured overnight financing rate for U.S. government securities (“SOFR”) or a bank-defined base rate plus an applicable margin, depending on leverage. Each draw under the Term Note will have an option for us of either (i) up to a <em style="font: inherit;">five</em> year amortizing term loan with a balloon due at maturity, or (ii) up to a <em style="font: inherit;">five</em> year term with up to <em style="font: inherit;">seven</em> years amortization with a balloon due at maturity. Any amortization greater than <em style="font: inherit;">five</em> years will be subject to an excess cash flow recapture. The Amended Loan Agreement also allows us to enter into hedging contracts with M&amp;T, including interest rate swap agreements, interest rate cap agreements, interest rate collar agreements, or any other agreements or that are designed to protect us against fluctuations in interest rates or currency exchange rates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The Amended Loan Agreement contains customary default provisions, including but <em style="font: inherit;">not</em> limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Amended Loan Agreement, bankruptcy by us, suspension of our business or any of our subsidiaries and certain material judgments. After expiration of the Contract Period or if a continued event of default occurs, interest will accrue on the principal balance at a rate of 2% in excess of the then applicable non-default interest rate. The Amended Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA and a fixed charge coverage ratio. Our obligations under the Amended Loan Agreement are secured by liens on substantially all of our tangible and intangible assets that are owned as of the Closing Date or acquired thereafter.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 54pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">On <em style="font: inherit;"> October 28, 2021, </em>we drew $12,000 under the Term Note to finance the acquisition of Videology as discussed above. We also entered into an interest rate swap agreement with M&amp;T as of this date which is designed to protect us against fluctuations in interest rates during the <em style="font: inherit;">five</em> year repayment and amortization period. As a result, the annual interest rate we expect to pay for this draw under the Term Note is fixed at approximately 3.2% based on current leverage.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">On <em style="font: inherit;"> December 29, 2021, </em>we drew $8,500 under the Term Note to finance the acquisition of Acculogic as discussed above. We did <em style="font: inherit;">not</em> enter into an interest rate swap agreement with M&amp;T related to this draw. The annual interest rate we expect to pay for this draw under the Term Note is variable. At <em style="font: inherit;"> June 30, 2023, </em>it was approximately 7.2% based on current leverage. Effective <em style="font: inherit;"> August 1, 2023, </em>this rate remained the same. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following table sets forth the maturities of long-term debt for each of the next <em style="font: inherit;">five</em> years:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2023 (remainder)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,092</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">  </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>L/C</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 16%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b><b>Letters of Credit</b><br/> <b>Amount Outstanding</b></b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Facility</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Original L/C</b><br/> <b>Issue Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b><b>June 30,</b><br/> <b>2023 </b></b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b><b><b>Dec. 31,</b><br/> <b>2022 </b></b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mt. Laurel, NJ</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529126">3/29/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529127">4/30/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529128">4/30/2031</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mansfield, MA</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529131">10/27/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529132">12/31/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 12%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c101529133">12/31/2024</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 31%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 12%;"><em style="font: inherit;"> </em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 50000 50000 50000 50000 100000 100000 25000000 10000000 25000000 50500000 30000000 10000000 0.02 12000000 0.032 8500000 0.072 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 83%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2023 (remainder)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,050</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,092</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2050000 4100000 4100000 3842000 14092000 <table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;"><tbody><tr><td style="vertical-align:top;width:3.8%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">10</em>)</b> </p> </td><td style="vertical-align:top;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>STOCK-BASED COMPENSATION PLAN</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">As of <em style="font: inherit;"> June 30, 2023, </em>we had unvested restricted stock awards and stock options granted under stock-based compensation plans that are described more fully in Note <em style="font: inherit;">15</em> to the consolidated financial statements in our <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10</em>-K. In addition, on <em style="font: inherit;"> June 21, 2023, </em>our stockholders approved the inTEST Corporation <em style="font: inherit;">2023</em> Stock Incentive Plan (the <em style="font: inherit;">“2023</em> Plan”) which replaces the Fourth Amended and Restated <em style="font: inherit;">2014</em> Stock Plan (the <em style="font: inherit;">“2014</em> Plan”). <em style="font: inherit;">No</em> further awards can be granted under the <em style="font: inherit;">2014</em> Plan. The maximum number of shares of common stock available for grant and issuance under the <em style="font: inherit;">2023</em> Plan will be (a) 350,000, plus (b) the number of shares of common stock available for issuance under the <em style="font: inherit;">2014</em> Plan on the date the <em style="font: inherit;">2023</em> Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the <em style="font: inherit;">2014</em> Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the <em style="font: inherit;">2023</em> Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the <em style="font: inherit;">2023</em> Plan as of the date of its approval was 1,117,942.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Our unvested restricted stock awards and stock options are accounted for based on their grant date fair value. As of <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> total compensation expense to be recognized in future periods is $4,127. The weighted average period over which this expense is expected to be recognized is 2.1 years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following table summarizes the compensation expense we recorded during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em> related to unvested shares of restricted stock and stock options:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 90%; margin-right: auto; margin-left: 54pt;"><tbody><tr><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="6" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="6" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align:bottom;width:auto;"> </td></tr> <tr><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td></tr> <tr class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="background-color: rgb(204, 238, 255);"><td style="vertical-align:bottom;width:20.4%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Cost of revenues</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">29</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">15</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">48</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">26</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Selling expense</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">11</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">7</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">21</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">14</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Engineering and product development expense</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">9</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">18</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">19</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">37</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">General and administrative expense</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">556</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">511</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">991</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">846</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">605</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">551</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">1,079</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">923</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">There was no compensation expense capitalized in <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>or <em style="font: inherit;">2022.</em> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Stock Options</span></i></b><br/> <br/> We record compensation expense for stock options based on the fair market value of the options as of the grant date. <em style="font: inherit;">No</em> option <em style="font: inherit;"> may </em>be granted with an exercise period in excess of <span style="-sec-ix-hidden:c101529180">ten</span> years from the date of grant. Generally, stock options will be granted with an exercise price equal to the fair market value of our stock on the date of grant and will vest over <span style="-sec-ix-hidden:c101529181">four</span> years.<br/> <br/> The fair value for stock options granted during the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em> was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Expected common stock market price volatility factor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c101529273">.57</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c101529274">.55</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average expected life of stock options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The per share weighted average fair value of stock options issued during the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em> was $9.43 and $4.53, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following table summarizes the activity related to stock options for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number</b><br/> <b>of Shares</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted</b><br/> <b>Average</b><br/> <b>Exercise Price</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Options outstanding, January 1, 2023 (<span style="-sec-ix-hidden:c101529279">167,886</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">580,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">93,860</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(111,800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Canceled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(23,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.09</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Options outstanding, June 30, 2023 (<span style="-sec-ix-hidden:c101529289">187,981</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">538,620</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.36</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;"><b><i><span style="text-decoration: underline; ">Restricted Stock Awards</span></i></b><br/> <br/> We record compensation expense for restricted stock awards based on the quoted market price of our stock at the grant date and amortize the expense over the vesting period. Restricted stock awards generally vest over <span style="-sec-ix-hidden:c101529189">four</span> years for employees and over <span style="-sec-ix-hidden:c101529190">one</span> year for our independent directors (25% at each of <em style="font: inherit;"> March 31, </em><em style="font: inherit;"> June 30, </em><em style="font: inherit;"> September 30, </em>and <em style="font: inherit;"> December 31 </em>of the year in which they were granted).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Since <em style="font: inherit;"> August 2020, </em>we have increasingly granted performance-based restricted stock awards where the ultimate number of shares that vest can vary between 0% and 150% of the amount of the original award and is based on the achievement of specified performance metrics. Vesting for these awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for these awards is recorded on a straight-line basis over the vesting period and is based on the expected final vesting percentage, which is re-assessed at the end of each reporting period and adjusted with a catch-up adjustment, as needed. Our initial assumption at the grant date of these awards is that the award will vest at the 100% level. The awards granted prior to <em style="font: inherit;"> January 1, 2023 </em>are discussed in more detail in Note <em style="font: inherit;">15</em> to the consolidated financial statement in our <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10</em>-K. There have been <em style="font: inherit;">no</em> significant changes to our assumptions related to the expected vesting percentages for any of these performance-based awards as of <em style="font: inherit;"> June 30, 2023.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">On <em style="font: inherit;"> March 8, 2023, </em>our Chief Executive Officer ("CEO"), Chief Financial Officer ("CFO") and certain other members of our senior management received restricted stock awards totaling 18,888 shares valued at $303 as of the date of grant. These shares vest on the <em style="font: inherit;">third</em> anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on <em style="font: inherit;"> March 8, 2023. </em>The final vesting percentage will be based on the achievement of certain performance metrics related to consolidated revenue for specified time periods as determined by the Compensation Committee of our Board of Directors. As of <em style="font: inherit;"> June 30, 2023, </em>we have estimated that these shares will vest at 100% of the original amount. On <em style="font: inherit;"> May 8, 2023 </em>the newly appointed president of our Environmental Technologies segment received restricted stock awards totaling 5,081 shares valued at $108 as of the date of grant. These shares vest on the <span style="-sec-ix-hidden:c101529208">third</span> anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares of restricted stock awarded on <em style="font: inherit;"> May 8, 2023. </em>The final vesting percentage will be based on the achievement of certain performance metrics including revenue and income from operations for specified time periods as determined by the Compensation Committee of our Board of Directors in consultation with our CEO and CFO.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following table summarizes the activity related to unvested restricted stock awards for the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023:</em></p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number</b><br/> <b>of Shares</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted</b><br/> <b>Average</b><br/> <b>Grant Date</b><br/> <b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Unvested shares outstanding, January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">288,450</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">97,461</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(57,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.88</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Unvested shares outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">315,081</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.72</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The total fair value of the restricted stock awards that vested during the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>and <em style="font: inherit;">2022</em> was $1,153 and $436, respectively, as of the vesting dates of these awards. </p> 350000 1117942 4127000 P2Y1M6D <table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 90%; margin-right: auto; margin-left: 54pt;"><tbody><tr><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="6" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Three Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="6" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Six Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align:bottom;width:auto;"> </td></tr> <tr><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2023</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:auto;"> </td><td colspan="2" style="border-bottom:solid 1px #000000;vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>2022</b></p> </td><td style="vertical-align:bottom;width:auto;"> </td></tr> <tr class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="background-color: rgb(204, 238, 255);"><td style="vertical-align:bottom;width:20.4%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Cost of revenues</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">29</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">15</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">48</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">26</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Selling expense</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">11</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">7</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">21</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">14</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Engineering and product development expense</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">9</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">18</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">19</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.5%;"> </td><td style="vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">37</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="vertical-align:bottom;width:auto;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">General and administrative expense</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">556</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">511</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">991</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:0.5%;"> </td><td style="border-bottom:solid 1px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">846</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="vertical-align:bottom;width:auto;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">605</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">551</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">1,079</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="vertical-align:bottom;width:0.4%;"> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:0.5%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">$</p> </td><td style="border-bottom:double 3px #000000;vertical-align:bottom;width:5.1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">923</p> </td><td style="vertical-align:bottom;width:0.4%;"> </td></tr> </tbody></table> 29000 15000 48000 26000 11000 7000 21000 14000 9000 18000 19000 37000 556000 511000 991000 846000 605000 551000 1079000 923000 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Expected common stock market price volatility factor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c101529273">.57</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><span style="-sec-ix-hidden:c101529274">.55</span></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Weighted average expected life of stock options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0393 0.0205 0.0000 0.0000 P6Y3M P6Y3M 9.43 4.53 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number</b><br/> <b>of Shares</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted</b><br/> <b>Average</b><br/> <b>Exercise Price</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Options outstanding, January 1, 2023 (<span style="-sec-ix-hidden:c101529279">167,886</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">580,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">93,860</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(111,800</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">8.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Canceled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(23,859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.09</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Options outstanding, June 30, 2023 (<span style="-sec-ix-hidden:c101529289">187,981</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">538,620</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.36</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 580419 8.91 93860 16.25 111800 8.05 23859 9.09 538620 10.36 0.25 0 1.50 1 18888 303000 0 1.50 1 5081 108000 0 1.50 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number</b><br/> <b>of Shares</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted</b><br/> <b>Average</b><br/> <b>Grant Date</b><br/> <b>Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Unvested shares outstanding, January 1, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">288,450</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">7.80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">97,461</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">16.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(57,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10.99</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 9pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(13,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.88</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Unvested shares outstanding, June 30, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">315,081</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9.72</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 288450 7.80 97461 16.43 57559 10.99 13271 9.88 315081 9.72 1153000 436000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">11</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>EMPLOYEE STOCK PURCHASE PLAN </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">The inTEST Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by the Board in <em style="font: inherit;"> April 2021 </em>subject to approval by our stockholders, which occurred on <em style="font: inherit;"> June 23, 2021 </em>at our Annual Meeting of Stockholders. The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a discounted purchase price. The ESPP became effective on <em style="font: inherit;"> October 1, 2021.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">The ESPP provides that an aggregate of up to 250,000 shares of our common stock will be available for issuance thereunder. The shares of our common stock purchasable under the ESPP will be shares of authorized but unissued or reacquired shares, including shares repurchased by us on the open market.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">During the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023, </em>employees purchased 4,162 shares of our common stock through the ESPP at a cost of $97. The closing market price of our common stock on the dates of purchase were $20.74 and $26.26, respectively. The prices paid by employees were $17.63 and $22.32, respectively, which represented a 15% discount. The total amount of the discount of $14 was recorded as compensation expense in our consolidated statements of operations. During the <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022, </em>employees purchased 14,715 shares of our common stock through the ESPP at a cost of $121. The closing market price of our common stock on the dates of purchase were $10.73 and $6.82, respectively. The prices paid by employees were $9.12 and $5.80, respectively, which represented a 15% discount. The total amount of the discount of $18 was recorded as compensation expense in our consolidated statements of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 52pt;">From the effective date of the ESPP through <em style="font: inherit;"> June 30, 2023, </em>a total of 35,314 shares of our common stock have been purchased by employees through the ESPP at a cost of $379. We have recorded a total of $57 of compensation expense in our consolidated statements of operations related to these shares.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">  </p> 250000 4162 97000 20.74 26.26 17.63 22.32 0.15 14000 14715 121000 10.73 6.82 9.12 5.80 0.15 18000 35314 379000 57000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">12</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>EMPLOYEE BENEFIT PLANS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We have defined contribution <em style="font: inherit;">401</em>(k) plans for our employees who work in the U.S. All permanent employees of inTEST Corporation, inTEST EMS LLC, Temptronic Corporation and Videology who are at least <em style="font: inherit;">18</em> years of age are eligible to participate in the inTEST Corporation Incentive Savings Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5. Employer contributions vest ratably over <span style="-sec-ix-hidden:c101529329">four</span> years. Matching contributions are discretionary. For the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>we recorded $108 and $347 of expense for matching contributions, respectively. For the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>we recorded $134 and $350 of expense for matching contributions, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">All permanent employees of Ambrell are immediately eligible to participate in the Ambrell Corporation Savings &amp; Profit Sharing Plan (the "Ambrell Plan") upon employment and are eligible for employer matching contributions after completing <em style="font: inherit;">six</em> months of service, as defined in the Ambrell Plan. The Ambrell Plan allows eligible employees to make voluntary contributions up to 100% of compensation, up to the federal government contribution limits. We will make a matching contribution of 50% of each employee's contributions up to a maximum of 10% of the employee's deferral with a maximum limit of $5. For the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2023 </em>we recorded $91 and $224 of expense for matching contributions, respectively. For the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2022 </em>we recorded $85 and $186 of expense for matching contributions, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 0.10 5000 108000 347000 134000 350000 1 0.50 0.10 5000 91000 224000 85000 186000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 45pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">13</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>SEGMENT INFORMATION</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">We have <em style="font: inherit;">three</em> operating segments which are also our reportable segments and reporting units: Electronic Test (which includes our semiconductor test equipment, flying probe and in-circuit testers), Environmental Technologies (which includes our thermal test, process and storage products) and Process Technologies (which includes our induction heating and video imaging products). We operate our business worldwide and sell our products both domestically and internationally. All of our segments sell to semiconductor manufacturers, <em style="font: inherit;">third</em>-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the automotive, defense/aerospace, industrial, life sciences, security and other markets.  </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">Our management team, including our CEO who is also our Chief Operating Decision Maker as defined under U.S. GAAP, evaluates the performance of our operating segments primarily on income from divisional operations which represents earnings before income tax expense and excludes interest expense, other income (expense), corporate expenses and acquired intangible amortization.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 90%; margin-left: 54pt; margin-right: auto;"><tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022 </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023 </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: 20.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue:</i></b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">10,993</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">9,797</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">21,364</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">18,575</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">8,136</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">7,507</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">16,178</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">14,500</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">13,429</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">12,267</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">26,935</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">20,577</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total revenue</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">32,558</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">29,571</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">64,477</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">53,652</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Income from divisional operations:</i></b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,641</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,193</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">5,219</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">4,080</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">943</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">1,070</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">1,956</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">1,872</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,592</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,569</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">5,268</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">3,299</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total income from divisional operations</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">6,176</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">5,832</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">12,443</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">9,251</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate expenses</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(2,309</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(2,339</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(4,514</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(4,174</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired intangible amortization</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(523</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(765</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(1,067</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(1,547</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(176</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(141</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(358</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(278</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">197</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(17</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">255</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(27</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Earnings before income tax expense</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">3,365</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,570</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">6,759</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">3,225</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Identifiable assets: </i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,143</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,080</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,040</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55,104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29,428</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,857</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,066</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 51pt;">The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,068</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,002</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,646</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,503</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">43,475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Property and equipment:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,658</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">695</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,132</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 90%; margin-left: 54pt; margin-right: auto;"><tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended</b><br/> <b>June 30, </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022 </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023 </b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: 20.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue:</i></b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">10,993</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">9,797</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">21,364</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">18,575</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">8,136</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">7,507</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">16,178</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">14,500</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">13,429</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">12,267</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">26,935</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">20,577</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total revenue</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">32,558</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">29,571</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">64,477</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">53,652</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Income from divisional operations:</i></b></p> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,641</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,193</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">5,219</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">4,080</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">943</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">1,070</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">1,956</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">1,872</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,592</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,569</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">5,268</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">3,299</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total income from divisional operations</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">6,176</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">5,832</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">12,443</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">9,251</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate expenses</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(2,309</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(2,339</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(4,514</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(4,174</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired intangible amortization</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(523</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(765</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(1,067</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(1,547</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(176</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(141</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(358</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(278</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">197</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(17</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">255</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">(27</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">)</p> </td></tr> <tr style="background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="vertical-align: bottom; width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Earnings before income tax expense</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">3,365</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">2,570</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">6,759</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 0.5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">$</p> </td><td style="border-bottom: 3px double rgb(0, 0, 0); vertical-align: bottom; width: 5.1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">3,225</p> </td><td style="vertical-align: bottom; width: 0.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> </tbody></table> 10993000 9797000 21364000 18575000 8136000 7507000 16178000 14500000 13429000 12267000 26935000 20577000 32558000 29571000 64477000 53652000 2641000 2193000 5219000 4080000 943000 1070000 1956000 1872000 2592000 2569000 5268000 3299000 6176000 5832000 12443000 9251000 -2309000 -2339000 -4514000 -4174000 523000 765000 1067000 1547000 176000 141000 358000 278000 197000 -17000 255000 -27000 3365000 2570000 6759000 3225000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Identifiable assets: </i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,143</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,080</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,040</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55,104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29,428</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">132,857</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,066</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 30245000 31143000 18080000 18040000 55104000 56866000 29428000 4017000 132857000 110066000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b><br/> <b>June 30, </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022 </b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 44%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Revenue:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,068</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">21,002</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">23,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">22,646</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">15,503</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">43,475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">30,350</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">64,477</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">53,652</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 9912000 14068000 21002000 23302000 22646000 15503000 43475000 30350000 32558000 29571000 64477000 53652000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;"><tbody><tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>June 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>December 31,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; width: 66%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Property and equipment:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,523</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,658</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">695</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,218</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,132</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2523000 2658000 695000 474000 3218000 3132000 EXCEL 75 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( &*!"E<'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 " !B@0I76]-5X.\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O:15D=#E9<,G!<&!XEM(;EM8TX;DI-VW-ZU;A^@'\#%W__SN M=W"-"=+T$5]B'S"2PW0S^K9+TH05.Q %"9#, ;U.94YTN;GKH]>4GW$/09NC MWB-4G-^#1])6DX8)6(2%R%1CC301-?7QC+=FP8?/V,XP:P!;]-A1 E$*8&J: M&$YCV\ 5,,$(HT_?!;0+<:[^B9T[P,[),;DE-0Q#.=1S+N\@X/WYZ75>MW!= M(MT9S+^2DW0*N&*7R6_U>K-]9*KB55WPAT+P;<6EX/+V[F-R_>%W%?:]=3OW MCXTO@JJ!7W>AO@!02P,$% @ 8H$*5YE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !B@0I7I;PLZM<% #O'@ & 'AL+W=O-R@;9S[?2#8@OPG&UQDAR2 M?]^5#3;)R OU'%\2VWA?Z]6NI4?6^5JJKWHIA"%/29SJB];2F-7;3D<'2Y%P M?2I7(H5?YE(EW,"I6G3T2@D>YD%)W&&>U^\D/$I;P_/\VIT:GLO,Q%$J[A31 M69)P]7PE8KF^:-'6]L)]M%@:>Z$S/%_QA9@*\\?J3L%9IU0)HT2D.I(I46)^ MT;JD;T<^LP'Y'7]&8JUWCHFU\B#E5WLR#B]:GFV1B$5@K 2'?X]B).+8*D$[ MOFU$6^4S;>#N\5;]-C9FJ4&U5"$+^,[T,JR MJ6S;U"N&"K[/TE/B>R>$>T+SR&<.H*?]$^D%NI1M(8__4#[WJ\NO]])[(7[;NF^ MBZD/-Z4R@@Y0/(8^",43^5T\NTSC2I[G4<_OLSYS>41C&WKLE1Y[AWB\%XM( M@TM(]80GPN40UQE/9C?3&1E]NK]S642#&UKLEQ;[:-,NH8+#O(IO8[YP6?C7*SRLJ:T=H*"'V?J<<66$BNT( MNI+*."WB6D9ESM$%#VMJD546V6$6-R\=-KCLD2JAII9J<(&F7BO*H2A&[%0I MS( ZRBD'R22A.*1N_EV$(ZOID M>T#R]@PXHA4=41QI7GLM7^8[)1^C-' G'->< MO'<:/08EL8J2&$XYKXW>26T !_^.5K7CU1Y%;^#UNL[O!\< )U:!$\-A)R_7 M2R5XO3%<8-#K.VT= Y98!4L,)YP/,E^>+&6*S:U[1'I>KST8N$<=/+2IOPJ0 M&,XTL\@ -<@YH>SGAU_(5 29@DPZ3>)*(YDD,$%-C0R^GI 5K'<>>9P)\J-W MZE&R$JKX%N?L@V/P$ZOXB>'H VP81NF"3)^3!^D:+J_V"(PGLYG3US' B57@ MQ'"TV2:3W#P%2YXN1.T7H#U"DR]3)R7A84W]593$#J*D[0>3@NOS1,)TXEYI M[U'\XOQ4/,*CFOJLZ(@=1$?C%-:CQ<:!7:_QK7&G3URQSNB7"=B4S;/ @$R(!(6 @Z_1Z#@EA%0>P@"IHF/([)5:;A9^VN M6ERG[CL#'M;0GE^QCW\0^]PD0BWL6_D.%,P2\"!9\=29USV"M>MO/*ZIT0I] M?)Q" MFTT_%&J]7,WN\#X.*:.]LZXEQ\==CYV=+45;?OE.JR:!_510["Z65\O=W,M\ M#[-3W5YL!7_DMGHUB<4<0KW3,WB\*G97BQ,C5_D&Y8,T1B;YX5+P4"A[ _P^ ME])L3^P#RCWNX7]02P,$% @ 8H$*5SRPO:\X" D20 !@ !X;"]W M;W)K,1,=$9=%+R4ESG_Z&LF/9XI!)@=R+-K8S9'XS',XSI'SYJ,VW M=B5E1[ZOZZ:]FJRZ;G,QF[7E2JY%^TYO9 ._66JS%AV\-?>S=F.DJ/I!ZWK& MHBB=K85J)O/+_K,;,[_4VZY6C;PQI-VNU\(\?9"U?KR:T,GS!Y_5_:JS'\SF MEQMQ+V]E]W5S8^#=[#!+I=:R:95NB)'+J\DUO5C$F1W06_Q;ROGV?_I7<>G+D3 MK5SH^C^JZE97DWQ"*KD4V[K[K!__*?<.)7:^4M=M_S]YW-M&$U)NVTZO]X-! MP5HUNY_B^SX01P-H[!G ]@/8:P?P_0#>.[I3UKOU471B?FGT(S'6&F:S+_K8 M]*/!&]789;SM#/Q6P;ANOM!-JVM5B4Y6Y(.H15-*ON1_'3V,SDCJB%?5GK;BJ9J+V<=B+)3S\J]@ \[ [! /UL_'??'8NRS:%D)P M@?FSFR#&)[#;[J+=B%)>36!?M=(\R,G\[W^C:?0>\^Z-)COQE1]\Y:'9YPO1 MK@BL&BGM"_G75CV(&IQ'5W$W5=I/96O#PYQG,4\N9P_'[KA6E,<\/EB=Z(P/ M.N.@SL^R[8PJ;89:I9BZW03)T=^-1LI<"TICA@M+#L*2H+ O1E02*E&IMQ U MJ&JEA!#>U7)*&JC >DE$#76RWU-0<4EI).P?4FM(KM;^^BR):+\"9W&13F&" M=B/[NE8_85XFC@^,)CD=>8I9@1WN:GIP-0VZ^EOS )FAC9)H=J3NW^11-EX# MQ(HEJ4=9=E"6!97=&+D1JB+R.Z#-QM7&4W MU?E!=1Y.'=V)^A4"<^=OY]Q=FY@5\Q5(.N"4!@DV_]5 L2,; M-)50L9AZU Q!IF(B_R[:]L 5]N][6?4M42[+A(&5- S+_H1P MKI?GVU;N"UZ/252HR["$9ME8*&*5'4'G5.A .AI&W:]:5X^JKE%A",)H%CG* M,+,T\BWW@#H:9IU=[H4PYDDU]^1Z;=L.5"5"K"RE?*P2,/%0^RIRFP@&PN3[?KY +@13_;TAPK$6.4>XS,; MB,;"1 .!9@NU[E'<[\]'=[*12^79L"Z\>.*&+NX5L_H,Q+.RUL\ M%5RD07/C%&O7*HZ+W"-[(!\+D^\YOJVH(15*O5ZK/LIX?!&6L8B-E2)6<>I1 MR@?D\3#R/D)TVTZ5?5R7VDAUWQ#5@&1I&PL9W&[<11VE1XN^OZU"K.+(0T0^ M$)&'B?CIY/+AAREZ3B',:LD]20Q']#(PZ>STUN(EY2Z9RZ6\'1\?,#, MTMS79_"CR\HPT3[YB7"X;BM/08)ZX2*,%\GX?(E8Q9FO?^<#Z'@8= <$_Y!B MEUI%48QW(6(%>]5W@.<#W'@8;@O=V*!;C264"57UJ^!1ZN*+1NGXV(%:<5]^ M#)#C8Q2*Z;C-@$S2GQK/Y"-A\FVVVLOZ7-9%4=9X800,4LH]31B M?( :?P%JE@==?Y/4E]W#XI<^O<'Y\"Z78.WR&TQTZO- 1!Z^YKSM=/G-7J1) MT_ZCOS_IGM#S 7_36\ZWFNWTB1120:LB#J+?R M/4FF4139?Z1="6/[QFVWTD;]5U;O2:.?/X7VP?83VA"][=H.L@82!GU$X\+6 M>483,CEU=(!Q'(:Q36DX4OB\9%'(3IV?;1]3G*N&E**C8)BA IUZ9UPYEPE(&:< M%KFG_8\'R,=AR'^6G8"/*B*%:2"1T*(3(PC/XW3Z@T-O_W(E!=O_& M?BOE\"VD^?\ 4$L#!!0 ( &*!"E>XLR3 " , D* 8 >&PO=V]R M:W-H965T&ULG99;;]HP%,>_BA7U :2.W B7"I!:JFF;- F5 M=GLVB2%6'3NS'6CWZ7?LI!GA3GD@OIS_R>\<'\<>;81\52DA&KUEC*NQDVJ= MW[FNBE.28=41.>$PLQ0RPQJZFZ&*7&*"HXD M68Z=>_]NZGM&8"U^4;)16VUD0ED(\6HZWY.QXQDBPDBLC0L,CS69$L:,)^#X M4SEUZG<:X7;[P_M7&SP$L\"*3 7[31.=CIV!@Q*RQ 733V+SC50!1<9?+)BR M_VA3V7H.B@NE15:)@2"CO'SBMRH16P*_>T005(+@4D%8"4(;:$EFPWK$&D]& M4FR0--;@S31L;JP:HJ'<+.-<2YBEH-.3J>!*,)I@31+T@!GF,4%SXTZAUK20 MDG"-9D12D: 7CHN$@F$;M6;8S*1$TQ@SU49?T,O\$;5NVN@&48Z>4U$HS!,U MY<47T4!(%1XA^%+R#0N\6!5X0'I!/3\L?20QRW\J#IMR%W-0)"NH$ M!=9?]XB_>P:5;K,">P8EHECH9<&@_&)1<'TPOM)ASSHTVV@]B3Q_Y*ZW@]BW MZ0Y[M4V#-*Q)PY.D,]@ !!8L05 U\2O*L41KS J"6K BB6 ,2X5R ILXA=5K M'T(OW]#?PO(Z>^QGC!KPW1J^>PW\;K>6>I3 M%@WJ?DW=/TD]%5D&7_\*^3,EWK^DQ,\8-= '-?K@"O2KZWNPE\K .UC@%Q@V M^([B'Y ?^( J"7?8#AK[7"X/^D=S[WO]SSCM)_PR7'%7(]QW^ M,^"5TVV@=U^N! EO>.LJ-% M;H_NA=!P$;#-%.YJ1!H#F%\*H3\ZYC90W_XF_P!02P,$% @ 8H$*5^*Y MOQVG!0 J!< !@ !X;"]W;W)KHEB:=?/BD7;0B71%2DG^_X0UPV<(LG*V6+>//M0+>:\EGE6L@\5$G51)-7?MRSGCSW-[ V^7A-7&S2( MOS+V* ;72%-YX/RKOKE+;V:N'A'+V49J%XGZ.[(ERW/M28WC6^=TUL?4AL/K M9^]O&_**S$,BV)+G7[)4[F]FT0RE;)O4N?S('W]G'2&J_6UX+II?]-AAW1G: MU$+RHC-6(RBRLOU/GKI$# R4']B = ;$-/!'#+S.P'MI!+\S\%\:@78LG MY=XD;I7(9#&O^".J-%IYTQ=-]AMKE:^LU(5R+ROU-E-V!YEB:2I>A> MJC]5!5(@OD7O#ZQ*]&P*=/&Y3.HT4YC7Z!)]OE^ABU>OT2N4E>C3GMX0>U([J6#B&F(;3.5*[\S7XI!LV,U,;;V"54L(JS51M@7J!I?5&*J%R5 KLH'?2J0Q$]GJ*(X/<$@!% M-#8R8(.\*#)[* *!^'.,A#W&8BG&PLKU9++&_9)JO1))J1>@D PHAUQXH#B*C M2)<03/5.HQ&O !CQB E;0S#L>B--%@\D(YXD?FJS6;GA!3C%G8NS:O-\W^1K MHTAH33* 4JDS=Q0H(AWL8>=DR8DLF21[5TJF^N/D0NY<#$-?XM":7 CEFWH( M0GFFMEI#*!)&(V1/D@]/:[[WZ D*.AM9)M M5!":[7T-122$CM _B4(\K0KO7D;7EFHT-)LU /*I;Y(%!"3V+;) /&]$Z>.3 M,L23(K%/5'5?ZA.5;(,NU%=[RO,\J5I0\Q9>Y&VH<#!$]XI8E0ZB MS)Q ((K-G'PGX'E.3C(-3^NT+\UQ$5,2Y:AVKAT[RXM O)9"*@6C=[1ADMK7 M<&8 68:)C[&EWR"D&ZB*#JQM#D+&<:2^B\PT@3X]2L*Q[>ZDY_"TH)LJGS3+ M:YW%?U% ,32?E@H 469V()#=/$!7(P5$3E*/3$N][Q205K]GN6+?ZNR8Y.U) MVEEU#7,X45\$U(MQ0 .#\1)"NA'VP]C\2 !]>C$)++T,^R21&H"126=P\EBP M:M<<^0J5C+J4[5%3_[0_5G[3'*8:SV_Q]1(#SU?X>MT>&I_A6JX57LLW-Y(?FC./1^XE+QH+OK]EG/Y?*,#](?SBW\ M4$L#!!0 ( &*!"E?>)>#"# , #,) 8 >&PO=V]R:W-H965T&ULI59=;]HP%/TK5M2'5EK)=X *D,K'M$WJ5)6Q/;O$)%X3F]D. MM/OUNW9"!DE U?9"8N><>^\YW%QGM.?B1::$*/2:9TR.K52I[9UMRW5*Q23$2]41AEY%$@6>8[% MVY1D?#^V7.NP\4235.D->S+:XH0LB5IM'P6L[#I*3'/").4,";(96_?NW2+2 M> /X3LE>'MTCK>29\Q>]^!R/+4<71#*R5CH"ALN.S$B6Z4!0QJ\JIE6GU,3C M^T/TCT8[:'G&DLQX]H/&*AU; PO%9(.+3#WQ_2=2Z0EUO#7/I/E%^PKK6&A= M2,7SB@P5Y)255_Q:^7!$@#C=!*\B>$U"<(;@5P3_O1F"BA"\-T-8$8QTN]1N MC)MCA2L5P$5/ WZ!;M%K.T?75#;I"E*%O*2\D9K$< MV0IJTQGL=57'M*S#.U.'CQXX4ZE$"Q:3N(,_O\R/+O!M\*0VQCL8,_4N!OQ2 ML![RG0_(EYS_R[[XY^PG9OAUE_@F7G FWE<86*1J@*[_MF1' MAJTGTV[B]8=0]^[8L Z0ZT:GH'D;%$:N2>[Q%.!'$O"A=9I1YPN/J!@TKVI#A ML&%$&W+;=QL^M#&!,^RV(:QM""_: -,79BN#T2,$8>LWI 1F,L/E5(]_PD0R M Z)+>-@JQPV;3=#&W/8=KZ&]#?*]1J!%1Z"!?T9\5(N/+HH_G7B7&CYJ=^"P M'S2TMD%NZ#9TS-N@S=R._3E\$90'^-_PY>?$ Q8)91)E9 .IG%X?_A=1'M'E0O&M.8.> MN8(3S=RF\%5#A ; \PWGZK#0">KOI,D?4$L#!!0 ( &*!"E>0TN55OPP M *EO 8 >&PO=V]R:W-H965T&ULQ5U=<]O&%?TKI M.C.1"2P^2*:R9FP2NTUGTGCBI'WH] $B(0MCDE T++[Z[L@:2YW[^5>0KU. M7BQ3.GNPO+S[<@#=/=?.A?2C++OBT7FW:5UF+):[1NO52(1A-EH7U>;J]F;WN[?-[4V][5;5IGS; M!.UVO2Z:SV_*5?WTZBJZ^O*+GZOW#UW_B]'MS6/QOGQ7=K\^OFWTJ]&195FM MRTU;U9N@*>]?7;V.OE?9N&^P0_RS*I_:D_\'_5NYJ^L/_8L?EJ^NPKY'Y:I< M=#U%H7]\+&?E:M4SZ7[\=B"].EZS;WCZ_R_L;U&OVMV_P=,!&UX%BVW;U>M#8]V#=;79_RP^ M'0)QTD"(,PW$H8%P&L39F0;QH4'L7F%\ID%R:)"X5SC7(#TT2-T&Y]Y#=FB0 M.0VB^$R#\:'![M,?[:.[^VCF15?Y:ZT^DVO2I^*YK M]%\KW:Z[G=6;MEY5RZ(KE\&[3O_0>=:U07VO7]6+#P_U:EDV[5^"_+=MU7T. M7ORZ*;;+2J._#:Z#7]_-@Q???!M\$U2;X)>'>ML6FV5[,^ITSWK^T>+0BS?[ M7HBSO5BO=5[NKAC\^\=R?5VV^;R/WW?!(9H>0D40UCID=K.1SJMCEX[$2)9)$D0OFO8X4G M/88G]8;GI^ZA;()%O=9)^]!OE#Z6WG"E9+A(Q)Q$Y! 1C9VTDR2+\K-8X"RM_I7_HA7^Q^^5NHW.R+&+1'(,>CJ?)Q)T"O5T:N@1RDN6< M9)*33#&164DR.2;)A#-)L,28P)7128H)2)UK=U&$$'>4D0A)(I0/885O>@S? MU!N^=_M(53J*.D3;C18G0;Y^7-6?R_*@']YNF\6#GJF"MWJS00VR*5R+1)(Z MX?1V:>@8XR3+.:\D,FY Y+<#*+?$WWQ@NLQ8V>:L M;#DKFV1E4Q%T-D0V/??A&V\C\IL;9^;5OV\W>BB%GE4*6@)ZE4HFXW#BCB=O M!P9_X)QL.2N;9&537&QV8AA[)O+[,R?S*IT,XTNV+-"BB*G1?2A#/SU=04(/80=4*YBL2DM,0B4"N706B") =/:.@Q;,4 M-.E'"$1!X^:4OP.#YR=6!;G1A&08N+%32=#)AT8RA3M71S&(Q=LMJ_!T8.K18V7)6 M-LG*IKC8[,0PCD%\60W#1QWSJ@S*F85-TS&C)'(&(2N17(-)&D(8JZEAVHD_IV MOPLPU)R*HI,TC?+3V$$S:CCVJ^&O9$S%M$*.H2I-P J) M@$!T:8U,0Q31&SNZ1B7'?I7,;$S%B$@.TXF["_5W:O!2R:J26=DD*YOB8K.3 MQ:CDV*^2&8RI&(IDL'Y"70KJDQ$,&'6T2*8AR@NQPV@TB!U((Z-CXOZ W6"J'_LM0QN4G\IF4?7;!&IX(2HX%2&('NN= *QL M.2N;9&537&SVK9/&&4B(NP'PI$#OHZ2+_A/$+P >+P)R!Q$-D31$$;VQ(V8D M<^*7S-Q'*PFB<<54N)%EO16 E2UG99.L;(J+S4X6XPXD?G> XV@EH:L($BC9 M$[<>",& 84?[!S1$^3MC!]*X!XG?/3@$LMUJ]=M'\:!VM?YM[S\'7?$I6%7% M7;7J'\11=$&_1Z@V[_O=P66*.(&WIH,@TVX##@SQ M:N^1,Q@,AIS!(#!X!H. D#,8!.4Y@TF,19#X+0+R"3"A+N13:%_D\9BZC[K H'%D\2M$\H1&*BSE0CH6KCGC KI_52$V9E3T]1X M&NFS'EU(RH(4>78AKA']'1@\M%B?7LC*)EG9%!>;G1C&HTDO?H0AG0S(,PR! M1DRAQX%I1 R&:$0$!C4B D(T(H+R:,34V"^IWWZA-K(I62DQHR%S!"+&X%D& M-)&D(8JZEAVHDV<:^NV(P0\UA*(>!(Z$S&E(CD"BB5M-1/,H@L<.F_$@TC_D MX88I7?R?(O7VH7LRA(! ?.G"!AJBB-[8T35"/OU='W*8(FIYXDY^,W^?!J^5 MK%4-K&R2E4UQL=FY8BR+]*L_ZS"E2QI2NJ2!AN0T1-(0Y878433:/_TJVC^% MJG.29:"DP7_QP4.+5=2SLDE6-L7%9C^_UTC_C*VD(8,E#:Z9FD%#8!R[=; ( M"#R8ERYIH"$*[@;\A,7?@<&#BK6>@95-LK(I+C8[,8P- MDCWK68)X,B#U#."$!0%A)RP(##MA06#PA 4!(2O=_]]* N]1>@!^N_W==U] M>=%_T]GQV_EN_P=02P,$% @ 8H$*5S;]XK6;" :B8 !@ !X;"]W M;W)K3;8*+4]&8UDO&$IE1_$EF7PS4KD*57P-E^/Y#9G=%E>E"8C M['G1**4\&\Q.R\]N\]FI*%3",W:;(UFD*4%E\Y>Y([KY%V92'$ M-_WF:GDV\+0BEK!8Z2$H_'MDB30\6<]Z*#Y37WA[NO7T2]+Y\&9!95L M+I+?^5)MS@:3 5JR%2T2=2>>?F&U0Z$>+Q:)+/^BI]K6&Z"XD$JD]<6@(.59 M]9\^UX'8N0#&L5^ ZPMP]X*@YP)27T!*1RMEI5N?J**STUP\H5Q;PVCZ11F; M\FKPAF=Z&N]5#M]RN$[-YB*3(N%+JM@2W2OX!W.D)!(K-*=R@RYAGB5Z]R6C MQ9*#S7LT1%_N/Z%W/[Y'/R*>H8>-*"3-EO)TI$"/'G44U[_]L?IMW//;$?HL M,K61Z");LN7^]2/PHW$&OSKS$3L'_+7(/B#B_82PAXE%S_S[+\<..:2)+2G' M(WVQ/;__!5W^=O/[/;J\N_F,;FXO[LX?KJY_1N?SAZNO5P]7%_>VJ%6C!O91 M];X^D5L:L[,!;%S)\D+:& M-90(*=_;_*T&B$%S]XC2*HY56!<926N M.),G-D_#8\[LD0;;BUS41"YRSNPG!H/&G%:I.%LBFHI<\;_*#VR>5\.%N]-' MPNX<6XQ"/+'/\;A1.G8JO=4S5D('F(?8<\RD+!6+!20^IAC,X".L )&_V'2/ M34E1U)%ML2&>7?6D43UQJ@9$ 8 RK7=#LS5#[]94KS2]AVPR)X:$83#NR#1M MICVQG38JITZ5YSN3KHD!^&1Y#ILB%BG4&;+Z(F=)21?81X"S^-M08Q=6S!/- M[=28&D)];SSM>&,:37%/.O"]%H:>>UES&8LB4PADRPV%?8-@D2Q1 8#*T46Z M3<0+8\!)< /=%CE,CF3H-J'6-5__V-ZL^$''#ZM1S[SX.U3WG8[\!NM$.['D MRM7/_BSX5F<^JW#?M51JW:9-Y/?(QJUL?""MU N(9["$ M&%+T&2U8QE;IQ6KBA3U:6[C[!^A>;DRI:R J)5-55DDX7?"D MGP#^4>%^K-'V0]#BW7?S_2&G2P;,*_>,U/QD_)$N$F;U/#"G@8QQ=[(L5E'D MC7MFJR6][\3A[*I.\C O5G&AY6=WRHM:G,4JF$R#'G$M3'TW36]SMJ4<-N6S MSIJLYI/:0,Z)"]@/D)"J)6:5;J&F;X35-!I.^H+:HM5WL_6FE.B09B%C5YAI M,B33OLW9XM-W\_.FJ<@2IE/TSK:T"K7PC>/B;NAO[LM:H6F&519D5TA;K&(W5@$A7D!6?F)KNO%62=E:S"QA6@D]#M2 M;5;324\P<0L^[ ;?JU2 W0HJ/:@_ 'XK9I]V;#+,][LQM1A!;=4GM$4==J-N M7I[M8?LL&1":U_AH*JB<0;XJK&L!FSR+$^;)L[N21,2 M59&(-8^M\3$Q:6QN"TG[DCYI04K<(&V.C&\ZCA$+*L=>MSJQ6_6<)$D+5.(& MZJYDN8'S_E"Q/"V;)G7KS"K9A&8WPA:3(>G-GZ0%*W&#M=GY]6:OI1[>Z\2" M3$N8+59DXO?D4[+3*WY;L_CRZOK\>OX=S>+C=HO_C0,E::E-#C>,85_$C"TE M6N4B1=MBD0#%Q0KJ(CV%L IUU:'[,[H)8XV(R65_BH-NX\5BUM.T(RV[B9O= MMWO:_WD'B9CHGG0/I18;W^OIA)$6[^30D73/DU*NV.I^GH1C*LMC+KNW;&K) M)LVGGK'W3:.^V+?$)V[BG\>00Z&0KGN1*H>#7Y&_U#W'U[DHRRJ8BJH@8/5\ ME$U^W:Z4JY>RZ?1:UUA[PL2"^[&QO"Q&?I^3;45 W.?: V6-)F06?T>J,T^R M_F1WU=0^6 Z\8-=S.BPF^/J)F/3X(9RC)4M2^V>5;.E+8P-Q:91 MV(/ H*5VX*;V@:#3)#D0[L!$,\:3L(L6BQDLF2C$/0ZT# _<#"_OY.HRH_1" MUQJ/<'[3+0>JX"B_YEE6YU:H2+BP[NO Q;6;^U#B*C7:>VDE9OBX?9M)-M2)3U3,OS:?- U/GY6-"G<\_ M^B?SZK&G=ICJ*:S/-(?D+E'"5C"D]V$,ZRVO'FRJWBBQ+9\-6@BE1%J^W# * M]9$V@.]7 D)1O]$_T#Q>-OL;4$L#!!0 ( &*!"E?'3'=G2@8 )P. 8 M >&PO=V]R:W-H965T&UL?5?;;MM&$/V5A0H$*:#H9N>" M^ +8CM.F1>P@MIN'H@\KXRNTO+RM?WS"Q)2:[B!UN\S/7,F9GE\/99/)F M7&EC!Z?'\NR+/SUV32R-I2]>A::JM%^?4^E6)X/IH'OPU2R+R _&I\>U7M(- MQ;OZB\?=N+>2FXIL,,XJ3XN3P=GT_?DARXO 7X968>M:<29SY^[YYE-^,IAP M0%12%MF"QL\#75!9LB&$\;VU.>A=LN+V=6?]H^2.7.8ZT(4KOYD\%B>#=P.5 MTT(W9?SJ5K]3F\]KMI>Y,LA_M4JR!X<#E34ANJI51@25L>E7/[8X;"F\F_Q$ M8=8JS"3NY$BB_*"C/CWV;J4\2\,:7TBJHHW@C.6BW$2/MP9Z\?3*15)3]4I= MZ=AX4FZAKFORFB$+Q^,(%RPXSEISY\G<["?FWJC/SL8BJ$N;4[ZK/T9H?7RS M+K[SV;,&_VCL2!U,AFHVF1T\8^^@S_= [!T\DV]0T:F/QFJ;&5VJFZ@C@6=Q M;[[)W.%^<]PR[T.M,SH9H"<"^0<:G+[X9?IFNNS^GWT!/VMR?\ OP8"KL]N[KY?J^J.Z_G+Y]>SVT_75C?I&2B, K9:E MFP.JT-1U:912 +V6%=:5;KE5P99,"QP1132 H M@L"V6: A&V_L4C39A%QGWL& YC8@Y;5=2OX8&/<4 W2SLLE%L$%K.'8_Y"[$ MF*"Q)BASC_H.56D6I$)FR"*XH0J4P6]%>)3_@W99+=XW6H?B,,/[L> MJAMXT3 /=)^$T8=V-_I3\G)"UY33O G@(&JZ\9V +\O=G.Z2![X?&N*G6MFFFB?BLY[S(-).].+X 7N-PRGI@A[P.N11=8=, Q!7:&3L>]EUS)V>2(7\KE]$CA+6>P]::5;@5^ MQ7PQ6=&.10J;I.?>Z1PY[7,UW,Y>$ )?5*B)UZ'Y@?QDN$JF,MKI>V-J[J\^ MR+/;RSX$+LU*H[8=Q%P@#%EN$BEL.U:>#ZE +(5!)7S;_'.BI%<"9HX"8V19 M4@<7C*;<5_VXV8#;"P5FA$?# OT?J7N\KDV^V5#LK:7-4*8ZIJDL-? ]8S;R MF@R8$RT'UUDI*EL0!M*!IU/GM=:19U;8&X\N@^-%\"\ VO!"V+[%'R:X3B=? M)]R+G 3?(N\XZ&VY-EJ>]Z'AT=TMUI*[!;YZS-GF0WF6?QF+Z MY0##![.0UN1.:-5VYA^,@@"0V*EXM[4E$)PT^JW8MQP?J/N=OQGLO:)IZ;QT M6EYZ@KZLJEMG66))E+/O1[9TVF;H4Z:3T('!@.L+P]IIX2LE\- MOMMLQG?_/U!&L@AP'IT.Q=FB/TFF.91VK@8@LG)!N?8TLU6 ?H?T!YHA%F54 MUD4$L.[_NONGO]<6FW^MIM-T,![NW,G-07LS4OL.HN.M+P;482G?17RJP;!- M'P_]T_[3ZRQ]<6S$TW?;9YF" 5-[ =7)Z.WK@?+I6RC=1%?+]P=F$XHNEP7Q M)& !O%\XG,G;&W;0?Y">_@=02P,$% @ 8H$*5[H.R6+;#@ '"4 !@ M !X;"]W;W)K([&+8 -GQ.TD? M 1PO[;+;)D&7W^_OCH]MO%:9M%VS43G>+$V1R1*WQ>K8;@HE$]Z4 MI<>#7F]RG$F='YV_X6>WQ?D;4Y6ISM5M(6R59;+87:C4;-\>]8_"@SN]6I?T MX/C\S4:NU%R5GS:W!>Z.:RJ)SE1NMGC'1BTUJ^:_8NK7CP9&(*UN:S&\&!YG. MW;_RT>NAM>&T]Y4- []AP'R[@YC+7V0IS]\49BL*6@UJ=,&B\FXPIW,RRKPL M\%9C7WE^;4HE!J(CYLXJPBS%7*]RO=2QS$LQC6-3Y:7.5^+6I#K6RKXY+G$P M;3^._2$7[I#!5PZ9B(\F+]=67.:)2O;W'X/AFNM!X/IB\"+!WZJ\*X:]2 QZ M@^$+](:U%H9,;_B"%JPHC7BG7U^]NYI-K^_%=#:[^71]?W7]7MS>?+B:75W. MQ86TVI(KW1*)'*KD",P3\GYI2XV0 K=7N2C7>+;1.:W!NTSF@ -2?<2O M)&3,-C+?D915+JM$ERH1L4.?;>Z7+-TWR9$&MJS>9"VMBA3 M-U4A")A%OR=^@7VRA2K$L,^8,(##_OC#Z6#0>\UW6/)1%O%:# 8.,\2=BE-I M+<<1,SBO%E;]59%A+Q^8C]P(JQ\%L$;56-,5%Y5%Q%@K9B9;@'TV*R3312)F M,&;$?\7E7Y5^D&DMT)VR9:%C$IK?S]>F*#LP= 99'E1PS7(M2QCR02$*RJJ M*RGVH')=*'JV U=EFQC[#_8\UX !VW31W9?@^!T24%A8*54.TV!G9@%Y;-5(ZAS[N()?4MX9RV.>B><"O^)88GT6@XQD5_B(O1,[UV1#_JCP;BWI1P MT<-"'Y2Y37H4C4\FXKZ00"(/UY;<3X$"*9KV3TGWK 0"@5FA ''B@[$6^G<[ M9=A9M'86BFU34$3 !QQX/!@=TWU&ZYEZ8MAKX,^_R;PB%'/*&49B.)BP5WG& M@BTLTP9,%2M"D>52R!5PQ[HS9,VM7,*#&5\S)7-G&_B1K[C8CQF1U.-: DV) M+6_=#>(9>0MJ)8E)B@<%QI U&)P3P ^I-<.RKOBL@@SO/$8^"\SH8+@>?(J( M> ?H%K_+M.)DU"3]*XA85,[/;H O#3[IUIN05^*ON5;TU"$B0L<#\1X=LFOK MX4;NZB=%!6+J<4/(CHT$?[%SE*6DX"QWD4L=("Z0;J"DK=PX_Z3%"-\%+2-$ M(9U#SY0!"?""RCF^NRSY"[)]%\L!Q?>X=EXED6"=P\8&K&[7&L L-P"<1U\3 M4&85#V2>2"2P$9(N&YUT^ P8F]APG!_6M#O:0SZ=;L5:I4FG-!U/<.?%K;E# M!!6E_IM+#5MZM>QKO%;N<\7S@8FVJ.$I$R^K JRB@Z VB+ MFNHQ5@KETT&R-=?>A9[LW8IA>J)7.Z R(>*KUYIY\L<193$445Z/Z4@WGAN M@*W4KG;,LE.ANOO)%TMW-Y_XJO_ZYYK&2V)MURI7 &ZA7,E$L-+4MHM0*L6Z MB*L,.9Q3B\X3*KJ4*W8XU>^;IXYKI]?&%9$V<0[LC?1IT 1QEIGT7 H+[[1M MDB)Y>QZH\G&H:BD]V;K$J'%/;!4#55P2WCALHWQ*CL0R^0+=6"Z.DBIV E.+ MA(QKVVEJV!-G/;ZZ)G!1KA7R>TC[<[^)HY<4+%:I65 =7&TVJ89&L0,>8AY< ME'%$T4:<3*T('L3KW*1FM1.HDBI7A1*#9$XPC2:J DH1LI%>*>LJU_%0"49Y MG7(3.OXOJLYHO+(J#9(NSHQHN$&P?2Q58;@EI'!,*LIL$OB4ZB6@#BTG6149 MCEJG@(E699K:$ AL"M:,58@V@D!JLYH6KU%EPP,U'YE!4ZID9B-_.UM+*NR< M4[,*XC4"F)_ J'!GLJ,IG'Z70,:_^9V+F:UGH$(8%XS8]RK;E(7)=1S1P".3 MX2 \<32N#47DW L8&!74,/M2=YHM"J(Z,P7@@[V(PJ=_\MK6(>77U&&%;B[6 M/-+2K!XNE)1DT]@=:B02N='%Y;]O?KV&/AW&Y=Q M9Z@;"AF'?3.>44'5+C_NOXSKE^3DJ#5@(T)!JJ7(-UTB)D! KU%1^URA2Z/S M*7ZQS5G/(BKUTK7:ZA'D#P8@0)65:%)N?!L=N.06\WJ-94 M%&B)I2(61$9C*_#K=.)QA*),2;#5XALHG*'CC$(+,IHJBZR M3%OK9P=.+%3.Q%%=3E(PNM7(X=;DN4H%9R :-;B_I :?5\1G)%&JR]Q,+:;U M3T8O1"P@1 @@5EGC,K[KIWX[3V21\!2AW)JZ,)DC,-RT=(RN&2=1X@=V\*G- M-4G*I5E3Y], $ 5+@4OWE\BY$I:OMMB\ZU =]+R/\W.*#Q2&]FG%F[JG+U:V MI^CBVR4M[KMNE'+S*;@@:D _V2,>N#XB>U!"11'!0)JZ*H76U^.Z!B\YMMUM MN]G:IVL6J5ZY@@/$,_DE4-@XF"#=:4;H,+%S[]%_N"EB@+(VZWQPZ\@P&4"- M]'\72:)#BHE+@-N M$\)05@EB)-119L85S]P4.]\ADFR-JL^-Y;IW G'N0S9YZ5,L%U3Y8TQ# 5*4?5)-CFGHO M?UCS#;E#\>\:W2&=N :[GBJV'%JWQMXM8S"+$7!Z3)_;SSB^(* MK/DBL<_%/Q(@^'S&$[H\^"C7$_0U9B?JKX\>=!A/ X:*4^KQW=S@CD)R3G.# M:0B=T!N@*3$4JO#M_3$#<.)+X!@'5'Q]WQ$X@9?ESY9D)S\JB1'U[RD=BG< [C!OQ2$'4F-=$3=C M';!P9V+$#!05B6NU%7^8XDL )DY1U0*MHY;%+@IM0.2B33L_^PA<'/3ZIY'/ M<>[[0QA+=^GOJ,OH^6QBZ4:U^Y\=GBR:ER;^TKE@")\!@="G.0<^Z9^*?H] M$6BCQ#T#2LAZE[*@ L6*6ZAYYM!HOB8?HR+'S?W=@(J#<$D-4%3C2_@>%?KW M)#KX;6#+'\(IZ\!QT.4%V+-KG@8!1;BX((UWV%]B\J)O[.+17.O)W@1^GV2B MT0ZW)LV!8%[QAP%P6,^>J4:FU=1A^_95J[H@X]#SP-'@CDSC*JV%#8>IH-D- M=UO$X4+%DK('=NG"QQ22"LE2ZDXX]Q54S^[1^D#>&'N.0NCPF[HJ:EU]_N>: M[_>CP:@?]4^'\)IH,AY&@PDY4'1V=AJ-QA-^.AQ'@Y.>N'U9;:_$)QZW$F+Z M Y?M.;@EEW6#J&R3FIU2_I'9N.G%:#R.AJ+0/K)V20:3\Y(SM/^*#HY.Z.GP[-!-.F?\-/!*2T2TW_L1OO.TW:< M[W,-5"L\O&EB3X#9"30RZ9U&0_JL.1A'X]%8C$Y.HM'H5%PZ2I1*@7=Y"<:F M"=1+(V.@9.*_,1HQK*?U@"D0+3Z609A(4 MUE8G86B2 DMF#E2%DF8RI4MFJ:OST%0:6>J=2A%&@\%16#(N@^G8CUWKZ5C5 M5G")UQI,799,/\]1J-4D& ;=P W/"^L&PNFX8CDNT-Y5UYIZX1HEY25*PY4$ MC=DDF U/YB-G[PWN.:Y,KPU.R5*I!]>Y3"?!P!%"@8EU"(P^CWB*0C@@HO&C MQ0S62SK'?KM#O_#:2VF(2' >08L9J86_4Z@NV>@X=7J*$\?^P M:FSCHP"2VEA5ML[$H.2R^;*G-@X]A^/!*PY1ZQ!YWLU"GN49LVPZUFH%VED3 MFFMXJ=Z;R''I-F5A-38X\4[)!NP"BZX9#+A3,#",ONZW@9NM!W.5SKW?G<'4^6]S=G%^=?[M=P&QQ"K>JX@D<1P/?V^;Z=H45/1-,NH##(7S4FD6>=*4'7P$:0"HZ:Z:1X M!NMWTN>DT\EE<^OXXWM)5PK1-$@33*:P)SA;RB8^*5"V]*"=(VUU M%U!*,VY.8%:JVN&3[?80PYW9B/]F@G?)/3,N,WZ7?DKG'[D['(JZX2G)\QHZ MQL_P[LUQ-!Q^=ME6"Y537;V%O>%^_&D$[ZGYH?VMARY?[O9;&!U^;.VZUO\N M[.4N_H&XH_B%.#^T5=QA=-S:=:W3@M&ZIBOT_BYG/IT[ZH8_;>S(@D;ZM]+& M])P)N@C0A6V).9>^B@FT0LU52HLW3"]+.C.M/T?HS. Y%17E%EWNK>;2HV'?7"DM-V I=W==DN$O1N]1)W[=PL=&6Y[F\M]/;I^&LV:%\$O M\^9==<4T23)T?F;D.CCX>!B ;MXJ3<>JRK\/ELK2:\,W"WK>H78&-)\I.@/: MCEM@_6"<_@102P,$% @ 8H$*5\HF_7/(!0 AP\ !D !X;"]W;W)K M&ULQ5=;;]LV%/XK!UXQM( VNI+G6):."Z MKH3>'Y3&K'9'(YV76#.](U$FU=4H]/UD5#,N!M,] M]^U,3?=D8RHN\$R!;NJ:J9L#K.1Z?Q ,-A^^\F5I[(?1=&_%EGB.YK?5F:+6 MJ+=2\!J%YE* PL7^8!;L'HSM>#?@=XYK?><_V$SF4E[:QDFQ/_!M0%AA;JP% M1J\K/,2JLH8HC+\[FX/>I9UX]__&^@>7.^4R9QH/9?6-%Z;<'V0#*'#!FLI\ ME>M?LDFM0=C19LW]%!>7<*.KE-,],3Z5!&,,0CJ4LUKRJ M@(D"3H1A8LGG%<),:S1Z;V3(F9TRRCO#!ZWA\!G#"7R6PI0:WHL"B_OS1Q1D M'VFXB?0@W&KP8R-V(/(]"/TPVF(OZC./G+UH2^8:C(0/7#"1&SBH9'[YYU-9;/7S=!;PEAAR_.7+T;>33Y]@=GH$)Z<7L]/CDX-/ M[V%V?O[^XAR^(93L"L&4"O&63)I? P&'/7!PP"I:;23&?62B(1V H.MY V'@ M)7X,)S5%8$ N@$2'RDI0(2B%(K\!HYC0%6L+NOB+ZL/!!8$?WK5\SZ.SF_KI M;51KIB&7]4IQC87U8THD7Q4I%!=+8.:!A2/,L9ZC@JB--=R]'?"P+W(#X+V5 M'24%S^$"M:$@(F\<)>X=)1.JBBM.W39Z(MX%YJ60E5QRHF3@94':_9XIF:/6 M#P8DWC@>NU\%$_][ M$J0$9K54AO_3]KT-/#])X=V6M"=>&&1W(>E"7R/5+B,&YB1!A94EV2C:]5;6 M/"V!QF7K\V5ROI:;NXZ4DRR@]]@+HJWDS(((LBA\AI@AD78"0>3%6=81\S%* MM.*IEP1NZ3,OCHG"]\K/,!JL8:7D%2^HHU&$J:*MUC!. CBGHX5;G,>6J:P) MOO]>NV[ L9*4Q^&&:[.6@K,\;^JFI.X9PKEJ*K0]](LA"#P MXF3<$YA./B]D[3S22>]2=\4^[-[/$R.<>$%JI:MSUE/E,NH^82R%KTK@YA;#@1F^VE2=T@Q8=KU>DBJWTSFGO(;2; M&@L/:$^QL@^:=@%[Q!_:,Y/US[4'?$$G,M)MZYZ"W"397YA#3#9J\U MG;L>(4JT(8[<"]^:%QK=WHR,(NQB$?:8NB L6Q5^J]!>(0M4[RQ_/#]RFY63 M -J;0MN(72--72-QC2!Q#2L929+ 4R?MT9W+$17STET![?F/)*"])_5?^UOF MK+UDFS(J.X#Z M%Y(N'5W#.NCOWM-_ 5!+ P04 " !B@0I7FJ&Y6X$$ "5"0 &0 'AL M+W=OR1LM*FRJS.#5KM]D:F16=4U6ZW/,BM\I4 M[8R'W;<[,Q[JUI:JEG<&FK:J,O-V(4O],G)\9_]AIM8;2Q_<\7";K>5T I5"7K1ND:C%R-G'-_$9"ES M2P@9_CW+B2Q+ D(:?^\PG4-([]$ON]PQEV76R(DN'U5A-R,G<:"0JZPM M[4R_?)6[?$+"RW79=+_PTJ\-4@?RMK&ZVCDC@TK5_7_VNM/AR"'QON/ =PZ\ MX]T'ZEA^R6PV'AK] H96(QH-NE0[;R2G:BK*W!JT*O2SXQMM)83P&6;R6=:M MA$NC*YCHVAH4K(%'93UN?@? 8<(^+#_#$00#1X8D/!&C :KA4=5;G*BMA;C,K ML?'LR7Q[N. T'.VA0;/-! -O@(?;POTNJX M2-@Q1S6"/Q?RU<)%J?.GOT[Q_S#":?[P"5MD-GV8WMQ/X7)V>PV3VYO%['RR MF,/CU>(K3.[GB]OKZ6P.BPVRTR7N=56OP6;+$M7=&OVL"@E942C:BZBQJOL# MI=N92SPM0+<&=_E1?OFA";L$\WT3,G3.R[:@ 'N'Y=O!#EE=4,2B16GLVU9V M'XX6XN'S).U91_6_-'X($9W HKO=&"FA4:^ ;2GW;!#"9?E&9@R^[-M$U9]S9?)6V2X =AOXJ$F,OEZ"A%"-" 2+48HY M[@V52U=C(Z"<+/4]LJ/2$>.QH#A^^G^U['MS\*]<4:V$):*3+6*!U\%&+/2C M'C9.4[C"Q8TU='YQEGA84Y8*CW0/B$O,4SAOL7DTW8+PZ7T+3>F"-"J'![E1 M.6[77S&9,."89HCB!\Q'.2,F0@^^R!5>Q]+-I-'=(8%KDM0CB3B5@8)@6*3U MAUI)F.=*UEA5M/LBI-^([%&0X#C!^LYEWAIEWR 5$<14:99Z6$DFT'C;Z2I0 M?5*)?:HO#=<(/O)FEH =I7&N^>W80" M'%YBXW\ 4$L#!!0 ( &*!"E?/XI?C5 ( "P% 9 >&PO=V]R:W-H M965TF0+2P*Z4R$U986YU' MD0"5,DKB>!257"B6CH/O3J=CJJT4"N\T MF+HLN?XS14G;">NS9\="K OK'5$ZKO@:EV@?JCOMK*ACR46)R@A2H'$U81?] M\^G0QX> ;P*W9F\//I-'HHTWON83%GM!*#&SGH&[Y0EG**4G%VK'@SB$TCB9'"$;]"E.@A\@R.I&K $GX7B M*A->FXAE.F&L'@_H)6?KN37\4?SHB=MB)'1YC M3V>D,J=+\U"["V$V<"E,)LG4&N''/>XL3"5EFY^'E!_E/JPBV4 8DK!XU['T\9Z*8W&\-2 M%?KAD:RK]; MW#A#[0/<^8IY34 MTP( $$& 9 >&PO=V]R:W-H965TV!-;\@L Z02LLT)K6K@+4/TQY,W'./M_G M[_/Y+OVM5,\Z1S2P*PNA!UYNS/K*]W6:8\GTI5RC(,]2JI(9FJJ5K]<*6>:" MRL*/@B#Q2\:%-^R[M0-?AU:AM][L-CQRW^L@&JV0AY;.=3+*! M%UA"6&!J+ *CSPO>8%%8(*+QM\;TFB-MX+&]1__FM).6!=-X(XLGGIE\X/4\ MR'#)-H69RNUWK/5T+%XJ"^U&V%9[X[8'Z48;6=;!Q*#DHOJR77T/1P&]X)V MJ Z('._J(,?READV["NY!65W$YHUG%073>2XL$F9&45>3G%F>"\-0A<^PT2\ MH#!2<=1]WQ"R]?MIC3*J4*)W4!*XD\+D&L8BP^QMO$^,&EK1GM8H.@OX8R,N M(0Y:$ 51? 8O;F3&#B\^(U.#D?"-"R92S@J8&6:0GI":Y^&LY5RI=X9;KM)!ZHQ!^SW%G8%3(]/G/ M*<)G(4\3AD^4^#BNY*\0WK_>@:,9W[WB<5B?O8(UWCC\3&'-:M,?KZNV<-A>-=<[.IT+#04N M*32X['8\4%7#JB9&KEV36$A#+<>9.?5X5'8#^9>2*JB>V .:O\;P'U!+ P04 M " !B@0I7>8];&Y4# #\!P &0 'AL+W=O=Y_(QG/!ZMI7K4):*!Y[H2>AR4QC3G8:@7)=9,=V6# M@E:64M7,T*=:A;I1R H'JJLPB:)>6#,N@LG(S=VIR4BVIN("[Q3HMJZ9>IEB M)=?C( Y>)^[YJC1V(IR,&K;"&9JOS9VBKW#+4O :A>92@,+E.+B(SZ>9]7<. M_W!.%*J0Y,X+FQ2 M9D;1*B>"L@IEA!JFR MS,%X/5UVF,Y>DG/=L 6. [H%&M43!I,__XA[T5]'Q&9;L=DQ]LD-:HW8@2\- M*F:X6&WR M\?\-G M)*+QW\/B3Y*>U@TG%+B;ZXN9E,NF%(A@N;/0,G";;+LD,"#6]POBIW7C""'5W;X MG;4[A,H> BRD-G "6932F,9]&@?.[F4IS$JIS'N#JOZ/-_UB.UCW+"-Y"$M9 M43.RQ%P#*PIN&P35!1>^R[EV,:<6!K)5GH[\-,CE[X+/X9Z)%=IYA;8#[K1: M(1I.Z?Q>D"E]!E$WMD78[P[@FVL5%#U[H@ )?PB\C\VZ_?^#;))D*PS0&2&Y MY._@EIE643#HI'JNBK,YK_SD@1#\<.H5%*C.Z)2&_&O;@[9A/42?(<;'$#KYO6N,HB#%** M3O->#F<;Y GDG=XP@DNF2[BF),&GO9QX'U93IOE//T7QW'_Y2I%II)W6%.%) M.HR!B0).^H.$4JVH7/&MDNV\L4#U_H&.DC)BP8=@:PF29NAWZ-J'>QVY1K5R M[XX&ES#?G+>SVZ?MPG?TG;M_%V^96G&AZ5"7!(VZ_3P Y=\:_V%DX_K[7!IZ M+9Q9TO.,RCK0^E+2#=Y\V VV#_[D%U!+ P04 " !B@0I71N/^ZL0$ "< M"@ &0 'AL+W=O\_&;DW.R M-/;1+1 ]/%=*N]-HX7U]G"2N6& EW,#4J&EG9FPE/$WM/'&U15$&H4HE>9KN M)Y60.AJ?A+4?=GQB&J^DQA\67%-5PKZ':01%X[RI.F%B4$G=_L5S9X<-@<.W!/).( ^\ MVXL"RPOAQ?C$FB58/DUH/ BJ!FDB)S4[Y=Y;VI4DY\??C4YL-W M\(8K_88!;_B.?@Z\@2NIA2ZD4'#OA4>**^^VZ=O"C;;#<8H!I1#CBT M3QB-/WW(]M,O[Y =K M;IW_P6>PYG+C!W MR%XJAN_?8)CD1U23LA1&R3"E43[J1\,,/L)>VGYNA'8S MB:J,X68"&>T?M&)9G@RS5FYC2!)!,DO[;Z?N6C<-MX4W;*=L+W#+R-K]4G[8 M+L4;UDS[I8<%&=((#9.YQ1";('6A&LHI$/ QWXO3E)VC=RT^&?7$-BU1B1?: M+ZU8 KF@8NF7 BF.:-Z_=JD^P2Z M-&SK>ZQ]:\>\M6,>4V%\>14JZU/945@Z()_\=B0.0<\L:DM&ES5%YU0H*A;( M0_&H?>HL W5)JG)>>A\>%Q*RKYPSF%! M$4W3)[2:7Q:R1BA@1,)R1M![##\']P.8AR,A9H*0]))0=SJSW]]>W:V\3R*" MKM&/N_1N4;4HPYTM7JT:1\1!U+62A9@J)&M:2M:8(HU:@)#'1$XA74?/]0 N M1;%HHV^;>DNI%/F1/$B@I@ZIS)R;4"I0AIC9D9^AJ;D\=]X.'T=7Z';(;IF0 M;IP(KQ*DH(>'F@[7O9+44?2O,3G%/$EN&USL<9=5E #T?N&]%=&SW=#TI9< M\]DPR.;L DYSW0^40A#O6.3^BHS\F6I/'J=4B=JZ%G,AHN'>>K@/P_APE'.1 M&L7I40[;'J9DHV.HT,Y#7T2FY)AMFX?5ZJKUFK0=Q_IXV[?=A"AQ%!@S$DT' M!WL1V+87:B?>U*'_F!I/?@K#!;6/:/D [<\,Q4LWX0M6#>GX?U!+ P04 M" !B@0I7.WKP?8(% #_# &0 'AL+W=OC(*@TYPQ433ZI^YLJ/JGLC2Y*/A0D2YG,Z:> MSWDNEV>-L+$ZN!.3J;$'S?[IG$WXB)MO\Z'"KKF6DHD9+[20!2D^/FL,PI/S MMJ5W!-\%7^JM-5E/'J1\M)LOV5DCL ;QG*?&2F#XM^ 7/,^M()CQ=RVSL59I M&;?7*^F?G._PY8%I?B'S'R(ST[-&TJ",CUF9FSNY_(W7_L167BIS[;ZTK&C; M<8/24ALYJYEAP4P4U7_V5,=ABR$)7F"(:H;(V5TI,L/ZITHN25EJ2+,+ MYZKCAG&BL$D9&85; 3[3OY&&4QC0,8V,3!^/K8<97<@9LJZ9"]PP9\5ITT"9 M96FFM>#S2G#T@N .7W]XFSQG.@Y2_E9 ]6A MN5KP1O_]F[ 3?#Q@;'MM;/N0]/YHRA0_/G?)&;)G:R,-E&+%Q-E+?][S)T/G M.5+XUS[;#TL_L@@8W=]>_'Y\/AA=7=+%[?7PZF8TN/]R>T/#/P8W-- DQX0< M\'4./ ICNX@LM[N)PM6-_=+[-TD4!1_=.@K"]N8 ZQM9G6UN?UGA+Z2DW8$EG< : M%<>AM<\+NM;.'AQ!Y)'()=-4R/TQ3ME<&)8C$1F)XF!L_:K#T6V-$0!PQI[) M\ +9!R,AF=2?TX_'8*A" E04C*0N@EM]KT3N*?'CQCB[%0F0L3S.P>V.2UD#A=S89Z!S-0 NG[[.'X1P:]6BWN)K8.*PU=(11/>U68K=J^.$[HI9P]P 0:ZGJ@W81G4;EP] M<94*@&/H KK*-R82;0!+F.715U:4F$&H;EB$#MCI>DD"9":!UP:6$Q_P_&S; M!$3W6E[2"4!CH[B2G]%1&(9>@LQ^ #FR?X%W!/,&+M WDKB'\YX?]%XP82=V M,"#I>KTDI+B5>)T(R@*_U:&[3<^KX#NH>IZ#K(2$:Z;2*;7"+8$C/LF?-]3_$3&O/@O_"T0N\W1IZ_N3+8OOKBR^K73JBNT@IJ(D\=IQ0%T_ M"39(ZGKM3FB1U&[1]TK84=SU8H<6Y+S7(XR;8R[<3=CRHF[H<)0DKZC?P5,K MC+T :.KYW:HFC42?_*G$;71>BIZ9,D.UNE>K?M^$T]P:2F=<3=SHK#:JC=D%<_#0 O/$::6 7KWSS]?P%02P,$% @ 8H$*5^>KXCE$ P '0< !D M !X;"]W;W)K&UL?55M;]LV$/XK!Q4H.L"S9-G) M@L0V8+L.NJUIA-C=, S[0$MGB0A%JGR)D_[Z'BE9S3;77VS>\9[GGCN2I^E! MZ4=3(5IXKH4TLZBRMKF.8Y-76#,S5 U*VMDK73-+IBYCTVAD10#5(DZ3Y#*N M&9?1?!I\F9Y/E;."2\PT&%?73+\L4:C#+!I%1\<#+ROK'?%\VK 2-V@_-YDF M*^Y9"EZC-%Q)T+B?18O1]7+BXT/ 'QP/YM4:?"4[I1Z]\6LQBQ(O" 7FUC,P M^GO"%0KAB4C&EXXSZE-ZX.OUD?TVU$ZU[)C!E1)_\L)6L^@J@@+WS G[H X? ML*OGPO/E2ICP"XV;9?*K5 ;2/)C:_"*4&-(GCTA_*QFK:Y82S\T_*(HQ&\#.LZT:H%T386)4_ M0N9T7E&YD DFI[&E7!X1YQWOLN5-?\!["7=*VLK 6A98_!L?D\9>:'H4NDS/ M$O[FY!#&R0#2)!V?X1OWA8\#W_A,X0:L@ELNFK&3<^SS_[5>PV9[O_H=LL\/JP^+S1JRCXM/L*T0N-RN-UM8*=TH MS<(K.ZOTG270VS=7:9KYSJW:H8=3:PR#)TT*CU1,O_/%6S (E9F6IL:33!;4'U_AC M3R^209(D8"I&97N_<,J3S@YQ&AWY$.X3W3GN,]QO^W';V^+H&_W.E [C5 MJ@[AN-]C&*50= WM:[&55JZL_LMVZ@'$KT96C;H,@]E0UYRT[?3JO?WL7[0C M[WMX^^&X8[KDTH# /4&3X2\7$>AV&+>&54T8@#ME:9R&947?+]0^@/;WBF9! M9_@$_1=Q_@U02P,$% @ 8H$*5_KFC4/B @ 708 !D !X;"]W;W)K M&ULE55M;]HP$/XKITRJ-FEK0J!=U0(2=%3KU':H M=*NF:1],?+M+#A%]:- M;[\?059;IV4+)@62J^;+-NT[[ #.DE< :0M(@^[FHJ#R$W-L/#1Z#<9[$YM? MA% #FL1QY9.R<(9..>'<^$X[A%X*'V F*Z%?$&&*"@ON8"Z8LL/8T2W>-\Y: MQFG#F+["> JW6KG2PDSEF/^+CTE=)S'=2IRF!PF_U.H8^LE[2).T?X"OWX7< M#WS] R%;^:^"&:W\YNO M/V8SF,[N9E?7#S"_F=PMX!&A9,_HBYVXU$R0]90Y/#6 M0Z,MUINB=U!7A&TTA>=G*@]J.@4T$;>:#;6DRTI/N/LX%ECAZ##3Y$:)I&/_ M"/_[3/O**-YI>8EF%0:;I9MJY9KN[ZS=[)PT(^.O>S-X;YE9<=(JL"!HB\T-11[<9?T/VCC/\ 4$L#!!0 ( M &*!"E<+T./]704 "$, 9 >&PO=V]R:W-H965T#6;.S4^&0UO-L)7V6,^Q MHYV)-JUT-#73H9T;E+57:INA",-LV$K5#4:G?NW>C$[UPC6JPWL#=M&VTGR] MP$:OS@;18+/PH*8SQPO#T>E<3O$1W:?YO:'9<(M2JQ8[JW0'!B=G@_/HY"+A M\_[ [PI7=D<&MN1)ZV>>7-=G@Y )88.58P1)PQ(OL6D8B&A\66,.ME>RXJZ\ M0?_@;2=;GJ3%2]U\5K6;G0V* =0XD8O&/>C5K[BV)V6\2C?6?V'5GTW$ *J% M=;I=*Q.#5G7]*%_6[["C4(2O*(BU@O"\^XL\R_?2R=&IT2LP?)K06/"F>FTB MISIVRJ,SM*M(SXUNM4.(8O@9'G%*C^W@NNM=36]V.G1T!1\<5FNXBQY.O *7 MP8WNW,S"55=C_;W^D*AM^8D-OPMQ$/"W17<,<1B "$5\ "_>VAM[O/B O1:< MA@^JDUVE9 ./3CIDT^T^>WNX9#\CGWZ(LO"7 V23 M+=GD$/IHXY('G&OC5#>%]\I6C;8+@_#'&%\<7#2Z>OYS'_&#T/N)PQ&'PN/5 MQYNKVS%[@Y'U_?W<)GA)E<(KB90?XJ4\/=PE D=I2ZGJ1#V0:@NJI9 MU$Q5T_;EU1VL9AJ4!=E8W:_-%$[@;HY&]B9AI7R*W\AG-" M)Q6QK6%!,63@ MT_'C,7P\/[\/ )>R64COP!D"(?A([2H$/?'8>HMJ^Z>S,#>*JHUJO@)=0>QT MBS QNH5:+?V]% %K-=U98JNJ&54;_RBLC])T!&CA">DVW$ X^0+X0J71(LBN M)IGM)F:J$8JUFG&SU59$811'$& M>9"&.419$.4%1 G-0K@WND)KOS\>Q4$B2HA$(+(<1!:4<4K\Z)8B+-X$<$"6]$.4LG+\1:'"44IR00IZE/)"9Y!XO MI D+U_\(==HA@GR WI*&F!S%#'(>[O9F 4046Z1&!T2:\EF2KMY..0H$BL;4 M>RREQZHF2,*2C M8ZIV$]U0 \6ES7G2%']VW?M^-]\WPCS511C6AP0JKA<9X.P/0-:3]Q>NZ;P"?M MJ*7TXHQZ>#1\@/8GFAJC]80OV/XK&/T-4$L#!!0 ( &*!"E<'Q6MBM@, M +(( 9 >&PO=V]R:W-H965TKE7^LXTB!8>6MF95=!8VU]$D>$-MLRB"]=+KKO5ZJ08K18?7&LS0MDP_7J%4^U60!$^*&[%KK%-$ZV7/ M=KA!^Z6_UK2*)B^5:+$S0G6@L5X%E\G%5>'.^P-_"MR;(QD[4* M8@<()7+K/##ZN\=W**5S1#"^'7P&4TAG>"P_>?_HN1.7+3/X3LFOHK+-*I@' M4&'-!FEOU/XW//#Q +F2QO_"?CP[RP/@@[&J/1@3@E9TXS][..3AR& >OV&0 M'@Q2CWL,Y%&^9Y:MEUKM0;O3Y,T)GJJW)G"B@_5//R1E_.L);/F$+3_E?;VAAJP& MB:Y$[YAI0O\+'[X-XIY)[*P!UE5P@\9JP2U6X_Y?G@W-\ZW\9'KO.PV)6PHG4%U/JB^]._5??Z!3N\AXUO5OP>?"T M7>,TC.!\9\9/1GPCX[>-1GS10\]%V(B'-W9\>7Q%GJ6)!3NPX*IMZ94T(P5Z MOHVE]+J^/W//GN"0)&&:4U7F&21Q6!99F)9S)RX6\S O2J_-BC"=Q?166*J0 M8%(^0B7DX)Y>,,@'+2P](1?PI;NGPE'\IX#U<27IV>-WOKS8]E(]$NE1I7KW MEAO(BR+,YA2R3,(B2R!;Y"')D"SH.J7E_]'SE_)(\^)6O>3NT9,C8E\NRK H M%X[GG.[6;+%PVFR1AF4R\]IT[@Y--Z.;;D9_.A^ #UP.KFBU5BU=9,D'R?S8 MVB)G@T&P#0H-6-M1"54!@2\I(&<_#C J>I$58 MY 7D,VJ/?/YJ5T1';&ACPK4[@#MUXI2=EBX --GROH?4$L#!!0 M ( &*!"E>!I1L[' , "8( 9 >&PO=V]R:W-H965TV0^'? M[^RDH;!2(8T/$+_W_FNO;G2]V:&:.$Q%]+T@YFUQ6$8FG2&.3.[JD!) M.Q.EA*32RS#OE(HS;[;TP9UP&@YY?N]2#GBJMX!(O-9@RSYE^&J%0 M\WX0!8N%*SZ=6;<0#GH%F^(UVMOB4M,L;% RGJ,T7$G0..D'P^APU'7VWN". MX]PLC<$I&2MU[R9G63]H.T(H,+4.@='G 8]1" =$-/[4F$%SI'-<'B_03[UV MTC)F!H^5^,$S.^L'!P%D.&&EL%=J_A5K/9Y@JH3Q_V%>V[8#2$MC55X[$X.< MR^K+'NM[>(]#7#O$GG=UD&=YPBP;]+2:@W;6A.8&7JKW)G)'6:;AUUJ$/GL/1@G/.QEQP MRXEM'9L,**.O,"VUYG(*(V:X@9]>"MS@HX614.G]KU6JUIZ[6A4,XP,*B.IO7'\3&!I0$Z!08A-*.*8\(7>'DRIZ[QEJYM^LJ)4_ MP>;&01Q%1S!,TU*H*4_A$VQ%K>1S![9IN%/_-4MGTB+QMT!("&;."MKM=/=K MN\7HPX6=8(KYDD1<7_X^XO>0?<7YII;AN?%#;+49KTK#;I&'WH].P!;=2 MC5WF^&P\DT5IG8V2*7E7TM^7J6NIO9&IU_SQ1=EYE6DC)IA,T<5[C%,NI:-- M82M03:!D<9?8: MEM)R54#"I=J=HY[Z#F4H52@OJS+>K#9-<%C5_F?SJH->,$V2# BL! 2@\ !D !X;"]W;W)K&UL MQ5?;;N,V$/V5@;HH$D".1=V5V@;B[&:;17<;;-+VH>@#(]&V&HGTDE2<].L[ MI!3E4EOP!@'Z(%&T.+^=3J=WJ01 M?/K\H/W,QHZQ7%/%3D7U1UGHU=1)'2C8@C:5_BHV/[,NGLCHRT6E[!TVW5G/ M@;Q16M2=,'I0E[Q=Z5V'PSX"?B?@6[];0];+]U33V42*#4AS&K69!QNJE4;G M2FZ26O!WV$AAL^"ZY6"#[Q@Q7/Y,7K;N^P_N#SW!Q5^:O@1!)X+ MON<' _J"'H+ Z@L&(%#0QK8$/2WY8[+^M&[#%;O3,*]$?O/7M@@&;6R/ M .:THCQGR(Q/E#=8KT!:Q.$=^,2-O0C.:Y32QC5L#DA_CH25DO'\'K2D7%6T M+;SB;^0Q%C+2B'C^4\T-9WTF6[V)E\ ;E&/6[0W;M\)UJ#B'6#U@;QG.:NO MF83@ 2V\^?#!-"$I>)FC=:4QU, -@]BN09QA:=R6^-I@1"L\DJ^XJ,2RQ&P3 M-R5)=[^0(F=*O3@0NV$4VH5D<"6,AN5#R#VF?=(&P(U[<..]P3W'HEZ4O-1L M] NVUVVM8S_8!TV^@J.I!?85%/7C 8:BUFP0PZ3',-D;P[.WP&_0W"OP(YY+ M,N\U ") )[60NORG?7= 7"].X' ULSU23H$:]K#FNX'ZZ^+5R,Y:.%M&L"Q MK?PL);B&+@D&.T!* D@#?T?U^]@9,B"!&Z5I5_WE8^"T#1S3F;@QL7E-W2C* M7F3@HQ2H^)1*>5_RI4E?PS6MBB"+#5)2[$!#"7-M]?;)RV./=/)PL3K&]IW9PW_1D;= M.I@US\_:OFFL]84VT-2ROJEE;_1?X<)9HQN$[UG>/]SA"*?8GNUOT)<=[<\V MD0/)S!18,'EHPG>]P#8_RV#L=;[91':3)'83VPV)[<8P/H[CK7B-G\PWR,6E MG>(4Y(;![:C3_]H/BB?M?/1XO)TR/U.Y++F"BBU0U#M*\'-/MI-;N]%B;:>E M:Z&1^/9QA<,ND^8 OE\('!>ZC3'0C\^S?P%02P,$% @ 8H$*5Y@7LY7^ M P 5@@ !D !X;"]W;W)K&ULE5;;;N,V$/V5 M@5H46X ;2:2NJ6,@EPV:HND&<9I]*/H@RV.;B"2Z%!4G?]\9RG&3(C':%YGD MS)PYVK>SS&39F>Q+$P^;&TNS<(^RT"UVO38=6%R>!*?Q\5G"_M[A7N.V?S4&KF1N MS -/KA8G0<2$L,':,4)%/X]XCDW#0$3CKQUFL$_)@:_'+^B7OG:J95[U>&Z: M;WKAUB=!$< "E]70N%NS_1EW]:2,5YNF]U_8CKYI%D ]],ZTNV!BT.IN_*V> M=CJ\"BBB#P+D+D!ZWF,BS_*B M)3H;$\D/$F5P3:#K'KYT"UR\C0^)])ZY?&%^)@\"_C)T1Z B 3*2Z@">VBNA M/)XZH$0/8WWOE3=&)^]'\]DY[C=5C2[2,&TQ^^B[/HIP/]P/HK_/'>[6%O%-TX D1R_Y M3#]]8.%F\$>^&KUPG3_O=C1:<,\;/.9@&"@A? \R%D6>\T"*J$QID"B1%C$- M5"FDRN'KE^OPJG.XLI4S%N)(9&3.19)GE$<4909Q(I*88Y44:5HP6BG2G$$R M,GG\5(DL?4-J8\UBJ-V.T]T:Z;0W0+O!<9R(<\EAHDP9)XY%6:IQ$$7%WIU M:NQ[7BXHH!1E5G!169E G-$L@1FVNC8=YR+^'K\0>:HH1Z8D>Q5I";&D60GW M>H$&=%NM=+<"*1*5T%>1,JF("@F)D$D*E\TSFRGY'*$B-77WN=:V'K3S"?C, MQJ1)3K%1081(C0R4R$F*&35:UQ@:1R605QE';">E,R%SQ7GB\O]J23?[ [KC M?]5*:A6B4%ZV3"21A\U$&FXI/<$ MPPJM\3N>?(HR8HDDMX&34%JB]:M>(LQJC1UUE>RQ2OF;L3U+"AH7U-\9UH/5 M[AE*E4'.G19E1)T4BHQ?O:Z*U&?%)>E$?8ZXHDS*_Z3K>S='^.JNIX.T\B]: M#[49.C=>^_O5_:-Y.KX5_[B/+^YU96ES]=#@DD*CHSP-P(ZOV#AQ9N-?CKEQ M)+P?KNGA1\L.9%\:NC-W$TZP_RLQ_1M02P,$% @ 8H$*5ZT[3K6] @ M!08 !D !X;"]W;W)K&UL?51=;]HP%/TK5UDU M;1)KOB"P#I!*/[1.ZE25;GV8]F"2"['JV,QV"OWWNW;20"7*BW-MWW-\CN-[ MQQNEGTR):&%;"6DF06GM^BP,35YBQ%VXYZO2NH5P.EZS%<[1 M_EK?:9J%'4O!*Y2&*PD:EY/@/#Z;]5V^3_C-<6/V8G!.%DH]NURPMGI3V41AO %;N0S2JLT1P.? M'MA"H/D\#BT=X1+#O*6;-73).W09W"II2P-7LL#B+3XD:9V^Y%7?+#E*^*.6 MIY!&/4BB)#W"EW9^4\^7'O%KH/%WR%Z#[A]&NPHY,VN6XR2@$C"HGS&8?OP0 M9]&W(]KZG;;^,?;IG"JNJ 6"6G:_XZ4'%[76%,,?KQH><&MA)E3^]/>0@:-' M'#8 =,G873)<8H[5 C6DL5])X)YMZ,U9U)P) R<09[U1VF^#T0@>J?" 2UAK ME:,QD/32?DIC/TUV1B!75,HKB058! MTAB/,GA0E@GBWCW.$TC27C2,7)#T!MD 'DJ-^.;A[1S-^?:='>_5V]M%5UNO MG\D"U,(H@50@9'KE%<1I[,9HZ$1DF=<4P:$G$.Z59H4$=PW(T%W4TC95 MVJUV/>Z\*>U=>M,@;^ET+@T(7!(T.AT. M!-TVDF5JU]H2^4I;;APY+Z-&J7 M0/M+18^_G;@#NLX__0]02P,$% @ 8H$*5^'&HH03 P /P< !D !X M;"]W;W)K&ULC55M3]LP$/XKIXQ-()4F3?-26%N) MLDW;!!L"-CY,^^ FU\8BL3/;I?#O=W9"*%OI]J'NV;[G\7-WSGF\ENI6%X@& M[JM2Z(E7&%,?^[[."JR8[LL:!>TLI*J8H:E:^KI6R'('JDH_#(+$KQ@7WG3L MUB[4="Q7IN0"+Q3H554Q]3##4JXGWL![7+CDR\+8!7\ZKMD2K]!\JR\4S?R. M)><5"LVE (6+B7XUALVV$CF4M[:R:=\X@56$):8&MV1%KAI/[)_<+%3+'.F\526-SPWQ<0;>9#C@JU*[F(*?R'3-L M.E9R#*XL$6Y,HIV.>',](LT"",XA#.DV#3L7[-YB?I@[!MB MMSY^UC+-&J;P!:8$SJ4PA8;W(L?\.=XG59VT\%':+-Q)^'DE^C ,>A &X7 ' MW[ +=>CXACM"U=#$MRV\!AUM1]N/XUC7+,.)1[=?H[I#;_KFU2 )WN[0%G7: MHEWL4Y?]'IQ*;>"'DPC7>&]@5LKL]N3L)!K"52&5.32HJC^\Z3>P M@W6/(KAD8HD@%_2QVW;RQ&ZA=#6Y@ =D2A] T!^ D9#V1W#COCO2R^Y($N&W M@3>Q43_]&Y1SG.NJO$_JJHU4EF?LM76^8RS.2^Y>>C9 M,.8(%XSG/3AG9J5H]3^OP,[#7[@"KH3[38YR5 >4^:,TLLL1#'I'@\":,9E! M8R:0-D8*:9#0#4)J_0O**1Q%,5Q+P\HVSS5[H&9MM"UZ+XQCL-$#K^J53307 MA$$J^WZYU.&F:XI-[\[2< M,[7D0I/0!4&#?DJ94TV[;B9&UJY%SJ6AANO,@EXX5-:!]A>2>D<[L0=T;^;T M-U!+ P04 " !B@0I7:DQG1N4" #/!@ &0 'AL+W=O6:>3CO;62K];.:(%E:%D*8;S*U=G(>AR>98 M,'.L%BAI9:ITP2RY>A::A4:6>U APB2*VF'!N QZ'3]WKWL=55K!)=YK,&51 M,/TZ0*&6W2 .-A,/?#:W;B+L=19LAH]H?R[N-7EAS9+S J7A2H+&:3?HQ^># MEMOO-_SBN#1;-C@E$Z6>G7.==X/()80",^L8&'U><(A".")*X]^:,ZA#.N"V MO6&_\MI)RX09'"KQF^=VW@U. \AQRDIA']3R!Z[U^ 0S)8P?85GM;5/$K#16 M%6LP^067U9>MUN>P!3B-/@ D:T#B\ZX"^2POF&6]CE9+T&XWL3G#2_5H2HY+ M5Y1'JVF5$\[V;I5%.(,CN,")A8,G-A%H#CNA)6ZW(\S6/(.*)_F IPUC)>W< MP*7,,7^/#RFG.K%DD]@@V4MX4\IC2*,&)%&2[N%+:Z&IYTOW"#50Z=LEKT(W M=Z/=TS@W"Y9A-Z"[;U"_8-#[]B5N1]_WY-:L_Z[2\O>:+NUP"@<4CRZWW5454?M M%ZJ4]EUJ5RSC@MM7N--\QB43GN#:F!*!+B+"Y6K!-?,O;Z=/]<6ZOG3[,JIV M[+T$QO881JS4*!IP>P-IF)Q1EXDC:(9I1%;2W%AI#%^A%57#F$DSY2CR!HS[ M$-/Z206+DS"-*]R620B/C*/-N*>4K;J4K<^5DDYOS&RIN>7HSW*DY.SH"751 M/;7/57)OL \JZ0_T0*-KR3GJ0Q*7-"*26AU\=ER ^A_6^P]02P,$% @ 8H$* M5R]Q#2:"! *PL !D !X;"]W;W)K&ULI5;; M;N,V$/V5@=LM$D"1=;%NJ6W SF:W76#3(,EF'XH^,-+8)B*)+DG92;^^0TI1 M$L#1INB#95[FIOVTM)LW%OI> 5UHJ+&B2N9J.%?[I,C+P5N.6X M5R_&8"*Y$^+>3'XO9B// ,(2B?([+_1F-DI'4."*-:6^$OO?L(LG,O9R42K[A7TGZXT@;Y065:=, M""I>M__LHQ2"3B&PN%M'%N5'IME\*L4>I)$F:V9@0[7:!([7AI1K+6F7 MDYZ>7PB-X'MP M=:Y/IX.M;DU>B.\\[# MLO40O.$AAJ^BUAL%YW6!Q6O],:'M(0=/D)?!H,$O3>U"Z#D0>$$X8"_L4Q!: M>^% "A2T\1T*K]6>'-8V17.JMBS'V8BJ0J'U#+P4_ S"!/XC#5*5EH55E!Q<:4E,[=$+QU%,43D*K*C8;+IQBT:(HM2<9#X/9-$K"U4^&-KBE,Y M<,O*IBW4A:*KM5U^)^V#>-Z@_9FV*Z[N3U;F$/!:(TEHH/01S6X6P@<(7$K5 M!_C(=[Q 2O$CQ[( S_4\6NW^S/'--<68BZJB$)2-C9Z'>WJ/MI+G"#M14G@E MUX^PHCM<2'"CA'X1?+=7KCG[.^)QW;)FK95\9;/8FA-=3HX>D4EU#+$;1.UG M@+2X)RW^?Q7:$D7U:-X?$\7[J!GT>IB:BZ:Z0]F?'O6-C$J=S<,;JG)YBV@A(((B\I"TV5S#1U-;GQB7MN01OCUA5ZW:((M!FCJ3R(/$3;UG[A)G$ON&NTD(MZVQ MHRAQ(LL/93G+@'J?%7*[XX=.D/B6N33]@?M7#(9^Y'C$7^8FP4':QB\:F KE MVK9IBBX%>L':7J9?[3O!1=L /8NW;>17)NDQ4%#BBE0]-Z$[3K:M63O18FO; MH3NAJ;FRPPUULRB- .VO!/4#W<0XZ/OC^;]02P,$% @ 8H$*5W"N<(_; M! H T !D !X;"]W;W)K&ULQ5=M;]LV$/XK M!V\84H"-15+42Y882-)LR]!L09)N'XI]D&7:%B*)+DDGSG[][BA'1=[[/3SR^-'8>[?4VL.FJ5MW,EIZOSH:CUVYU$WA#LU*M[@R-[8I/$[M M8NQ65A>SP-348Q%%R;@IJG8T.0[_KNWDV*Q]7;7ZVH);-TUAG\YT;1Y/1GST M_..F6BP]_1A/CE?%0M]J_V%U;7$V[J7,JD:WKC(M6#T_&9WRH[.<]H<-OU7Z MT>W00)Y,C;FGR>7L9!210;K6I2<)!0X/^ES7-0E",SYM98YZE<2X2S]+_R'X MCKY,"Z?/3?U[-?/+DU$V@IF>%^O:WYC'G_36'T7R2E.[\(7';F\J1U"NG3?- MEADM:*JV&XO--@X[#%GT"H/8,HA@=Z
4/%LZ)D8%/CSNCT$&3$0D9 #\F3ON SR MY(#C#CK_]KG7<2[;W@2?3]@6]S;%@])G]PB M]&;K6H.9]VFYT2MC?=4N=A/$8/K4[_@8G($[O?%P5IOR_H]]?@UJWN\7W"VM MUB\2"I@.'=)Q6VU>6:%$T4?L4#?Z0;=K?007!$MKVJI$@YV';X%'+,\E$CE+ M\Q1'P9E,8EK)F$H5BG^HD(-\+6KD*I>MJ)H!CW$6 MP;4UI7;NY78N62QRX(*)) 61L%PJM ^UI'!G2+KM[$3E4C"E,C(GQW6.1!*S M."4#E62)$IB/TC0:YM8T,*L>*CJO4 2>FS8DR>WS5K DYF'DP6G%!,]QC%F4 M14.NYK$$SJ(TPF^N$OQFJ=CO)EJ>"_HF.J?S 8*9(*'+H#78'A[H.!)-1#F\"(0.!">!Q1_"4B-/RT[JR6"(5 MNM4N*JK6HJ&J_G-[W"BL$V1($T4#NHGI"82*B;ALO;84OZU:7$$#:0/&$@>) MB2(+4AI^]4MMG[T\V'*\ 8ZUA6RX02A%>Y&Z*&R+R'(PU0@M__@NA8 #UJD>]&D3]%AM=1BXVZ"KEXSST &T=0?U';1:V M6"VQCDZQ!;O/Q/R@WO\.\Q\.;P\#OG,N"-98ZTG6 3V*Z(_ &".![1:;:0N" M0((5KA#)$F($+9X"J$6JZ+. .9"3I,]),IB3]Z9=O'V/]X89G#JG_==D85#3 M*UGH _M.E[J98D%+OAMEQ#WBU3]!TG_T+MN6];?G_ MUO,'-7]AY5W.4'\UKX+^(F!C7Y]#"2*F8Q.Y.3:0@[_]L^/T^[6_??V[NUR5=A%A1VSUG-DC0Y3/'%M]Q[H)MZLPAU\:CR>YH%< MXA-*6]J ZW.#I;F=D(+^43;Y"U!+ P04 " !B@0I7)3V.#7(# >#0 M&0 'AL+W=OUSV/[ MY&2PY.)1AH@*GI,XE4,K5&IQ:MO2"S%ALL$7F-*3.1<)4]04@2T7 IEO1$EL MNX[3L1,6I=9H8.[=BM& 9RJ.4KP5(+,D8>+E'&.^'%I-Z_7&712$2M^P1X,% M"W"*ZGYQ*ZAEERY^E& J(YZ"P/G0.FN>3OJZO^GP$.%2KER#CF3&^:-N7/I# MR]$3PA@]I1T8_3WA&.-8&]$T?A6>5CFD%JY>O[I?F-@IEAF3..;Q]\A7X=#J M6>#CG&6QNN/++UC$I M7O:I$O0T(IT:77.%T(1CN&8J$PA\#C<+%$POBH2#"2H6Q1*^X;/*6'PXL!4- MJJ6V5PPPS@=PMPS0@BN>JE#"I]1'OT(_J==W:O0V!5M&[+Y&?.[6&EZQ%V@V MC\!UW!;<3R=P\/X09,@$RJKHZLV^9FD#6LZZ6U60.]C4Q-@J5[5E_-K;5C5+ M9BA6%C,-8(H!'5=5%>1YK9O./*=RP3P<6I1:)(HGM$8?WC4[SLX5+*#'V89$*CN4410 M)L-2#V'*8I1P%@A$O;'@QQ7J7?>S"EKM +M"VZ?99$]F:V [)=C./^_%JZ]%5Q.PVEMT*J=PJZT]F26T[)7*LH$16 JSU*5%Y?EW;+X/S,U MK_VW>_[E0*^-(*):,L8Y29U&EQ*3R*OQO*'XPM2G,ZZHVC67(7W H- =Z/F< M4XU:-/0 Y2?1Z ]02P,$% @ 8H$*5V"DIHTH!0 W2 !D !X;"]W M;W)K&ULK9IO;Z)*%,:_RL3=;+I)MP(J:M>:M"+* M3;NWT>W=W-S<%U,XZJ3 N#.CMM_^#DBI**6:>]XH#//\S@$>YZ^]#1=/<@&@ MR',4QO*JME!J>5FO2W\!$947? FQOC+C(J)*GXIY72X%T" 516'=,@R['E$6 MU_J]M.Q>]'M\I4(6P[T@.27(KCYP_)2=><%4SDHP@ M!%\E"*J_UC" ,$Q(.H_?&;26QTR$N\>O=#>]>7TSCU3"@(>_6* 65[5.C00P MHZM03?AF#-D-M1*>ST.9?I)-5M>H$7\E%8\RLI@U*U?N(YN>B>W!KGCL5I(,HP#"$KT3K7> MKM#7]7/*'Y;U^K!NK$K@'ZOX@C2,:.BJ,PWD>8EXQB=LHI!3 M(\4VW\%.0"K!? 4!&5"Y*/M]; %V"DBZK77?Z-77NTZK#)'TE)=R27VXJNFN M4()80ZW_Y9-I&]_+_/9AN"%F.!<3-CK,W32;5C'],69$#PE6\$XS]TZSTCM9 MLRS)!'Q@:_H8PCFY#O70A<8^$#T((@,! 5/DEDO=%.MJ? WBIS]S* MNSK5&IBP,2;,0X(5K-'.K=&NM(8#,Q"Z\2(CD4R6[@7W 8 5U,V @3-L:$>4BP@M\ZN=\ZE7X;,)7.T"?<7^C9 PBB9]9D MJJB>Q.OB'[ A?W/Q1/ZY@^@1Q+]E1JR,<&K7B0ES,&%#3)B+"1MAPL:8, \) M5K!V-[=VM]K:/%UETCTMN67TD87:ZLF\94E?HJ0P69=*?9XX_I;[-,P:77<5 M!Z_#R=)5HIO*P*CPNY^OU\=^513'1-RB!K2 M1:6-4&EC5)J'12N:<&>UWJPTX0V-G\AH19.6#W2?'Y-!ND>@1P)_BD!_.K#D M4L^EJT8 U3%.;1!1:0XJ;8A*7&[]WY7QC%"]WCNH MCG.R-X^).42-Z6:T;F'%P-[K\$:H,<>H- ^+MO52?6>K4[=Z\W2?7))T47&[ M]9*7YGOQU^D.]%[YC7DY,$O*'?-RN-UI?\-O-_[OJ)BS6)(09CJ4<='6/:S8 M[J5O3Q1?IANMCUSI)CD]7 #5K7)205^?<:Y>3Y( ^3\:^O\!4$L#!!0 ( M &*!"E?DU!!T6P( +P% 9 >&PO=V]R:W-H965TZ#TO7-.J MUG;!S](MJ7"#^G:[EF;F#RH%;9 K*CA(+!?>97BQ3"S> 7Y3W*O1&&R2.R'N M[>1[L? ":P@9YMHJ$//:X1(9LT+&QD.OZ0V?M,3Q^%G]J\MNLMP1A4O!_M!" MUPOOLP<%EJ1E^EKLOV&?9VKU\*^QP8>Y*W2HNG)QD%#>?8,0]83HHX2X)\0N:.?,Q5H13;)4BCU(BS9J=N!JX]@F#>7V%#=:FEUJ>#K[ M)31"!)]@TQTCB!(VM.*TI#GA&B[S7+1<4U[!6C":4U06;'ZFHF5HT4NBZG/W MA"\/+=T1AEPK(+R :U1:TEQCT>V?KE 3RM29D;C=K.#TY Q.@'*XJ46K#$.E MOC:AK#4_[P-<=0&B-P+\:/D$XN Q-/4WXT#'*+".(F3 ?7"9SSX MC-_U.3H:Z_28NTY@.OIN\,K9(2(,D^BXL60PEKQK[$9HPIRG\X,:NL+*_SM/ M/E370U283.>S5_;]46_9>^TGD17E"AB6AA=,YB:^[.Z*;J+%UK7;G="F>=VP M-MN3U+SDJH%!,5D5#,G7O_[C$Q> OXE\%!G5P34\E&B&=S\U<^=SR3$'#( MM&&@^+>')7!NB#"-GQVGTXF#LFAH W7 MW\3A3^CJB0U?)KBRO^3083V'9(W2HNR<,8.25>T_?>ET.'% GG&'H',(A@[1 M&PYAYQ!^-$+4.40?C1!W#K9TMZW="K>BFBYF4AR(-&AD,Q=6?>N->K'*],E: M2WS*T$\O_A$:2$!NR+IM%"(*LF;;BA4LHY4F]UDFFDJS:DN>!&<9 X7@'U9_ MR,G]'B2V$UF*LL37OMY1B8!/*]"4V@3"]Y(+"1? M1:5WBCQ6.>0C_JOK_LD5?Q=%ZI4*CDH]!%<)_VZJ6Q)Z7TC@!>%(/LN/NP=C MY?Q>],=?CGXF1MBW36CYHC?X^@:@70-D;0.T;YO@0%*:5KEIFQOS(;.,?&+' MQY_'NJ&-%]MX9KCM%[X?1+X_Q6KWIS*/ +TD#H-D>@YO )U)U&:$ MJO<$BRZRCN(XG Z*6U["_,2/0W\@UB4L3"-$#J0:84O#*$C&A8I[H>+?Z2:C MT:F%P,^&[2F'2@];+6>\,43O:!>/-%N2)G&2#M0; 7I3/YJD ^!JC#%,@\2? M#!0<90RF&'U,-SD922%&2C/*LX=2>WAO(:*. Z!TP2: H\%0G!VK>A&8W/5>.3*@ZHD@- MDHEW94\N:D^39-ACRTM4XDU#,[;.%+^$^4$<1_% [TM8-)E$T72@MGMRA)8@ MMW9W4<0>?NU8[*W]>G1OMX*!_<&_6_HC]A6N4^WV\S]]NXM]I7++\'OG4& H M[W:"R[G#E1"D >#S0N";[FY,@'[)7/P'4$L#!!0 M ( &*!"E<3>Q=G;P( (P% 9 >&PO=V]R:W-H965T>W?WS"G=*/U@2D0+CY609AJ4UM8G86CR$BMF#E6- MDFZ62E?,4JA7H:DULL*3*A'&470<5HS+($O]V97.4M58P25>:3!-53']=(I" M;:;!.-@>7/-5:=U!F*4U6^$-VKOZ2E,4]BH%KU :KB1H7$Z#3^.36>+P'G#/ M<6,&>W"=+)1Z<,%Y,0TB5Q *S*U38+2L<89"."$JXU>G&?0I'7&XWZJ?^=ZI MEP4S.%/B.R]L.0T^!%#@DC7"7JO-9^SZ.7)ZN1+&?V'38:, \L98575DJJ#B MLEW98^?#@#">O$"(.T+\KX2D(WCGPK8RW]:<69:E6FU .S2IN8WWQK.I&R[= M7[RQFFXY\6SV55F$!-[!&>,:[IEH$"Z1F48C_2MK8'^.EG%AX!8?;\ EW):J,4P6)@TM%>1DP[Q+?MHFCU](_J61AY!$(XBC.-E!G[U. MGV-.]+&GQ\_I(=G0>Q'W7L1>;_*"WE\+1G"->:,UEROX<8G5 O5/^ U#P+FL M&VM&<(%K%.3@ /;-EJAA1GQR$"XX6W#!+4?3@W99]6IM;IA/3,URG 8TK0;U M&H/L[9OQR9C4EO8_*JC:>-H1-C8*:J!9?,C>N( FG)3N<(;0TO M4'1EO/=MG3YCSV.=W3M,Z29)R&ZV'7.S#QI,>TS82#67'OU"73*RX- M"%P2*SI\?Q2 ;F>_#:RJ_?@LE*5A]-N2GDO4#D#W2T4CU 5N(OL'./L#4$L# M!!0 ( &*!"E<[C&Q$S@, .L3 9 >&PO=V]R:W-H965TU>/DS[X)!+8LU@ M9INDD_;C9Q,*81 W9'Q),-P]?NZ>PSX\VG#Q4ZX %'J(6"S'SDJIY,)U9;B" MB,A3GD"LGRRXB(C20[%T92* S#.GB+F^YPW[=B,N*I8C2&6X%D M&D5$_+X$QC=C!SN/-^[H MXHNIGSED%E\I;.3.-3*AS#C_:0;7\['C&4; (%0&@NB_-4R!,8.D>?S*09UB M3N.X>_V(_BX+7@ZL&40TWOZ3ASP1.PZXM\?!SQW\0QV"W"'( MTRR\*Z(HI,1H)O MD##6&LU<9+G)O'4T-#8RWBNAGU+MIR:?N (4H-?H':$"?24L!70#1*8"M%A* MZBO MT'-$8_1YQ5-)XKDO.M8@0"IT!W12;S?D 1]OX%H!N)'4VQ6,/.Z M7LB$A#!V]/LH0:S!F;QXA@?>FZ9(.P*KQ!T4<0>'Q2U,W%+'W13N%F.089C% M9#WI]8@9%>@8=:#>HZ>+]HYS-HD)L6! ; M=D!L^"0QFT6%V%E![.S(@O+_HZ"L<[8MJ([ *NDY+])SWH%NYP,N=NHW%8@5I72P=H55#+K=_ M;-__ISQ6ND76C34*N?X4FH,6QGS-L+S'_MV8@GXM^:]Q<-[[5Z-<&P1Z=R M4\;V7;FNDW[E#^ED&F.QSM5:SH[0JIDINP)L;PN.E//I/L%J4B5;=@K8WBJT ME-&WR]AIB] 56C4S99. [5W"D3+66X*:C#:3ZB=GV3/X]IZAI8R!_9/4.E?K M;]*.T*J9*9L5W]ZL'"=C#CIX8G%M-JLMKN[.28PY!KLA8DECB1@LM)]W.M2U M(+8G2]N!XDEV.#/C2O$HNUP!T=2-@7Z^X%P]#LQY3W&^-_D+4$L#!!0 ( M &*!"E>^WGH'< ( 'T% 9 >&PO=V]R:W-H965T\X]]]K'Z5;I1U,B6GBJA#23H+2V/@]#DY=8,7.F:I2TLU*Z M8I:F>AV:6B,K/*@281Q%X[!B7 99ZM=N=9:JQ@HN\5:#::J*Z>&.KTOK%L(LK=D:%VCOZUM-L[!G*7B%TG E0>-J$EP,SJJ>U'[.KQ G,EC/_"MHN- L@;8U75@4E!Q67[9T]= M'W8 <7P $'> V.MN$WF5E\RR+-5J"]I%$YL;^%(]FL1QZ0YE837MW,2B;7:(!+L"7N!JH5W. &!1',E+2B><='N"=,L%DCOLJ;(%C#W1>VV2#9)RDX69/NF&?;OAJ MNNNJ)E^X@R1_TPV6=.>T1ID_@]5,&M&>"2M^T%7T%V*?LC;':$?9:3+8+VS4 M"QO];Q]&>_KP?OA7NG#'$A7JM3>^@5PUTK;NZ%?[M^6BM=3O\/9AFC.]YM* MP!5!H[.W)$"W9F\G5M7>8$MER:Y^6-+[B-H%T/Y*D0-MKKO3"A7B4.]L(D)@1C^YQK?=>,-.D2E\*_ MGY.6N"R74>(%H<*"/(/@SP.>HU*>B&7\'CBC,:4'[IZ?V3^%VKF6M7!X M;M1/65*UC#Y$4.)&M(IN3/<%AWJ"P,(H%WZA&V*3"(K6D:D',"NHI>Z_XG'H MPPX@35\!I ,@#;K[1$'EA2"19]9T8'TTL_E#*#6@69S4_D^Y)BO7"N',.23' ><5N]"!U"^QAQ=(0BIW! ?>_[TR MK6.\RV)B;3Y#7 PZ5KV.]!4="[@RFBH''W6)Y=_XF&L:"TN?"UNE;Q)^;?4Q M3)-WD";I%.YN+^#PX.@-WNG8L&G@G;W"NQ)*Z +W5=@#%P'HE^$A3R>+9)[% M#WORS<9\LS?S7=8-3RZ8#? &\HQIG@IK41=/0%9HIT0_W>4O'A;>%MK;_#[' M?$?:)$GW"YN/PN;_VXCYGD:<)"?_Y(MWIK9&NPV[Z: PK:9^@$?ON/YG_=2_ MA/=OQY6P6ZD=*-PP-#D^806VW\?>(-.$'5@;XHT*QXJ?,+0^@.\WAO=@,'R" M\5',_P!02P,$% @ 8H$*5Q0(,IVW @ U@@ !D !X;"]W;W)K&ULK59;;YLP&/TK%JNF3MK*-23K"%*;[-))G:)>MH=I M#P[Y$JP:F]E.Z/[];$-9DE+65GT!&[YS..<[LDU2<7$C?%;H$)<]+$/IN)-.%K10F# MF4!R7118_#D%RJNQXSMW#R[(*E?F@9LF)5[!):CK'+.)7VBJJF MUG-0MI:*%PU8*R@(J^_XMNG#%L"/'@ $#2!X+"!L *$U6BNSMJ98X301O$+" M5&LV,["]L6CMAC"3XJ42^BW1.)5^XPI0A-ZASYPO*D(IPFR!SIC";$7F%-") ME*"D+ICPHN0,F$)\^:_Z< H*$RK?Z(KKRRDZ/'B##A!AZ"KG:ZFY9.(JK=-\ MSUIN !35_7[ B%WEL4>$'8 9_TPZ>0:;AOX<$NW-7=:5L4M"T*+%_T M -^=URXC-3*V2+-@-FG@#[UAXFZV]795Q=Z@K=J1%;:RPEY9'\U*$)R1#%V! M5.CG.11S$+^Z9/8RF8WB6)8X@[&C=P()8@-.^OJ5EOBAJ_LO1+9C.FI-1\_. MHD8.MKH<1F&\%T5'41B_[TYBT(H:]"?!-D0'H?B&S'?]SZCY\=2GROW_[(WU\?_RG:$35L10U[1G84=#':BH M3]%ZHGAI#Z(Y5_I8L\-<_WB , 7Z_9+KPZB9F+.M_95)_P)02P,$% @ M8H$*5S\?PM)F @ 6P4 !D !X;"]W;W)K&UL MG53;3MQ #/T5*^H#2(6$[*6 LI'8I9>M1(6@T.?9Q)M,F4LZ,R'P]_5,0KJM M%A[ZDHP=G^-CQYZLT^;!UH@.GJ10=A'5SC7G<6R+&B6SQ[I!15^VVDCFR#15 M;!N#K P@*>(T2>:Q9%Q%>19\UR;/=.L$5WAMP+92,O.\1*&[1702O3AN>%4[ M[XCSK&$5WJ*[:ZX-6?'(4G*)RG*MP.!V$5V(%H<#">09&KT=B&3\&CBC,:4'[IY?V#^%VJF6#;.XTN('+UV] MB$XC*''+6N%N=/<%AWJ"P$(+&Y[0#;%)!$5KG98#F!1(KOHW>QKZL -(TU< MZ0!(@^X^45!YR1S+,Z,[,#Z:V/PAE!K0)(XK_U-NG:&OG' N_Z8=PA2.X+/6 M9<>% *9*6"O'5,4W N'"6G26 E8UN= "5^!J\DO=*@=Z&ZP5,^:9JPKNF6C1 M>]>*>L,5=W@DJ._[. \NT3$N["&\\ZS?:]U:RFZSV%%E7E]<#%4L^RK25ZJ8 MPY56KK;PD;*6?^-CZLC8EO2E+TB2=P-WM)1R\.WR#=S*V M>Q)XIZ_P+IE@JL!]%?; >0#Z57K,3R?SLRQ^W)-N.J:;OIEN+1L:>_\[:'UI M0!6-E#&HBF=PABDK6+\:Y4^:-%HUM[?W?8[9CK)TOE_7;-0U^]\VS/:TX6SV M3[IX9^ EFBJLM87"CV0_^Z-WO#DN^H7Y$]Y?.U?,5%Q9$+@E:'+\@028?I5[ MP^DFK,]&.UK&<*SI]D/C ^C[5M,*#89/,-ZG^6]02P,$% @ 8H$*5_88 M8KYZ @ P 4 !D !X;"]W;W)K&ULG53;4MLP M$/V5'0\/,%.PXR3F,HYG2.@%9N@P4.BS8F]L%5E*)1E#O[XKV;AI"7GH2ZQ= M[9YS=J/=M%7ZT52(%IYK(SX'QT-D]X>7Y%_^1KIUJ6S.!"B>^\L-4L. F@ MP!5KA+U5[1?LZYDZO%P)XW^A[6.C /+&6%7WR:2@YK+[LN>^#QL)&"B0>=] M"[%_@99Q80Y@SX%\JU1CB,RDH:5"G)PP[T7/.]'Q.Z(3N%;25@8^R@*+O_-# M:L#0A?BU"_-X)^!5(X]@''V .(K'<']W ?M[!SMPQT-WQQYW\@[NG DF<]Q6 M89>8^$0W.4_9*!J=1FGXM(5O,O!-=O)=UFMZYJ[]-*[T("4](:U1YB]@-9-& ML&X4BA_TLFBT[-;F=QS3#6FGT^VZIH.NZ4Y=]%BTY;\\^S;&Z1O&PU&4'&\G M30;2Y'^;G[QI_FD\.OF'+MR8JAIUZ7>'@=R]^V[ !N^PGLZ[J?P3WNVV:Z9+ M+@T(7%%J='1,I>IN7W2&56L_HTME:>+]L:(5B]H%T/U*T9SVAB,8EG;V&U!+ M P04 " !B@0I71CT!\/0% "I) &0 'AL+W=O+81>*3-M" M)=&CZ+C9KQ\E*Z(D4K3E*C>)/UX>OX?BX4-2NMQ1]CU?$\+!CS3)\JO)FO/- MQ72:1VN2AODYW9!,?+.D+ VY>,M6TWS#2+@H&Z7)%%F6.TW#.)O,+LO/[MCL MDFYY$F?DCH%\FZ8A>WI'$KJ[FL#)\P=?XM6:%Q],9Y>;<$7N"?^VN6/BW;2. MLHA3DN4QS0 CRZO)-;R8VT[1H%3\&9-=WG@-BE0>*/U>O+E=7$VLPA%)2,2+ M$*'X]TCF)$F*2,+'OU702?V;1_@6[2FM-0+3-.4VKQL)!&F?[_^&/JB,:#:#=TP!5 M#="Q#7#5 )>)[IV5:=V$/)Q=,KH#K%"+:,6+LF_*UB*;."LNXSUGXMM8M..S MSY038(.WX".EBUV<)"#,%N VXV&VBA\2 J[SG/!<"-3/7M\0'L9)_D9\^^W^ M!KQ^]0:\ G$&OJ[I-A=Q\LLI%QZ+7YI&E9]W>S^HQ\\?V^P<8.L,( MA3?.Y MN?D-B41S6#9'[>93T3-U]Z"Z>U 9S^[K'E%(\Y"QISA;@>N4;C.NRVD?Q"V# M%(7S.(.>"X7_QZ9UCM:>L=V[=@>X/@ZBK;I-@DY611V&8__"XL"UYFV%3L0.J[= M,:U16;;78]JI33M#!\(96#8RT?EU%"!?'G41TCKUC'.M$?8[]VK%_H)<[4^* ;O;5 MT@J@YW5-'F@:O+@ZZ$-;+&K-'V[7$,#1S^/3% U1!Z_N- MB:KRK:J\H(_&4.(8FGE\TO(!JI3U'*R4AX[%J*^C)8RAF<9WHE.SHE^_DFB= MT82NGLRU80PWN#9&BM9.7G(=FL%^:FUH<.T'L'O!="K'Z;E@$NK03/6?J P- MPY'57:=J5('OZUTCR7EDYOQ)A5'%;$\NOK+=TJA\U^MQ+"F-S)3>%X89%.80 M0XMAK&CMA!M;8#/>3RP&I&+;:4RD56IF4=NQ1#L:LB<>4@I(W?%J3)M%;=.2 MQ\C,X],J0<6LXM8D:7N5%$9F"M=KIW=A]%V@P5P,QEB#BV&D:.W,)2G M%H,*:3OH;O:T(M1SK23(D1GD/U$,ZIY98UHGZC,M 8S, #ZM&%2P*L5@DK2] M2O B,WCG--ULN2B&>[KDNY"1,^6LU%P?QO"#ZV.D:.W#2,ES;.;YJ<>1*JN1 MU[UX!T1MQY+GV,SST^L#J]MIC6FSJ&U:,AF?L.4^5!]8A:WBUB1I>VT<4)MI M7![E@,]A2LR+)G.8H74P5K1VTI+F^$5VUUBS;;:5BV06M1U+IN.7VEECS1&V M:MHL:IN6.,8OL*_&*F<5MR9)VZL$,3:#^'UQZY+1+([$GCHW,\$<:G MO,1N M&DN8X\$PU^:LLAD'?G?WK%'9$/?=1),0QZ.^S MQUB,GU1L/\-$GLO$!^95<]2A8VFL:.T^D+2VS;0^\CK9FI-NY=:%3H1[EJZV M1+,]RBUC6W.JK3K4'7WW.91 MLU OF,T(H)'QX^@4%^MDV.D[%[,EC>W!]YNU+AWUF0*=2XU,XW+:>(ZD>(CG4\A6<9:# MA"Q%.^O<$V'8_KF8_1M.-^6C)0^4&ULA91=;]HP%(;_BA7U J0-AWS152%2*>O629M06;=K0P[$ MJF-GMD/8?OUL)XW8".(F\;%]WN<]B8_31LA750!H="P95W.OT+JZPUAM"RB) MFH@*N%G9"5D2;4*YQZJ20'*75#(<^'Z"2T*YEZ5N;B6S5-2:40XKB51=ED3^ M7@ 3S=R;>F\3SW1?:#N!L[0B>UB#?JE6TD2X5\EI"5Q1P9&$W=R[G]XM$KO? M;?A!H5$G8V0KV0CQ:H.G?.[YUA PV&JK0,SK _ F!4R-GYUFEZ/M(FGXS?U M1U>[J65#%#P(]I/FNIA[MQ[*84=JII]%\QFZ>F*KMQ5,N2=JNKV^A[:UTJ+L MDHV#DO+V38[==SA)"((+"4&7$#C?+[IA@.Z5 JW,AL=:U]+$I9": M_B'NFWX\FL.A (V6H EE:HQN$.7H>R%J9714BK7Q:$EXV_E9M'Z""WZ^U'R" M0O\="OP@1"_K)1K=C/^5P:;$OLZ@KS-PNM$%72&U[C1$*O-BD]9'VZ#85;4LZ)KK'B(%9VS9K,+K+AGQ==8 MR1 K/F=-DPNLI&&PO=V]R:W-H965T%)FVA4JB1]%)^^]'R8ID M430;:WR)+?G<0U[>$Y)'XOR)LJ_5EA .OA5Y65W.MISO+BRK2K>D2*JW=$=* M\;WS(-EM>W[ 6\UVR(?>$?]K=,7%E=2RKK"!EE=$2,+*^G%W! MBQCC.J!!?,[(4W7T'=2I/%#ZM;ZX65W.[+I')"P;2?<5IT0:+'A19>?A,OK4#<10@>-0!J U #%R4\&0Q9_0)L!HMV.HOS>@WT6*\LK(6RCUGXM=,Q/'% M7Y03X((WX -Y).6>@'>,%F!)2\Y$#2OP)>-;L&SZ05@E<%%6)9L-(YND*31= M/T=6X'5$>)+EU2\"]ND^ J]?_0)>@:P$'[=T7R7EJII;7/2Y;ME*V_Y='_J' M3O0/@UO1EVT%XG)%5HKX2!_O:>(M,5;=@*'G ;M&6L(_]N5;@.U? ;(15O1G M^?)PI$KG_[4>3VY],!BX4P]N^)P3?&WI564]!'I-8#U;/2XP#]88 MA4+7AT-4-$9YCN/[0U0\1KG8DY'(FYO6*L$",$5W&6)?E+)*?E.E=R)LDBDV2Q(;)!0?RN(/Y4R?EC 02VI)*E A1B6Q+< M&.2&CJ3=6 'RT0FY!5UV@3:[J[U8WFF]8]/J3$MRKLY,DD4FR6)#9(-*A%TE MPJDZ"\>3ENL@26=C$!8:DG0V!CD02[-?/ 9YV+75.H-VO]NTM?E%9"U,!K' M%6&T&4:MXO1LYTK.*%MDE"TVQ3:LRY$+@%-UUT8.-!6$TMRU5*"@@Z3)*U*@ MO./9JQV+,0J%1POO,$?4YXBT.?Z9K0FX3S-2IL*L:&6G)3I;=B;9(J-LL2FV M84EZ^P G^X M>NL ]=[A/=\2X53W.<]:\_"#R.[+5 M7*I0R$6R^,8HS[-M67P*'^&A$P]+8&\DH-Y)?!3:*X1K_4@JGI4;<,=H_>CD M!PHT:BR,LD5&V6)3;,/J].8"3G874+'?A[YL+Q0H-W3EQW4*%(1A*#M9)GKIZ:G.E9Y1ML@H6VR*;5B4WF"@R08#*:P##$;: M4\#"T),V<9$"A<2&4%JA8U6;7N@Y)[37>PRD]QC#Q\7M[%>_)ZDGQ)?-AOH6 MSI:D4?-AE"TVQ3:L56\^T&3S@<96(/!=^3&R N5Y6%Z/%2CH!:YL>E4PY.$3 M3_90;S^0WGY\SE:$@ILBV=3KL59X1CV(4;;(*%MLBFU8DMZ#H,D>!"E>)SC8 MD86G0.'0E84W1KEV(+L0!H34 M^" 3M#U9,DL%S'?D%352H,3J',H+KZI-QX'R-M Z.FA8$+9I3GA6(*7[DA]. MC75WNU.D5\W92>G^-;Q80L7]"%[$AS.B/?WAR.IMPH2#J4!.UJ(I^ZTO_E?8 MX13HX8+377/,\8%R3HOFZY8D*\)J@/A]32E_OJ@;Z,[B+OX#4$L#!!0 ( M &*!"E&PO=V]R:W-H965T ML9.&[M+M2WR;<^8<.S/)3ND'4R!:V)="FDE06%M=A:')"BR9Z:D*)9VLE2Z9 MI:7>A*;2R'(/*D481]$X+!F709KXO85.$U5;P24N-)BZ+)G^/46A=I.@'QPV MEGQ36+<1IDG%-GB/]DNUT+0*.Y:._L&MCHP"RVEA5MF!24'+9C&S?WL,1 M@'A. ^(6$'O=32*O\H99EB9:[4"[:&)S$V_5HTD MYI@_QH>DLQ,;'\1.X[.$=[7LP2"Z@#B*!V?X!IWY@><;/F>^+E>H0:V?NC_E MM:$:>2KWJV_3?A)N3V0?=MF'9[,?LL%,R0REU"B M$=65[3E.9->84&LY;]IN^'+.=K(B%&XX$KNZQOSG%53LL+!N_.LD3W;SI\(W 01V6D9W+/V ]= M^5@L+$3J+5$ZN?S,)* 8O44?Z1ZH9)R &-1>K4!B4HG7 MJOWKW0J]NGB-+A"AZ$O)=@+30LQMJ8:B ]IY9WO5VGK/V/KH$Z.R%"BE!10& M_6I<'XWH;86@Y^ ](,_Q?,-XKJ?+/=-T_LP]_3/W;%R^ M@ES)79/\%Y9^OZ;\)E[P3+Q;?%!+5 (GN#*NC58>-7*=^?9+-TK\8&[OCXF/ MFNB$.Q-;G,/"4AE5 -^#M?S[+S=R_C'QGV29GM,R,UHF26_Y"]N@9QN,LOVN M\K3^]K:"#D\&$4<#S*..+\7\>[_TG'[9J5_XSHPXZA%'HX@S M0HG:JPJT8;C/)-'W2Z1>JT M@]B]8!6H8Q-Y2A@EYALS\^1T%_#= 7%#'V>P E>G?;QH^/4;^O@#U-GH-*>C M;B':1P?/&A0"?440*G_NJ&S/"WUK?PMYWQR^!^U7[NS:-;2OW%G:7C*>PK=7 MGD^*.*$"5;!65LYEK-88;Z\1;46R;7/LO6=2':*;8JEN7L!U!_5^S=31MZMH M@_XNM_P?4$L#!!0 ( &*!"E==)Z)^J@0 ' > 9 >&PO=V]R:W-H M965T;%UX9S#F4,.J>%P3>AW-@?@Z"E- M,!MI<\X7Y[K.PCFD 3LC"\#BS930-.#BELYTMJ 01+E1FNB683AZ&L18&P_S M9S=T/"1+GL08;BABRS0-Z/,E)&0]TDQM\^ VGLUY]D ?#Q?!#.Z /RQNJ+C3 M*Y0H3@&SF&!$83K2+LQSWW0R@[S%WS&LVH/NY\\*9QX#!A"3_Q!&?C[2^AB*8!LN$ MWY+U'U ZU,WP0I*P_!>MB[:.K:%PR3A)2V/1@S3&Q7_P5 9BQT#@-!M8I8&U M;]!YP< N#>RW,G1*@\Y;&;JE0?>M!DYID(NI%\'*(^T&/!@/*5DCFK46:-E% M+E=N+0(.++(#D6KQ[N M7'3TY1A]03%&]W.R9 &.V%#G@C]#T<.2Z[+@LE[@LM$UP7S.D(Q]A]N;D+H3 W MF\QKL;2K@63G>)T7\+XM@ 8\QK-B))V@/$F=DNGI P-TP1CP$W0#-"91'*); MB)9Y:FD:1061DQ-EF7$UM@?F4%_M*M/0QAK4V[B';7I]J][&.VSCV/UZ&U_J M>);ZS]DB"&&DB=S.@*Y &__ZB^D8OTG"VJG"VOEH6)M"V#EPJVOV>GLQE#*_ MW:\BV 585\KHJ63T&WSL]8R*L1;N;A7NKC3<7W%(LSAG>;"X.LZ2WIX*Z"H. M'N,DYL]-L9\.#1*Q3X1R3A,QBL7H)J7X'L=_ S^C?:T@?@?[7I) 4OZU"*L% M2C!?$5A-\5ZE>$^J^!6(/"=RWT$RO!=B(S)%$[$OH&*3BH[R'<)QD^AR"JN+ MTGQST22QU+2MQ._OAZ>R'[XBL)J@_4K0_F>L:OV#U#0P]M8T*6];J5[G\U3R M^8K :I(,*DD&G[[R21G:YE658.[@=255\OF*P&I*FL;VF\Z0:GE#22A29GUM MW"R(Z >Z6(K/2B)TA,W\^X9!NF+*"=M*JQ3-58KF*47S5:'5!\+.Q[WY^0OG M*QRV(UDYY;:ME7Y_3SRE/?%5H=5UM;:Z6HHG^/V:R">XE+#U!%>)YBI%\Y2B M^:K0Z@-A6W0QY547-1-^(I[8FO"JVNZ[;J8\K+/FTG M.)-/;I5UEXE2-%%5A\$VUJ4*2]&O?,KR3RLX/3VRZ=RYM8:OL[H M*67T5:'5E=E6H$QY"4K%QY*QU0&+.XX621'\<]$BYR>'XYAR "FC40[Z>$\,U-1E =,H]_ E!+ P04 M " !B@0I7W/;-5Y@# !6$ &0 'AL+W=OK+CX+A, 19[RC,FAE2@UO[9M.4D@ MI_*2SX'AFRD7.54X%3-;S@70V"CEF>TY3F#G-&76:[L1HP!4[%\PUD?#6T7.MEX3Z=)4HOV*/!G,[@ =27^9W F5VAQ&D.3*:<$0'3H?7> MO8Y<1RL8B;]26,F-,=%4'CG_KBIW* EU-=Z$9]+\DE4A M&W0M,EE(Q?-2&3W(4U8\Z5,9B T%[Y""5RIX.PJN?T"A4RITCK7@EPK^L1:Z MI8*A;A?<3>!"JNAH(/B*""V-:'I@HF^T,5XITQOE00E\FZ*>&GWF"DB?7)!/ M@.&6+P,RYE))D[3/A"\D9;$.P?,/X/TQ!T%5RF8D,_M@@ON@+L<%2F!0 M]&&T'/D.NK_8;=BV&UD^-4-W=_9EH]E38WVV'"LR96_T23F(F6E0)3'7;?&)7*U63?![ MT_KMK-^XUV.W9CW43;/IR];P1<=]2\4L91(3/453SF4/OSE$T<06$\7GIDM[ MY I[/C-,L/$'H07P_91CIU9.M('JKX313U!+ P04 " !B@0I7:"N"'7T" M /!P &0 'AL+W=O!@S@:(]W*EK%G'7S+5XZG M*P(*.ZDEL'J\P U0JI54';][46=@ZL3C\;OZ%].\:F:+!=PP^HODLEPY2P?E M4."6R@=V^ I]0Z'6VS$JS"\Z='OCT$&[5DA6]_X"/6UNT>SL_%\95[4S].0//?E&-YC0-7(S#OJC MS(&?VRKK%"*CH+_(2:)W//S@H&5G"*%=I8 MP9CE3;'"@16>8D4V5CABQ5.H:$!%IU"Q#16-45YD1\4#*OX0]5B"&ORFG$U:S\QRA([\<(*=#.SD0_8:A$"D:EH) MN3JTJFD0T@9/1O"+,)J S[V_'N.=;MWJ#][H&(91\O]'Y![9F[XJ[C#?DUJH M=UFH-.]2>ROOW+<+)&N,XVV95/YIAJ6ZL8#K#6J]8,KU^D";Z' '9G\ 4$L# M!!0 ( &*!"E?!E)AWU00 %$@ 9 >&PO=V]R:W-H965T(?!3J3^^,Z,66QB/#7*J3_$8'B?.+>@,'D \+>ZX7+,KRB1.([1^"5 N]00:<4= X5 M=$M!]U!!KQ3T#A7T2X$VTUX?+'VD?2KH>,39BG"UMZ2I!6V75LL#'&?JS'H0 M7&Z-I4Z,?V4"R!GY0GQX%N3(!T'C)">/\"H*FAS+#;>?:;KX^DBN:/9"_KJ% M]!GXW_+WIP>?''TZ)I](G)''.2MRFDWRD2UD5(IM1V4$5^L(O#T1^!"=$N_L MA'B.YS;(K\WRWR(AY<.]WF2YX(7R]D2F*D_)T9] M^7&3OT9:6W\Q8;YYGCWR)J?45$\"S"A")%C-RV[E9;>=ES>9 #F,(/=4EF59 M5X.ERE\VE>597RR;'#:.T=9A3)B_A@TU3-WB+,?.J2/KW'+;3 MY6;O(\67_$/N8= WG@??Y+I*V7<>GY!;^AJG14JN&)=(?1I0&875[\-V5V>9R4 N4U9DC==A(ZVMOY@P?[B3L%YO-V$QAPR18#7CSBKCSMH9 MYW.Z(G? 8S8QW"D;H6W]PX3YYNEZ^^^4,:,(D6 U2UUGTZ=PC+.\XRP"F.1D MREE*;O*\H%FDK[/?6#;[(E0)5L;+!R(F:-+8AW!V\F#8>Y\&UPU[N=Y.MOCF M<-L6351:B$6K6[754G(_\%AS0H+I%'1#4>5D)/>@,VCTRSA,VXPL:>K8;#^. M=+SWQF*.&NP9=>">U3[U&$*L&.H&;KI(KKF-="EMF\!$9A;-#FPCF8FMO4)M M)*'2 E1:B$6K.[UI)KGF+HNNG?KVM?[48JJBJ!TE5)J/2@M*VO:5P'F?J/]' M^\C=](]<

.=T($\.OGY_O5X1;*'? MMSXS(5BJ%^= )\#5#G+[E,ER7*ZH5[C5?Q&,_P502P,$% @ 8H$*5Y)# M!^= P F0T !D !X;"]W;W)K&ULM5=K3]LP M%/TK5H8FD!AY]$%A;25HF<8$ \'8/DS[X":WK45B9[;3LG\_VPEI2E,7JO*E M\>.>DW/L^N:Z.V?\44P!)'I*8BIZSE3*]-1U13B%!(LCE@)5,V/&$RQ5ET]< MD7+ D0$EL1MX7MM-,*%.OVO&;GF_RS(9$PJW'(DL23#_=PXQF_<N".3 MJ=0#;K^;X@G<@WQ(;[GJN25+1!*@@C"*.(Q[SIE_.O ;&F B?A*8BTH;:2LC MQAYUYS+J.9Y6!#&$4E-@]9C! .)8,RD=?PM2IWRG!E;;S^Q?C'EE9H0%#%C\ MBT1RVG,Z#HI@C+-8WK'Y5R@,M31?R&)A?M&\B/4<%&9"LJ0 *P4)H?D3/Q4+ M40$HGGI 4 ""EX#F&D"C )B5AOO M)5>S1.%D_SN3@$[0)S2$D52/FTP*B6E$Z 1=@93 !6)C-. 0$8GVAR QB<6! MBLQG*Y._KR$9 ?^CYA[NAVA_[P#M(4+1CRG+A*(4756 F_9?0(-;Q#%'A!HT;/P X?0JC@OH$' M%CF-\KCNK.K''+,EMEG*; M5KG7$EWAC$-<[G6=."N'3DNG(L4A]!R5=P3P&3C]CQ_\MO>Y;C]V1+9DMU7: M;=EW1_476W.(+H7( *EC!G6V[5S7F!^AX.00J;^.[]4YM>*W=-HNG;;?Y/3B M*24*W]+N<6GW>,.Q4XG_-2;M-%63#;_.I!6_ MI#G/+!K*;4*KD28#3RO,&HEV-;HHH3QWZ>&\5<+E)5$8X_)!;N5XC7UK41WI"J$ QC!74.SI6*8[G]X"\(UEJ2ND1DZHP-\VINCL! MUP%J?LQ4.5UT] O*VUC_/U!+ P04 " !B@0I7VKE1MR<" !$!0 &0 M 'AL+W=O5>FKB] MM4P346M&.:PE4G59$OEK"4PT"V_J'3>>Z+[0=@.G247VL ']4JVE6>'>):,E M<$4%1Q+RA?=Q>K>,;;P+^$ZA42=S9"O9"O%J%Y^SA>?;A(#!3EL'8H8#W -C MULBD\;/S]'JD%9[.C^X/KG93RY8HN!?L!\UTL?!N/)1!3FJFGT3S";IZ(NNW M$TRY7]2TL?.YAW:UTJ+LQ":#DO)V)&_=_W B"((S@J 3!"[O%N2R7!%-TD2* M!DD;;=SLQ)7JU"8YRNU'V6AI3JG1Z?2;T(!NT35:P5:;X:'6M03T2,Q -06% M1(Z^"KZ_UB#+-FJT DTH4V-TA2A'SX6H%>&92K V&5E?O.OHRY8>G*%_J?D$ MS?P/*/"#&7K9K-#H:ORG#38%]54%?56!\PW/^#J[D01[*S.0XZ',6H?8.=BK M>S"JR$_P88 [Z[FS2]QPB-6JHA-6./7/L,*>%5YB14.L\#]84<^*+K'B(5;T MCC6["8-A5MRSXG^RW&5[/EZV(6K\[LM-0__V;RP^:0K[OCP2N:=<(0:YT?F3 MN4E;MCW;+K2H7)]LA39=YZ:%>>9 V@!SG@O3*]W"ME[_<*:_ 5!+ P04 M" !B@0I771I))&\) "[8P &0 'AL+W=O5GMC]\J( 9L7#8])]OI#QT;*LZ=(?(_GG"?D>1&$\7EKGB3+ MTW8['L_Y@L7'T9*'\I-I)!8LD6_%K!TO!6>3-&@1M,U.I]]>,#]L79RERV[$ MQ5FT2@(_Y#>"Q*O%@HF73SR(GLY;1NMUP:T_FR=J0?OB;,EF_(XG7YDW4ICQ$T7?UYO/DO-51&?& MCQ.%8/+/(Q_Q(% DF<>?.;2U;E,%EE^_TFFZ\7)C'EC,1U'PNS])YN>M88M, M^)2M@N0V>O)XOD$]Q1M'09S^3Y[R=3LM,E[%2;3(@V4&"S_,_K+G?$>4 HSN MC@ S#S W WH[ JP\P#HTH)L'= ]-J9<']#8"3&M'0#\/Z!_:PB /&!P:,,P# MANG1S0Y'>BQMEK"+,Q$]$:'6EC3U(A5$&BT/H1\J[=XE0G[JR[CDXDN4<&)T MR*_D+HG&WW]5.IB04;207XZ8I?*Z"5A(/M@\87X0DWO^G*Q8\%%&?+VSR8=? M/I)?2)O$YXF-LL3,'8D9 MY"H*DWE,G'#")S7QMC[>VA=/]?%]37Q;[N3UGC9?]_0G4PN\8N*8=(9'Q.R8 M5MW^T(=?KF;'Q#+2\$[=[M"'_[8*97AG9^O.X>%FW<[\:ZV[?ZUU[X!PTZAK MO7(DK?5WQDIYW1V\.Z7U_)MRPUYD)4_(I1 LG''U^HA<+J*57#9B2S]A@?^? M6OU]TC:BSEFG\9*-^7E+GI1B+AYYZ^+O?S/ZG7_4B0<)LS-8/X6ID]_CA53< M8UDM>]>@>]=P]Z[A@3:J @?]HNAZ4C31Y>2'F]M1B>F)@NE M"I"UT)4125H<;[CP(_G1[^DY589?&_>7S8>ZLND\+WV1__1,RR7Y\ =GHK;L:9-I*EPDS$;"'"2,Z@^@ M[ N\R+U=]XO=1:;A@6 5E0[6*AV\M4K3/^0;CQ,_G.T7JC:?ID)%PFPDS$'" MJ/X8=G?K%)F%!X)5=#IJ0]BB!81;Q&IQC2[+P3^:K3 MOPPN=>R+SGN=?/6)-]4OE&9#:0Z41G-:>:S(,#9[X6[-6EVKO]%51R56U69I MN-WXL3,Z^2]Q%LL@>N$\UI[F]0TTUA"29D-I#I1&H3072O-0M*HHS4*4YCOK M#ND3:BQB),V&TAPHC>XYD)H^$30/#T6K"K8P8 R] Z.KHI_#"9<*GBAQVK[@ MXR02>RHJU(F!TFPHS8'2*)3F0FD>BE85:&$>&8>X1__7B@IU@* T&TISH#2Z MYT ::46MU2LR#0]%J^JU\) ,O8GTXP55KK#7@;J7K\=S3JY#KB_$4!\*2K.A M- =*HU":"Z5Y*%I5V(4=9;RY'U4MQ.G5?;+K+POR6*[$9O4=?:@Q!:794)H# MI=&<-BQ?%')L]C8[^E C"D6K*K2PH@R]CZ$KO:.YSZ?$>>;CE;K$DUQ/I_Z8 M"\+"2?X9]4-96WT6K#_3%EBH#06EV5": Z51*,V%TCP4K2K?PJ$R]!;5SRJP MPZU"L3&B/=(GWEB>4!,+2J-0F@NE>2A:59Z%DV4<8F7MD>>GQO(LJ9/\,WJ2 M9?=6T6J5>K)]2MM4*M2)@M(<*(U":2Z4YJ%HU:O#"]?*/,2U>E.E?ETN=4K- M$ZS4U..-WUXC_58TU2J4YD!I%$ISH30/1:MJM7"Q3+V+]7XO$,@3+[O=QE#^ MVU0QU/:"TAPHC4)I+I3FH6A5%1>VEWF([?4S5'RT^Q*!/.>RB6UUK$WY0@TO M*,V!TBB4YD)I'HI6E6]A@ID_;H+=R ;]=,0VFA(G?/1%%"IYLH#<\_$\C()H MYN^YT$#??-/! BC-AM(<*(U":2Z4YJ%H5=OA@V[NI&3Z 6EE0F@.E42C-A=(\%*VJU<+R,@^Y_>I=#A\, MMH8/>IWAIK.@W[S&(H8:7U :A=)<*,U#T:HB+HPO\Q#CZ[V-'@RW1@^,SM;@ M%]08@](<*(U":2Z4YJ%H5?D6QIBI-\;NYSR=#R4?._@Y'.RX MO0D+2K.A- =*HU":"Z5Y*%IU/IW"^[+>_(ZM+RLE6#7<=9=-176Y2N:14)/O M[#OIZY-K*F@HS8;2'"B-0FDNE.;EM/(/.:O7D?_6Y\*J5 OKRWISZVM;JH_, M#]A#P,DT$OE40/LT"[T+#$JSH30'2J-0F@NE>5:-=VD8@Y.NN4.TA=-E'>YT MU5ZA_24*'[-[67.-CJ(XD4L3\L(3L: MYF!S5C.H=750FRZT30]%J^JL-#'>(3/C0726]]=50UJZ TNN>0FIE#0@RR4/-ADCZ9L)?:.PRA:7DH6E7)A5-EZ8VA+7/U=5@T MG=54<$[^2'=+R7/5^;&OT=E7XSKMR:<3#\MN%[GB*DYOQNK3;:QNJ+<%I3E0 M&H727"C-0]&J$B^\+0O@;>&OW-9GU5C)V_;8QFBM#6W0@=(HE.9":1Z*5I5G M86A9/]W0VF.]ZA-LK-2:6YLVE0JULZ T"J6Y4)J'HE656MA9%F VP3>U7O4) M-E;J8+^1:T.;=* T"J6Y4)J'HF5:;9=F_E]P,4N? A&3L>JC9Q.:KY>NGS1Q MF3Y?86.Y;9PZ1LUR:IRZV7,D"GSV6(LK)F9^&). 3V53G>.!/%V([$D1V9LD M6J;/'7B(DB1:I"_GG$VX4"O(SZ=1E+R^40VLG]=Q\3]02P,$% @ 8H$* M5Y'SB-3& P \Q !D !X;"]W;W)K&ULM5A= MC]HX%/TK5K9:M5([^0 "S (2D.RVE6:%ANWV8;4/GN1"HDELUC8P_?>UG9!" MXHF8;>8%;.?91 COD-W0&13S:4 MY5C(+MO:?,< QSHHSVS/<7P[QRFQ9A,]MF*S"=V++"6P8HCO\QRS;PO(Z'%J MN=9IX#[=)D(-V+/)#F]A#>++;L5DSZY8XC0'PE-*$(/-U)J[MZ&K S3B[Q2. M_*R-E)0'2A]5YU,\M1SU1I!!)!0%EE\'6$*6*2;Y'O^5I%8UIPH\;Y_8?]?B MI9@'S&%)LZ]I+)*I-;)0#!N\S\0]/7Z$4M! \44TX_H3'4NL8Z%HSP7-RV#Y M!GE*BF_\5";B+$#RF .\,L"K!_2?">B5 ;UK9^B7 ?UK9QB4 5JZ76C7B0NP MP+,)HT?$%%JRJ8;.OHZ6^4J),LI:,/DTE7%B]B<5@%P'?4!K0:/'#RKI,5K2 M7#J18[V6JPP3^7R>930J1N@&K1/,P(0.GU0;T-L !$XS_DZ&W@,7+(V$Q.I9 MT#]WD#\ ^U<^^[(.T-LW[] ;E!+T5T+W').83VPAQ:E7M*-2R*(0XCTCI(?N M*!$)1R&)(3;$!^WQ?DN\+9-:9=8[97;AM1)^WI,;U'/>(\_Q>H;W65X?[IGD M_-SLX?^>_2(9O"V=?, M:M\[S'QG,+$/Y[EL8@8#]Q(3-#&N,QQ?@L(F:*SR=S!H[U?:^ZW:EY0+_9/! M&?#*^B:EK3SJR+CE.QS!U))G @=V &OVZR^N[_QFLE>79$&79&%'9!>+,:@6 M8_!J1BR8!V?>\&KV638A;LVJ01/2']5,:)C(-WO0KV3[[;+E29R2+9)[*[K# M[!&$ZIWVZC9/MO*^U)-=D@5=DH4=D5TLSK!:G.&K>7+8-%QMWULV(<.:)9L( MKT82&N;IFRTYJE2/6E7+2P%@%B7:DP$ZLDNRH$NRL".R MB_495^LS?C57CAMNJ6^4381;VP4# Z1^6C*^FC]+ZLO[HE^SJ E4 MWUP# V@\KF^>!M"H7S_1[;,B+@>VU=4S1Q'=$U%N M83Q0%;TN&G_0%W\'R!O!-B4<9;"14SDW0_F+8D6%770$W>D2\H$*69#J9@(X M!J8 \OF&RC*R[*@)JO\Y9M\!4$L#!!0 ( &*!"E&PO=V]R:W-H965T6JF0D!3: M58 $M-,VJ1UJM5;3M >3W! +?V2V@?+O=^V$C%8!5=I+XH][C\^YMH^'6Z57 MI@"PY%5P:49!86UY$X8F+4!0TU4E2)S)E1;48E#]7:M\S49!Y @!A]0Z!(J_ M#$-/[4F$&SI$L\;._1/WOMJ&5!#U_0*U MGK[#2Q4W_DNV=6P4D'1MK!)U,C(03%9_^EK7X2"A=W4D(:X3XH\F)'5"XH56 MS+RL6VKI>*C5EF@7C6BNX6OCLU$-DVX7GZS&689Y=OR@+)!>1#KDR:ITU7$E MRX#900'M<'/6;N#=,+QNFER>9 MWK(-RT!F9,> 9VT$J_SKPW7?43L5\894OR'5/TGJ[K5$K\#3ERHA\* 9?X#1 MJU9HCJ5F*9"-XGB(.;,[DJ.A*-U&O=]:LZA_]4[ L;@CM1TT,@8G9;QX)T(9 M= ,:C97 7A=G.1"5U\+4_@[N@&J\@6<_\7_>)NCT>@/B 4A"A+]=;??@?Q"J M(H0'EB5 +[V3&]RJM;35A6U&F\=BXCWRW?@4'Y'*\__!5"_0/=5+A@7AD"-D MU+W"#=*5JU<=JTIOC MET69]L\"'$+0+P/E&ULS59;;YLP%/XK%MI#*[7!0""D2B(U:7>3ND6MMCT[)I"SC=C MQW.V [=TE2DSX$Y&)5G!':AOY5SHGMMD26D!3%+.D(#EV+GT+J:>;P+LBN\4 M-K+51D;*@O-[T_F4CAUL&$$.B3(IB'X\P SRW&32/'[629T&TP2VV]OL[ZUX M+69!),QX_H.F*AL[L8-26))UKF[YYB/4@D*3+^&YM/]H4Z_%#DK64O&B#M8, M"LJJ)WFLC6@%!'Y'@%\'6"/<"LBRO"**3$:";Y PJW4VT[!2;;0F1YG9E3LE M]"S5<6KRA2M 'D;GZ$[QY/[<*$S1C!=ZVR6QQLUSPK;SZ&MIQRZ-F50]H9,K M4(3F\G3D*DW')'63&GI:0?L=T!&ZX4QE$EVS%-+G\:Z6T6CQMUJF_M&$G]>L MAP)\AGSL!^@=(K8L%",27 M6[@3RNKF*?IU$+Q24V&%%LN\/0^3,,9];SAR'PYP[#<<^W_/<6-/I]Y9\@!" MOVT('D$D5 (J!4W 4DYYGA,A4:G%6-*&_<[%0PHJ)H.6@K@W] [S#QO^X5'^ M'P1AFNDK? WW?!T&<80/TXH:6M'+:+V1E=&>E5[4\\/#I <-Z<%1TMX M.=AS\]SSO!AW^!DWU.*74GLC1^,#AQ.'N/7K.*G#1L+PJ(0988G^O+S&W.&^ MN7X0AQU7@(=WMSI^(;4W,K?&;[L[[.$NWJVOD?OZ. MIO_?W+$UE6E#L6]@3905-5-U5&\M!7%@BM=G]AFIBM"$&:!GE]R7574'0/0U)B3 MWU!+ P04 " !B@0I7;0"IC <" ! ! &0 'AL+W=O,QKX7449Z%W-+FF=FCDAJ6EKE]70O[]@+* M'&=1$IT3KW);H4_P/&O$%E: /YNEI8CW+*6L03MI-+.PF47/R=,\]?6AX)>$ MH[N8,^]D;"A-0),;J?TI MKM#2JB0??LA&\4?6!JG MHROP^;_A"R@(G@1X^C><4WOZ'J5]C]+ ]W"#K_7L&)S %M*)M0)V)W5G[_Z: MOY;P,1#ZAW3(D^GDXS3)^.'2QY6R\60Z'?=EK5Y^<;[^;7T3=BM)D((- >/A MA!AL>U_; $T3CGQMD"Y0F%;TQ,'Z EK?&#KV+O"WJ/]IY.]02P,$% @ M8H$*5YK%0*8/ P D H !D !X;"]W;W)K&UL MS99;:]LP%,>_BC![:*&-;W'LE"30M+M"1VAI]S#VH-@GL:@L>9*2M+ //TEV M')=<""N!Y2&V+N>6V#"G-' SDW$:, 7BA(&$X'DHBBP>!T#Y:NA MXSOKB7LRSY69<$>#$L_A =1C.1%ZY#99,E( DX0S)& V=*[]J[$?F "[XXG M2K;.D9$RY?S9#+YF0\5!" MKQ(=IT;?N0+D>^@2/2B>/E\:A1FZX86^[!);XR84,[W^R)8@E5ZT&]&UL9.H M5W1V"PH3*L_UGGN]0Y!TL^OG'113$+\&KM*PIJ2;UF#C"BS8 ]9#=YRI7**/ M+(/L;;RK139*@[72<7 PX;<%ZZ#0NT"!%X3H W*1S+$ 61\.5 @;+T-;H;NG M0N-0G5@_!%)AEA$V1V>$U=/GZ,_.DI6&JD)D*Y@G:CD*DJ0;>0-WN8.LVY!U M_Y7L JWLG:L7\1*$?A(1O(!(B014ZFL)%CWCE&(A40FBRF%4;#S.P3N1D M;\M)O]?IAKNAXP8Z/@C]9&^(=U@9;UEY&<51U-^-E318R5%8)[(RV;;2Z_3W M,/<;YOY!9OUYF %YGYO];3?],(CWW)F^MWF]>\>RG'3'=;34(!8FY;(8E2OF"J MZA>:V:;=NJZ:C,WVJE>[PV).F$049CK4Z\3:5%&U/]5 \=*V'%.N= -C3W/= M,H(P&_3ZC.NVHQZ8 DT3.OH+4$L#!!0 ( &*!"E&PO=V]R:W-H965TUI>0!;G.\[1];G MH^OTP/B#V%$JT5/@A^*JLY-R?]GKB?6.!D1TV9Z&ZI\-XP&1ZI9O>V+/*7$3 M4.#W=$TS>@'QPLYLFI2M^&S*(NE[(5UQ)*(@(/SYAOKL<-7!G9>"S]YV)^." MWFRZ)UMZ1^77_8JKNU[.XGH!#87'0L3IYJISC2\=/(@!B<4WCQ[$R36*JW+/ MV$-\X[A7'2V.B/IT+6,*HGX>Z9SZ?LRDXO@W(^WD/F/@Z?4+NYU47E7FG@@Z M9_Y?GBMW5YUQ![ET0R)??F:')F MO^0I>Q G ,53#] S@%X&#%X!]#- ORU@D $&;0'###!L6P<+](4^R8CX M'Q3@ZYV)WK_[@-ZA'A([PJE 7HB^AIX4%ZI077_9L4B0T!73GE2QQAY[ZRRN MFS0N_96X^NB6A7(GD!6ZU*W!V\UXXRW\LAFOXP:"GGK(^9/67Y[TC=[(^&<4 M=E%?NT"ZIO=K IHWPV\)5W#\*MQL[UVO@5OMO=?![1^K^^+'@E_^F'>G!5SO M)W#<((1^_LKU$[[!*WSI^^4($5$7F1'WPBU:4>XQ]P)](WY$+QK?Q;IW*75H M) [C[NUQ-IA,>X^GZJHQ&1=-S*J),2R:6%63H5$TL1LK'_?=EV)/UO2JHSIG M0?DC[( MK*#G4:[G48O$>],R\=[4)=Y/42QZQ#:ID4#7D=PQ[OVG3././YUZU?;XC;&= M^U) DIF09!8DF0U)MH D6T*2.2G9\'3,,M34)^]8"G(?YW(??_?4)E5O\]Q& MO*7H1O?G*AJ2S(0DLR#)['&EJ0?8T$N#C*H1'HQP:?JWK%KUA_WR@,4!BKZ@ MP$FNP,FOGEPW.CQ79T%1"2[O3K=?>GCS&C,\ZAJE=C5K MS(;=<5DC5:-)%^/)Z:>LEU91+MJX7[;C,"U:62U!(W.@ MV(J"/NYNX#>V-W[)6F-S$&?+%I+-!&6S0-EL7-W!J2PXUME4DBOH9@H46U&R MQ^T4W&(_I9Q;CVI54X:G6,;U^1-R*V$.RF:"LEF@;#8HVP*4;9FQ%;8Y1^5A M ^A^3N_D!$= ^38Y_B-0D@73G>6\-#]B=)T4V_ARD1X@.M*G MYYG4>&'KA0+Y=*-B/9/CD_&ULS5C;;N,V$/T50EVT"9!&5U^2V@82R[T!*8Q- M=HNBZ ,MC2TA$NF2=)S\?4E*5B2MHL19HNV++9(S9\@YPR$YDSUE]SP!$.@Q MSPB?6HD0VTO;YE$".>;G= M$CJPIR[&03;:Q^98!CK52GMF>XPSM'*?$FDUT MWY+-)G0GLI3 DB&^RW/,GJXAH_NIY5J'CH_I)A&JPYY-MG@#MR ^;9=,MNP* M)4YS(#RE!#%83ZTK]W+A^DI!2WQ.8<]KWT@M947IO6K\$D\M1\T(,HB$@L#R M[P'FD&4*2<[C[Q+4JFPJQ?KW ?U'O7BYF!7F,*?9[VDLDJDUME ,:[S+Q$>Z M_QG*!0T47D0SKG_1OI1U+!3MN*!YJ2QGD*>D^,>/I2-J"A*G6\$K%;RV0O"" M@E\J^&^U$)0*P5LM#$H%O72[6+MV7(@%GDT8W2.FI"6:^M#>U]K27RE1@7(K MF!Q-I9Z8_48%(-=#WZ-%OLWH$P"Z!@+K5*!EA@E')R$(G&8,^NJ%$)!PM2 QQAW[8 MKS_LT;>E(RIO> =O7'N]@+_NR#GRG3/D.9[?,9_YV]6]KN5\G?7%NZTWG.%7 MH>%KO. %O,!Q3^Y/=1B@/V\@7P'[JXOC7A25Z"[Y%DP)I]^XT[ M='[H!A5/@_?Q)-EY3/-=CJX(D4GT%=84:5I$I>.KG.Z(Z.*I=R[' M\F02+"S AC6>!BV6#)EKL#2L6!J^DZ57:/D,7*A.24]*8W3R!V!VVL5,K_UC MF3$)%O9[)D!/%XK[2PZA-SQL#NGN+47H?M>W[1N,74)7EU:5.Q6 M =WIHU[[QT:N4;2P1*O';CMR31ELTN,]T^/]"TE&2W22TVO]:'),HH4E6C.Q MM&^6IDPVZ7E^-+O]KV8SNZ1 M+04 :JVO#L'U!+ P04 " !B M@0I7'S0^9M(% $(0 &0 'AL+W=O5&T'19&Q6Y0UPW=(HT8Z/II&Z[%-,)W\H\8_12H'); M%*GXYYSF_.YLA$?[AL_9:BVK!FD7EU\VE4'=.ZV69%925&6=(T)NS MT7M\.B=195 C_LCH77EPC2HJUYQ_JVXNEFE"5BY2]>^6SFB>5Y[4 M.+XW3D=MGY7AX?7>^X>:O")SG99TQO,_LZ5]#ER2RG0Z$?P.B0JMO%47=?1K:Q6OC%6)IHI M.SG]Q"5%V$,GZ(JN5 )(=,%VZ5=-(]SZ.J$RS?+RC7K^]2I!KU^]0:]0QM"7 M-=^6*5N6$T>JL54].(MF'.>[<9"><7CH(V=R7:(Y6](E8)_8[4.+O:-BT@:& M[ -S3JP.?]NR=\ASWR+B$@\8S^SQY@2B\V.]SY_=^U$PO#9+O-J?WYDO9EH)SN[,.:^NJ--U./1($XXES>Q@Q$T7B(,+'J,1$A;X?1<>HN8D*O# @ M+>J(IM_2]*TTYZE@&5N5Z)JJ;*\H$BF]XC>J])<4HC\SF=P2%X-1>-N M@D@0N1IU$Q1&0:PQ![HC)(")!RWQX 6(!X\A;H( XB8(( YTUTL\;(F'5N+O M%]^WF:!+Q5BF;)5=YQ2E!1N=1#MT!C'25"]I$>T 5"DQR8!0-@-]52' M4($?P<2CEGAD)7[!)!6TE+;YC8R.<11J/ &,K[_1)L;3:\/N8Q;HK&=Z(8* ME:ULM5^M2_371UI<4_$WQ-;JK!*FI^4F7="SD5*>)16W=#3]^2<'@ 3%I, ]_ G'7_R$OS)H_B;*(B_B0+YFS + M_TX=8KL\M!0@]!^:5Q^%@K-L@;Y4*XZM-MD[>FIQ&M1;,JBW^5#>CJ>L4[K8 M+G4?K$^FS,1N'.LR!X#%D;YV)@"*8"_T]>P$^AP'48_$PYVXQ2^A;C&@7$-= MV\P@%-;#E "H0,%T_B;*=\=N#_U.XF*[QGTF?5-V0O0!%$#?1$'T392%?B=T ML5WI/E"0Z-:2W9%!O\Z&\'<]>I^&Q M7<0_6*=,/3U6I45/4Q,5!:Y1IH#O +4BZY\J$,P/W+Y$[50\MLOX9[ZGL5F! M]75_!H"P:WR%0Z@X"'7Z &H<]6A(T@EF8A?,SV-/3$5KL@= 'L(9;*'4/WL M.P5-[ K:7J0N!5_0LGQ\>;+W]M3R-*BW9%!O\Z&\'<];I_R)7?D_5)X(H,L] MG\1ZAD+RG>@[00D (V'LZ5L,$,P-HIY=!M+)?&*7^<]\13U@5R0F>@0@5!CK M 3!1 0GU @V@/!+'/?0[R4Q>8G>80#N_)GT(9=(W41!]:(>XEWZGHHE=1<^X MV'!5I.A;](FSD_W!D+4,63T^N0P-Z2T9U-M\*&_'<]-)?/(2$I\ .\O$.>XW/OJ9/;6W'Q)!, A9ZSE,F^E2B5 M7]JVC!/(B#SG.3"],^,B(TI/Q=R6N0 R+4!9:KL8=^R,4&9%O6)M)*(>7ZB4 M,A@))!=91L3O:TCYJF\YUF;AGLX391;LJ)>3.8Q!/>8CH6=VQ3*E&3!).4," M9GWKRKD<.-@ BHAO%%9R:XQ,*A/.G\SD9MJWL%$$*<3*4!#]6,( TM0P:1V_ M2E*K.M, M\<;]D]%\CJ9"9$PX.EW.E5)WPHM-(496:3JGJ\^0YE08/ABGLKB M%ZW*6&RA>"$5STJP5I!1MGZ2Y[(06P#'?P7@E@#W7P%>"?"*1-?*BK2&1)&H M)_@*"1.MVA6[8^L]ABGR& M;J9ZC[;2VLP) M=ESJN%[K<%_1\67!SI&'3Y&+7:\&/FB&#R'6<*> N[MP6U>D*HM;E<4M^/Q7 M^&K2KLMI3=(I2,R%64:.YX9!MV(*^H.^ MYJ!=HVR^N7*RT;/&<][J64MD.R7I5"7IM.%9Y\ -#[M^L.=9393C^%Z]:=U* M8;?9-+:DVC/C"4FU;W'">,KG%.1_^-=XY%O]:XELISIA59VP#?_" V><$(=X MS[_:*!_7^W=1*;QH5#@2/ 8IVW*N\;"W.M<2V4Y='/SRE<=M>%>R;'^I@L#! M_IYY=6&=\.![9F^U):8GO"5B3IE$*&ULK59=;]HP%/TK5E9-K;0V MWTG+ *F05.NDHJK ]C#MP9 +1$UL9CO0_?O929I!$E#7\4)LYYQS/W%N=TO9 M,U\!"/22)H3WM)40ZXZN\_D*4LROZ!J(?+.@+,5";ME2YVL&.,I)::);AN'I M*8Z)UN_F9X^LWZ692&("CPSQ+$TQ^SV A&Y[FJF]'CS%RY50!WJ_N\9+&(.8 MKA^9W.F52A2G0'A,"6*PZ&FW9B?T%3X'?(MARW?62$4RH_19;>ZCGF8HAR"! MN5 *6#XV,(0D44+2C5^EIE:95,3=]:OZ71Z[C&6&.0QI\CV.Q*JG76LH@@7. M$O%$MU^@C,=5>G.:\/P7;4NLH:%YQ@5-2[+T((U)\<0O91YV"%*GG6"5!*M. M< X0[))@O]6"4Q*NE[$GB?9SMLQ73%2? MC 63;V/)$_T1%8!,&UVB,2QE_06Z)T7WJ3)>HI%LU2?8 ,D W3&:HBG!BT6< MQ%A A(:Y@\ X.@] X#CA%Y(S'0?H_.P"G:&8H,F*9AR3B'=U(?U55O5YZ=N@ M\,TZX)N-'B@1*XY"$D'4P@^.\[TC?%WFJ4J6]9JL@754\&M&KI!M?$*68=DM M_@S?3K?:POD_Z^&[K>\EPZXZQ\[UG -Z95>TE;4@>CE1752;OFVY[G57W^PF MJXFR;ES?W$<%393G.+Z_CPJ;*-?V7*M"[47H5!$Z1R.-S6^^<4BPXI5AX(K&]&KA5#=SW=EE! M='=J?G-C6K4F:X),Q_!JK1@T499IML 5EV\:!)O.J +VC 8XHN9R.T8\' M2&? ?K8%>E3@7]OLE&+!*<7"$XGM5<&OJN"_M\W\YC5E>8Y7Z[,FRG1=PZ[U M61/EV([OUOJLB;(-VS5J?:;O?/3E)WB93UL;SS&U\X'9 M&9HMYX$< (MY[:]\,3T^8+:,"4<)+*0IX\J7_PE63&3%1M!U/G+,J)#S0;Y< MR2$6F +(]PLJQXYRHPQ48W'_#U!+ P04 " !B@0I7O:3=?9H" !3!P M&0 'AL+W=OW/2VL4CL8#LM_/O928A:"-4F]27QQSTGY]SK7(<; M+AYD@JC@*4N9[%N)4OF%;H2(TE2<: M,IN,X/CH!(Z ,I@FO)"$+61H*RW7?-2.:VF7E33O'6G?"W8*OO,)/,?S6^## M_? 1QAKNEG!O%V[K)#69\II,>25?]QV^L="_CE#/H-W U6-!>Q[:ZVWQ+4&N[S5!.Q+]1J*_5^+L[F9Z-8+)=#"]FK0IVPLW#>-" MYB3&OJ4[@D2Q1BOZ^,$-G"]MZ3\0V8[3;N.T>Z!B5#R]K3Q[/7.<=HK1$A3T MSMN+T6LD]O9*O..L,YO [UO,YBC^M&G;2_"_Y3@0V8[7H/$:'*@RMEF>NFULB5I1)2'&I4<[IF4Z'J%IX-5$\+[O@G"O=4\MA MHF\]%"9 [R^Y[H3UQ#36YAZ-_@)02P,$% @ 8H$*5R\F30\S P 1A( M T !X;"]S='EL97,N>&ULW5A1;]HP$/XK4;I.K30U0$9*5D#:D"I-VJ9* M[*D,A3V&U?@;A^S4=A-WH:!HYO(C(["VY/7WY927[P* MW/WHS=%1Y_;T8M]_8H'3,/*2]I] >M;!>0V&42>[U';ZL2%R@<=8V+E?T:\? M/Y&%MLCC2QUX]!CYK20P;'!4%V0\S*5HZQ*'SF'824&#.\)'X81P-E4,HG)2 M,+YV[AXX9I)+%6C3$"9=%SS5O8.[SH)>J7D*)J2RN5T&]W=:3]\#-A8(9)PW M GNAS-)IE)E5#5INN'& M-1YRFH,8+N&M91@!J+0LSR!B92T&LADU$/3"T,\KY-3Q(7_,=[E6^5;<. M5$TT0R.H'CH:9P#_-IOCWJ9]'F]0LCNI/RS-9(-6F1D'56%P1Y5FLVW/=T7*&[K2 MFW9:Y;CFW@%J_KO[/*>"*L*W19O>?\F[_&S%\?F_DFS_J^P+]FJL3\>7+K)_ M""*30Q!Y$#TY>)$BH_ILW#J =X[?QAO :\XH_ (O3;Q-&DR7C&LF:FO!LHR* M!Z>PH==D:EZ2=_C-_(SF9,GU30..PG;\F69L6:3-K"O8B'I6._X$R^LFS3N6 MR<5$1E%Y?F?UC- MU^,P3-O BPS0F $:XZ)\R,1^L#S^F-1<_I6F:1PG";:CDXE7P03;MR2!KY\- MTP816![(]&=[C5<;[Y#'^P"KZ6,=@JT4[T1LI?A> ^+?-XA(4W^UL3P0@54! MZQW([\\#/>6/B6.H*J8->X)Q)$TQ!'K1WZ-)@NQ. A]_?;"G)([3U(\ YE<0 MQQ@"3R..8 I X;$L3T']\ZC:'-.1>TO1^/?4$L#!!0 ( &*!"E>7BKL< MP !," + 7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$ M^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8E MCVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:GEGU=*/9,?32W-?+*U=G<^G9IRRQMF?E<[+N'(6NF&64CJS=3L M-&>5V7)NFWJ:SF;%M&%"3BXO]G4]Z*F;4):75B@)F5W&D^"OYOUXER0OPHB5 MJ(5]FT_Z_S6?D$9(T8B?O)I/9A-BMNKU3Z7%3R4MJY>E5G4]GR3#@2>NK2C_ MD[WL(!_9RO0YEJV^,0"93XH95+@6VMB^1%\_ \87#H6'5&O5M:@MUU?,\B]: MM3LA-UTUZ_\31K5>BY)?J;)MN+1#'#6O.T!IMF)G)D2R MAL\G^R+D#UF1S])"D,B-'*J"LMV=PJ5OJN&N+> Z,=3G @[HFZH'/QSD M*J M%A5#7*AFYT!2!)*.!KFTJG0@"P2R&"^2S&P=R!,$\N2PD'?0A9.$'),[ M9EO-]\_B4-!!/$403R,@IH"X;)N&Z;>^E<5&"CB?2>M GB&09Q$@,X"\9D*3 M)U:WG-QR9B"FW9EN5S[#^O)9!,P<,+\H5;V*NB8,U',#WI4;0'$Q4>4)J22)XI).)I^;7:W>.!]XR4.K MRRUS,3&=)#%\DJ0NYB:3-(9/0G;V,=%)3 R?A.SL8V):26-H)61G'Q,S3!K#,/^R'SEZ M9$!A?G,A,=^D,7SSKL$/^3#UI#'4L_?AAW28<=(HQ@F(T7\2,>.D48P3Z,K) MD8N)&2>-8IS 7-##S##G9*,Z)W,Q,>=D,9P3Q,Q=3,PY60SG!#&IBXDNG<5P M3M#@7J-CSLEB.">(Z34Z9ITLAG6"F%ZC8_+)8L@G.![R&AVS4!;#0D%,K]$Q M"V4Q+!3$]!H=LU 6PT)!S,)=)<0P+_8-Y3.Y;"RRR$G(# 7:77"EF(1K#0@[F==O/W/8M[V)B M%J(Q+!2;LFK M.[B$@?R2U>6#)MW/\!E%3KO=SG5;UPO(NY=?%:OV'T7N/^B\_ 502P,$% M @ 8H$*5R=EU:4, @ A"4 !H !X;"]?!-T#(HPS=1Y +Z1 I MTA@\%3$D>/D7Q =B^/2K'-IQWYWJ;M_7Q._8^4ZGI7CFV]Z_IR M.E_9=,.Q'<_+89OZ=OW>;DO2Y3*GX79&\_QT.W/Q^MF7_YG8;3;[=?G9K7\? MRVG\Q^#TIQO>ZZZ4L5F\ML.VC*LF?1RNIVNZ'.3N/+E9O+RMFN'E39HT=Y!" MD,X?9!!D\PBGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN! MWHIZ*X'>AGH;@=Z&>AN!WH9Z&X'>-MDL(=#;4&\CT-M0;R/0VU!O(]#;4&\C MT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\GT-LGF]T$>COJ[01Z.^KM M!'H[ZNT$>COJ[01Z.^KM!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>@?J'01ZQ^1G M)8'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=X9]F?4.Q/HG5'O3*!W1KWS=^I= MQ\]#J=>>KS4^_SNI'L_WENOC+\NODY-7Y8)SNJVHSW\!4$L#!!0 ( &*! M"E?NU>T8Y@$ /4D 3 6T-O;G1E;G1?5'EP97-=+GAM;,W:74_",!0& MX+]"=FM8Z=?\B'"CWJH7_H&Z'61A6YNV(/Q[NP$F&B4:3'QO6*#M><]ZDN>* MZZ>MHS#:M$T7IMDB1G?%6"@7U)J06T==6IE;WYJ8OOH7YDRY-"_$Q&12L-)V MD;HXCGV-;'9]2W.S:N+H;I-^#K7MIIFG)F2CF]W&/FN:&>>:NC0QK;-U5WU* M&>\3\G1RV!,6M0MG:4/&ODSH5[X/V)][6)/W=46C1^/CO6G3+K9I6(C;AD)^ MO,07/=KYO"ZILN6J34?RX#R9*BR(8MODNZ)GQY-CNF':??*3\X00V/$Z_ MXX\S?J__RSX$2!\2I \%TH<&Z:, Z>,&UL M4$L! A0#% @ 8H$*5UO35>#O *P( !$ ( !KP M &1O8U!R;W!S+V-O&UL4$L! A0#% @ 8H$*5YE&PO=V]R M:W-H965T&UL4$L! A0#% @ 8H$*5SRPO:\X" D20 M !@ ("!&PX 'AL+W=OXLR3 " , D* 8 " @8D6 !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$*5]XEX,(, P ,PD !@ ("! MI!\ 'AL+W=O0 MTN55OPP *EO 8 " @>8B !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ M8H$*5\=,=V=*!@ G X !@ ("!K#@ 'AL+W=O&PO=V]R:W-H965TY34TP( $$& 9 M " @15@ !X;"]W;W)K&UL4$L! A0#% @ M8H$*5WF/6QN5 P _ < !D ("!'V, 'AL+W=O&PO=V]R:W-H965TO!]@@4 /\, 9 " @>9K !X;"]W M;W)K&UL4$L! A0#% @ 8H$*5^>KXCE$ P M'0< !D ("!GW$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$*5P?%:V*V P L@@ !D M ("!QWT 'AL+W=O&PO=V]R:W-H M965T% !X;"]W;W)K&UL4$L! M A0#% @ 8H$*5Y@7LY7^ P 5@@ !D ("!ZHD 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$* M5VI,9T;E @ SP8 !D ("!790 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$*5R4]C@UR P '@T M !D ("!1*$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$*5Q"&Q?B. P < H !D M ("!WJP 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 8H$*5[[>>@=P @ ?04 !D ("!3K< 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$*5S\? MPM)F @ 6P4 !D ("!8[\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 8H$*5S3AMHPQ @ 2@4 !D M ("!W,H 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 8H$*5[3E_%AG P UPT !D ("! MNM8 'AL+W=OB?JH$ !P'@ &0 @(%8V@ >&PO=V]R:W-H965T&UL4$L! A0#% M @ 8H$*5V@K@AU] @ #P< !D ("!"., 'AL+W=O&PO=V]R:W-H965T1\XC4Q@, /,0 9 " @4/Z !X;"]W;W)K&UL4$L! A0#% @ 8H$*5R8L&PO=V]R M:W-H965T&UL M4$L! A0#% @ 8H$*5YK%0*8/ P D H !D ("!P08! M 'AL+W=O&PO=V]R:W-H965TH)B<_&P0 "<6 9 M " @&UL4$L! A0#% @ M8H$*5Q\T/F;2!0 !"$ !D ("!'!0! 'AL+W=O&UL4$L! A0#% @ 8H$*5[VDW7V: @ M4P< !D ("!M2 ! 'AL+W=O&PO7BKL

0F 0!?#*PP@0 %0J / " &PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !B@0I7[M7M M&.8! #U) $P @ $ +P$ 6T-O;G1E;G1?5'EP97-=+GAM 7;%!+!08 1P!' &@3 7,0$ ! end XML 76 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 77 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 78 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 290 302 1 false 82 0 false 8 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.intest.com/20230630/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Balance Sheets (Current Period Unaudited) Sheet http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited Consolidated Balance Sheets (Current Period Unaudited) Statements 2 false false R3.htm 002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Sheet http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Statements 3 false false R4.htm 003 - Statement - Consolidated Statements of Operations (Unaudited) Sheet http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited Consolidated Statements of Operations (Unaudited) Statements 4 false false R5.htm 004 - Statement - Consolidated Statements of Comprehensive Earnings (Unaudited) Sheet http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited Consolidated Statements of Comprehensive Earnings (Unaudited) Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Stockholders' Equity (Unaudited) Sheet http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited Consolidated Statements of Stockholders' Equity (Unaudited) Statements 6 false false R7.htm 006 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited Consolidated Statements of Cash Flows (Unaudited) Statements 7 false false R8.htm 007 - Disclosure - Note 1 - Nature of Operations Sheet http://www.intest.com/20230630/role/statement-note-1-nature-of-operations Note 1 - Nature of Operations Notes 8 false false R9.htm 008 - Disclosure - Note 2 - Summary of Significant Accounting Policies Sheet http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies Note 2 - Summary of Significant Accounting Policies Notes 9 false false R10.htm 009 - Disclosure - Note 3 - Fair Value Measurements Sheet http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements Note 3 - Fair Value Measurements Notes 10 false false R11.htm 010 - Disclosure - Note 4 - Goodwill and Intangible Assets Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets- Note 4 - Goodwill and Intangible Assets Notes 11 false false R12.htm 011 - Disclosure - Note 5 - Revenue From Contracts With Customers Sheet http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers Note 5 - Revenue From Contracts With Customers Notes 12 false false R13.htm 012 - Disclosure - Note 6 - Major Customers Sheet http://www.intest.com/20230630/role/statement-note-6-major-customers Note 6 - Major Customers Notes 13 false false R14.htm 013 - Disclosure - Note 7 - Inventories Sheet http://www.intest.com/20230630/role/statement-note-7-inventories Note 7 - Inventories Notes 14 false false R15.htm 014 - Disclosure - Note 8 - Leases Sheet http://www.intest.com/20230630/role/statement-note-8-leases Note 8 - Leases Notes 15 false false R16.htm 015 - Disclosure - Note 9 - Debt Sheet http://www.intest.com/20230630/role/statement-note-9-debt Note 9 - Debt Notes 16 false false R17.htm 016 - Disclosure - Note 10 - Stock-based Compensation Plan Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan Note 10 - Stock-based Compensation Plan Notes 17 false false R18.htm 017 - Disclosure - Note 11 - Employee Stock Purchase Plan Sheet http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan Note 11 - Employee Stock Purchase Plan Notes 18 false false R19.htm 018 - Disclosure - Note 12 - Employee Benefit Plans Sheet http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans Note 12 - Employee Benefit Plans Notes 19 false false R20.htm 019 - Disclosure - Note 13 - Segment Information Sheet http://www.intest.com/20230630/role/statement-note-13-segment-information Note 13 - Segment Information Notes 20 false false R21.htm 020 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables) Sheet http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables Note 2 - Summary of Significant Accounting Policies (Tables) Tables http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies 21 false false R22.htm 021 - Disclosure - Note 3 - Fair Value Measurements (Tables) Sheet http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables Note 3 - Fair Value Measurements (Tables) Tables http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements 22 false false R23.htm 022 - Disclosure - Note 4 - Goodwill and Intangible Assets (Tables) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables Note 4 - Goodwill and Intangible Assets (Tables) Tables http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets- 23 false false R24.htm 023 - Disclosure - Note 5 - Revenue From Contracts With Customers (Tables) Sheet http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables Note 5 - Revenue From Contracts With Customers (Tables) Tables http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers 24 false false R25.htm 024 - Disclosure - Note 7 - Inventories (Tables) Sheet http://www.intest.com/20230630/role/statement-note-7-inventories-tables Note 7 - Inventories (Tables) Tables http://www.intest.com/20230630/role/statement-note-7-inventories 25 false false R26.htm 025 - Disclosure - Note 8 - Leases (Tables) Sheet http://www.intest.com/20230630/role/statement-note-8-leases-tables Note 8 - Leases (Tables) Tables http://www.intest.com/20230630/role/statement-note-8-leases 26 false false R27.htm 026 - Disclosure - Note 9 - Debt (Tables) Sheet http://www.intest.com/20230630/role/statement-note-9-debt-tables Note 9 - Debt (Tables) Tables http://www.intest.com/20230630/role/statement-note-9-debt 27 false false R28.htm 027 - Disclosure - Note 10 - Stock-based Compensation Plan (Tables) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables Note 10 - Stock-based Compensation Plan (Tables) Tables http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan 28 false false R29.htm 028 - Disclosure - Note 13 - Segment Information (Tables) Sheet http://www.intest.com/20230630/role/statement-note-13-segment-information-tables Note 13 - Segment Information (Tables) Tables http://www.intest.com/20230630/role/statement-note-13-segment-information 29 false false R30.htm 029 - Disclosure - Note 1 - Nature of Operations (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual Note 1 - Nature of Operations (Details Textual) Details http://www.intest.com/20230630/role/statement-note-1-nature-of-operations 30 false false R31.htm 030 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual Note 2 - Summary of Significant Accounting Policies (Details Textual) Details http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables 31 false false R32.htm 031 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) Sheet http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) Details 32 false false R33.htm 032 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) Sheet http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) Details 33 false false R34.htm 033 - Disclosure - Note 3 - Fair Value Measurements (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual Note 3 - Fair Value Measurements (Details Textual) Details http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables 34 false false R35.htm 034 - Disclosure - Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) Sheet http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) Details 35 false false R36.htm 035 - Disclosure - Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Sheet http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Details 36 false false R37.htm 036 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) Details 37 false false R38.htm 037 - Disclosure - Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details) Details 38 false false R39.htm 038 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Details 39 false false R40.htm 039 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Details 40 false false R41.htm 040 - Disclosure - Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) Details 41 false false R42.htm 041 - Disclosure - Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) Sheet http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) Details 42 false false R43.htm 042 - Disclosure - Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) Sheet http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) Details 43 false false R44.htm 043 - Disclosure - Note 6 - Major Customers (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual Note 6 - Major Customers (Details Textual) Details http://www.intest.com/20230630/role/statement-note-6-major-customers 44 false false R45.htm 044 - Disclosure - Note 7 - Inventories - Inventories (Details) Sheet http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details Note 7 - Inventories - Inventories (Details) Details 45 false false R46.htm 045 - Disclosure - Note 8 - Leases (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-8-leases-details-textual Note 8 - Leases (Details Textual) Details http://www.intest.com/20230630/role/statement-note-8-leases-tables 46 false false R47.htm 046 - Disclosure - Note 8 - Leases - Lease Costs (Details) Sheet http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details Note 8 - Leases - Lease Costs (Details) Details 47 false false R48.htm 047 - Disclosure - Note 8 - Leases - Maturities of Lease Liabilities (Details) Sheet http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details Note 8 - Leases - Maturities of Lease Liabilities (Details) Details 48 false false R49.htm 048 - Disclosure - Note 9 - Debt (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-9-debt-details-textual Note 9 - Debt (Details Textual) Details http://www.intest.com/20230630/role/statement-note-9-debt-tables 49 false false R50.htm 049 - Disclosure - Note 9 - Debt - Outstanding Letters of Credit (Details) Sheet http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details Note 9 - Debt - Outstanding Letters of Credit (Details) Details 50 false false R51.htm 050 - Disclosure - Note 9 - Debt - Future Maturities of Long-term Debt (Details) Sheet http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details Note 9 - Debt - Future Maturities of Long-term Debt (Details) Details 51 false false R52.htm 051 - Disclosure - Note 10 - Stock-based Compensation Plan (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual Note 10 - Stock-based Compensation Plan (Details Textual) Details http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables 52 false false R53.htm 052 - Disclosure - Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) Details 53 false false R54.htm 053 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) Details 54 false false R55.htm 054 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) Details 55 false false R56.htm 055 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) Details 56 false false R57.htm 056 - Disclosure - Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details) Sheet http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details) Details 57 false false R58.htm 057 - Disclosure - Note 11 - Employee Stock Purchase Plan (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual Note 11 - Employee Stock Purchase Plan (Details Textual) Details http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan 58 false false R59.htm 058 - Disclosure - Note 12 - Employee Benefit Plans (Details Textual) Sheet http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual Note 12 - Employee Benefit Plans (Details Textual) Details http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans 59 false false R60.htm 059 - Disclosure - Note 13 - Segment Information - Segment Information (Details) Sheet http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details Note 13 - Segment Information - Segment Information (Details) Details 60 false false R61.htm 060 - Disclosure - Note 13 - Segment Information - Identifiable Assets (Details) Sheet http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details Note 13 - Segment Information - Identifiable Assets (Details) Details 61 false false R62.htm 061 - Disclosure - Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details) Sheet http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details) Details 62 false false R63.htm 062 - Disclosure - Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details) Sheet http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details) Details 63 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 45 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityRegistrantName, intt:DebtInstrumentDrawPeriod, intt:DefinedContributionPlanEmployerMatchingContributionVestingPeriod, intt:NumberOfMajorCustomers, us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:DebtInstrumentTerm, us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount, us-gaap:IncreaseDecreaseInOperatingLeaseLiability, us-gaap:LeaseExpirationDate1, us-gaap:LineOfCredit, us-gaap:LineOfCreditFacilityExpirationDate1, us-gaap:LineOfCreditFacilityInitiationDate1, us-gaap:NumberOfOperatingSegments, us-gaap:PreferredStockParOrStatedValuePerShare, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod, us-gaap:TreasuryStockCommonShares - intt20230630_10q.htm 8, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 intt20230630_10q.htm ex_554729.htm ex_554730.htm ex_554731.htm ex_554732.htm intt-20230630.xsd intt-20230630_cal.xml intt-20230630_def.xml intt-20230630_lab.xml intt-20230630_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 81 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "intt20230630_10q.htm": { "axisCustom": 0, "axisStandard": 33, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 961, "http://xbrl.sec.gov/dei/2023": 29 }, "contextCount": 290, "dts": { "calculationLink": { "local": [ "intt-20230630_cal.xml" ] }, "definitionLink": { "local": [ "intt-20230630_def.xml" ] }, "inline": { "local": [ "intt20230630_10q.htm" ] }, "labelLink": { "local": [ "intt-20230630_lab.xml" ] }, "presentationLink": { "local": [ "intt-20230630_pre.xml" ] }, "schema": { "local": [ "intt-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/currency/2023/currency-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/exch/2023/exch-2023.xsd", "https://xbrl.sec.gov/naics/2023/naics-2023.xsd", "https://xbrl.sec.gov/sic/2023/sic-2023.xsd", "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" ] } }, "elementCount": 508, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 43, "http://www.intest.com/20230630": 3, "http://xbrl.sec.gov/dei/2023": 6, "total": 52 }, "keyCustom": 25, "keyStandard": 277, "memberCustom": 46, "memberStandard": 34, "nsprefix": "intt", "nsuri": "http://www.intest.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "000 - Document - Document And Entity Information", "menuCat": "Cover", "order": "1", "role": "http://www.intest.com/20230630/role/statement-document-and-entity-information", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "009 - Disclosure - Note 3 - Fair Value Measurements", "menuCat": "Notes", "order": "10", "role": "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "shortName": "Note 3 - Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "010 - Disclosure - Note 4 - Goodwill and Intangible Assets", "menuCat": "Notes", "order": "11", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-", "shortName": "Note 4 - Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "011 - Disclosure - Note 5 - Revenue From Contracts With Customers", "menuCat": "Notes", "order": "12", "role": "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers", "shortName": "Note 5 - Revenue From Contracts With Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "012 - Disclosure - Note 6 - Major Customers", "menuCat": "Notes", "order": "13", "role": "http://www.intest.com/20230630/role/statement-note-6-major-customers", "shortName": "Note 6 - Major Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "013 - Disclosure - Note 7 - Inventories", "menuCat": "Notes", "order": "14", "role": "http://www.intest.com/20230630/role/statement-note-7-inventories", "shortName": "Note 7 - Inventories", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "014 - Disclosure - Note 8 - Leases", "menuCat": "Notes", "order": "15", "role": "http://www.intest.com/20230630/role/statement-note-8-leases", "shortName": "Note 8 - Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "015 - Disclosure - Note 9 - Debt", "menuCat": "Notes", "order": "16", "role": "http://www.intest.com/20230630/role/statement-note-9-debt", "shortName": "Note 9 - Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "016 - Disclosure - Note 10 - Stock-based Compensation Plan", "menuCat": "Notes", "order": "17", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "shortName": "Note 10 - Stock-based Compensation Plan", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:EmployeeStockPurchasePlanTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "017 - Disclosure - Note 11 - Employee Stock Purchase Plan", "menuCat": "Notes", "order": "18", "role": "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "shortName": "Note 11 - Employee Stock Purchase Plan", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:EmployeeStockPurchasePlanTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "018 - Disclosure - Note 12 - Employee Benefit Plans", "menuCat": "Notes", "order": "19", "role": "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "shortName": "Note 12 - Employee Benefit Plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "001 - Statement - Consolidated Balance Sheets (Current Period Unaudited)", "menuCat": "Statements", "order": "2", "role": "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "shortName": "Consolidated Balance Sheets (Current Period Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "019 - Disclosure - Note 13 - Segment Information", "menuCat": "Notes", "order": "20", "role": "http://www.intest.com/20230630/role/statement-note-13-segment-information", "shortName": "Note 13 - Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "020 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables)", "menuCat": "Tables", "order": "21", "role": "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables", "shortName": "Note 2 - Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "021 - Disclosure - Note 3 - Fair Value Measurements (Tables)", "menuCat": "Tables", "order": "22", "role": "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables", "shortName": "Note 3 - Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:ScheduleOfChangesInGoodwillTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "022 - Disclosure - Note 4 - Goodwill and Intangible Assets (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables", "shortName": "Note 4 - Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:ScheduleOfChangesInGoodwillTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "023 - Disclosure - Note 5 - Revenue From Contracts With Customers (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables", "shortName": "Note 5 - Revenue From Contracts With Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "024 - Disclosure - Note 7 - Inventories (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.intest.com/20230630/role/statement-note-7-inventories-tables", "shortName": "Note 7 - Inventories (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "025 - Disclosure - Note 8 - Leases (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.intest.com/20230630/role/statement-note-8-leases-tables", "shortName": "Note 8 - Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "026 - Disclosure - Note 9 - Debt (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.intest.com/20230630/role/statement-note-9-debt-tables", "shortName": "Note 9 - Debt (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "027 - Disclosure - Note 10 - Stock-based Compensation Plan (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables", "shortName": "Note 10 - Stock-based Compensation Plan (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "028 - Disclosure - Note 13 - Segment Information (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "shortName": "Note 13 - Segment Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "menuCat": "Statements", "order": "3", "role": "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "shortName": "Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "029 - Disclosure - Note 1 - Nature of Operations (Details Textual)", "menuCat": "Details", "order": "30", "role": "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual", "shortName": "Note 1 - Nature of Operations (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:NatureOfOperations", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-05-11_2023-05-11_SubsidiarySaleOfStockAxis-AttheMarketIssuanceSalesAgreementMember", "decimals": "INF", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RestrictedCash", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "030 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual)", "menuCat": "Details", "order": "31", "role": "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "shortName": "Note 2 - Summary of Significant Accounting Policies (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "031 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details)", "menuCat": "Details", "order": "32", "role": "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "shortName": "Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "032 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details)", "menuCat": "Details", "order": "33", "role": "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "shortName": "Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "INF", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_BalanceSheetLocationAxis-OtherCurrentLiabilitiesMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "033 - Disclosure - Note 3 - Fair Value Measurements (Details Textual)", "menuCat": "Details", "order": "34", "role": "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "shortName": "Note 3 - Fair Value Measurements (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_BalanceSheetLocationAxis-OtherCurrentLiabilitiesMember_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_DerivativeInstrumentRiskAxis-InterestRateSwapMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DerivativeAssets", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "034 - Disclosure - Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details)", "menuCat": "Details", "order": "35", "role": "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "shortName": "Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_BusinessAcquisitionAxis-AcculogicMember", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "035 - Disclosure - Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)", "menuCat": "Details", "order": "36", "role": "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "shortName": "Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "036 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)", "menuCat": "Details", "order": "37", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "shortName": "Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfChangesInGoodwillTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "037 - Disclosure - Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details)", "menuCat": "Details", "order": "38", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "shortName": "Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_StatementBusinessSegmentsAxis-ElectronicTestMember", "decimals": "-3", "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "038 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)", "menuCat": "Details", "order": "39", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "shortName": "Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "003 - Statement - Consolidated Statements of Operations (Unaudited)", "menuCat": "Statements", "order": "4", "role": "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "shortName": "Consolidated Statements of Operations (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsNet", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "039 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details)", "menuCat": "Details", "order": "40", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "shortName": "Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "040 - Disclosure - Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details)", "menuCat": "Details", "order": "41", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "shortName": "Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "041 - Disclosure - Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)", "menuCat": "Details", "order": "42", "role": "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "shortName": "Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "042 - Disclosure - Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details)", "menuCat": "Details", "order": "43", "role": "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "shortName": "Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30_EquitySecuritiesByIndustryAxis-SemiconductorMarketMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-TexasInstrumentsIncorporatedMember", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "043 - Disclosure - Note 6 - Major Customers (Details Textual)", "menuCat": "Details", "order": "44", "role": "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual", "shortName": "Note 6 - Major Customers (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-TexasInstrumentsIncorporatedMember", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "044 - Disclosure - Note 7 - Inventories - Inventories (Details)", "menuCat": "Details", "order": "45", "role": "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details", "shortName": "Note 7 - Inventories - Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31", "decimals": "-3", "lang": null, "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "045 - Disclosure - Note 8 - Leases (Details Textual)", "menuCat": "Details", "order": "46", "role": "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual", "shortName": "Note 8 - Leases (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "046 - Disclosure - Note 8 - Leases - Lease Costs (Details)", "menuCat": "Details", "order": "47", "role": "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details", "shortName": "Note 8 - Leases - Lease Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "047 - Disclosure - Note 8 - Leases - Maturities of Lease Liabilities (Details)", "menuCat": "Details", "order": "48", "role": "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "shortName": "Note 8 - Leases - Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2021-10-15_DebtInstrumentAxis-October2021AgreementMember_LineOfCreditFacilityAxis-MTBankMember", "decimals": "2", "first": true, "lang": null, "name": "intt:DebtInstrumentInterestRateInEventOfDefault", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "048 - Disclosure - Note 9 - Debt (Details Textual)", "menuCat": "Details", "order": "49", "role": "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "shortName": "Note 9 - Debt (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2021-10-15_DebtInstrumentAxis-October2021AgreementMember_LineOfCreditFacilityAxis-MTBankMember", "decimals": "2", "first": true, "lang": null, "name": "intt:DebtInstrumentInterestRateInEventOfDefault", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "004 - Statement - Consolidated Statements of Comprehensive Earnings (Unaudited)", "menuCat": "Statements", "order": "5", "role": "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited", "shortName": "Consolidated Statements of Comprehensive Earnings (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_CreditFacilityAxis-LetterOfCreditMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:LettersOfCreditOutstandingAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "049 - Disclosure - Note 9 - Debt - Outstanding Letters of Credit (Details)", "menuCat": "Details", "order": "50", "role": "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details", "shortName": "Note 9 - Debt - Outstanding Letters of Credit (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_CreditFacilityAxis-LetterOfCreditMember", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:LettersOfCreditOutstandingAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "050 - Disclosure - Note 9 - Debt - Future Maturities of Long-term Debt (Details)", "menuCat": "Details", "order": "51", "role": "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details", "shortName": "Note 9 - Debt - Future Maturities of Long-term Debt (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "051 - Disclosure - Note 10 - Stock-based Compensation Plan (Details Textual)", "menuCat": "Details", "order": "52", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "shortName": "Note 10 - Stock-based Compensation Plan (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30_AwardTypeAxis-RestrictedStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "052 - Disclosure - Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details)", "menuCat": "Details", "order": "53", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "shortName": "Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30_AwardTypeAxis-RestrictedStockMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "053 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details)", "menuCat": "Details", "order": "54", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "shortName": "Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30_AwardTypeAxis-EmployeeStockOptionMember", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "054 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details)", "menuCat": "Details", "order": "55", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details", "shortName": "Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R56": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "055 - Disclosure - Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals)", "menuCat": "Details", "order": "56", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "shortName": "Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R57": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "056 - Disclosure - Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details)", "menuCat": "Details", "order": "57", "role": "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details", "shortName": "Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "057 - Disclosure - Note 11 - Employee Stock Purchase Plan (Details Textual)", "menuCat": "Details", "order": "58", "role": "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual", "shortName": "Note 11 - Employee Stock Purchase Plan (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "intt:EmployeeStockPurchasePlanTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-03-31", "decimals": "INF", "lang": null, "name": "us-gaap:SharePrice", "reportCount": 1, "unique": true, "unitRef": "USDPerShare", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30_RetirementPlanNameAxis-The401KPlanMember", "decimals": "1", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "058 - Disclosure - Note 12 - Employee Benefit Plans (Details Textual)", "menuCat": "Details", "order": "59", "role": "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual", "shortName": "Note 12 - Employee Benefit Plans (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30_RetirementPlanNameAxis-The401KPlanMember", "decimals": "1", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "005 - Statement - Consolidated Statements of Stockholders' Equity (Unaudited)", "menuCat": "Statements", "order": "6", "role": "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "shortName": "Consolidated Statements of Stockholders' Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2022-01-01_2022-03-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "-3", "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "059 - Disclosure - Note 13 - Segment Information - Segment Information (Details)", "menuCat": "Details", "order": "60", "role": "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "shortName": "Note 13 - Segment Information - Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "060 - Disclosure - Note 13 - Segment Information - Identifiable Assets (Details)", "menuCat": "Details", "order": "61", "role": "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "shortName": "Note 13 - Segment Information - Identifiable Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_ConsolidationItemsAxis-CorporateNonSegmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "061 - Disclosure - Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details)", "menuCat": "Details", "order": "62", "role": "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "shortName": "Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-04-01_2023-06-30_StatementGeographicalAxis-US", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "062 - Disclosure - Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details)", "menuCat": "Details", "order": "63", "role": "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "shortName": "Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "i_2023-06-30_StatementGeographicalAxis-US", "decimals": "-3", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "006 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "menuCat": "Statements", "order": "7", "role": "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": "-4", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "007 - Disclosure - Note 1 - Nature of Operations", "menuCat": "Notes", "order": "8", "role": "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "shortName": "Note 1 - Nature of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "008 - Disclosure - Note 2 - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "9", "role": "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "shortName": "Note 2 - Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "intt20230630_10q.htm", "contextRef": "d_2023-01-01_2023-06-30", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 82, "tag": { "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2023", "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r675" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r676" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-document-and-entity-information", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.intest.com/20230630/role/statement-note-13-segment-information", "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20230630/role/statement-note-7-inventories", "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20230630/role/statement-note-7-inventories-tables", "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual", "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20230630/role/statement-note-8-leases-tables", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r677" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-document-and-entity-information", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.intest.com/20230630/role/statement-note-13-segment-information", "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20230630/role/statement-note-7-inventories", "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20230630/role/statement-note-7-inventories-tables", "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual", "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20230630/role/statement-note-8-leases-tables", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r672" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r674" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-document-and-entity-information" ], "xbrltype": "tradingSymbolItemType" }, "intt_AcculogicMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Acculogic.", "label": "Acculogic [Member]" } } }, "localname": "AcculogicMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "intt_AggregateOfferingPriceOfStock": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate value offering price of stock issued and sold.", "label": "intt_AggregateOfferingPriceOfStock", "terseLabel": "Aggregate Offering Price of Stock" } } }, "localname": "AggregateOfferingPriceOfStock", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_AmendedLoanAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents The Loan Agreement, As Amended by the Third Amendment, the \u201camended Loan Agreement.", "label": "Amended Loan Agreement [Member]" } } }, "localname": "AmendedLoanAgreementMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "intt_AssetMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The information pertaining to a financial statement line item.", "label": "Asset [Member]" } } }, "localname": "AssetMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables" ], "xbrltype": "domainItemType" }, "intt_AttheMarketIssuanceSalesAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents At-the-Market Issuance Sales Agreement.", "label": "At-the-Market Issuance Sales Agreement [Member]" } } }, "localname": "AttheMarketIssuanceSalesAgreementMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "domainItemType" }, "intt_AutomobileLeaseOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the type of leasing arrangement.", "label": "Automobile Lease, One [Member]" } } }, "localname": "AutomobileLeaseOneMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "intt_AutomobileLeaseTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the type of leasing arrangement.", "label": "Automobile Lease, Two [Member]" } } }, "localname": "AutomobileLeaseTwoMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "intt_AutomobileLeasesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to automobile leases.", "label": "Automobile Leases [Member]" } } }, "localname": "AutomobileLeasesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "intt_AutomotiveMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Automotive.", "label": "Automotive [Member]" } } }, "localname": "AutomotiveMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_BankGuaranteeOnCustomerOrderDepositMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents bank guarantee on customer order deposit.", "label": "Bank Guarantee on Customer Order Deposit [Member]" } } }, "localname": "BankGuaranteeOnCustomerOrderDepositMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "intt_ChiefExecutiveOfficerAndChiefFinancialOfficerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to Chief Executive Officer and Chief Financial Officer.", "label": "Chief Executive Officer and Chief Financial Officer [Member]" } } }, "localname": "ChiefExecutiveOfficerAndChiefFinancialOfficerMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_CityOfRochesterAndStateOfNewYorkMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information related to city of Rochester and state of New York.", "label": "City of Rochester and State of New York [Member]" } } }, "localname": "CityOfRochesterAndStateOfNewYorkMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "intt_CommissionFeePercentageOfGrossProceeds": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage charged for the sales of shares.", "label": "intt_CommissionFeePercentageOfGrossProceeds", "terseLabel": "Commission Fee, Percentage of Gross Proceeds" } } }, "localname": "CommissionFeePercentageOfGrossProceeds", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "percentItemType" }, "intt_ContingentConsiderationLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents contingent consideration liabilities.", "label": "Contingent Consideration Liabilities [Member]" } } }, "localname": "ContingentConsiderationLiabilitiesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "xbrltype": "domainItemType" }, "intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent for repayment of state and local grant funds received.", "label": "intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived", "terseLabel": "Contingent Liability, Repayment of State and Local Grant Funds Received" } } }, "localname": "ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_CovenantFutureAmountReceivable": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Future amount receivable if we create and maintain specified levels of employment in the specified location through various dates ending in 2023.", "label": "intt_CovenantFutureAmountReceivable", "terseLabel": "Covenant, Future Amount Receivable" } } }, "localname": "CovenantFutureAmountReceivable", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_CustomerBacklogMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents customer backlog.", "label": "Customer Backlog [Member]" } } }, "localname": "CustomerBacklogMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "intt_DebtInstrumentDrawPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period of time in which funds can be withdrawn under debt agreement, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "intt_DebtInstrumentDrawPeriod", "terseLabel": "Debt Instrument, Draw Period (Year)" } } }, "localname": "DebtInstrumentDrawPeriod", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "durationItemType" }, "intt_DebtInstrumentInterestRateInEventOfDefault": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed in event of default, under the debt agreement.", "label": "intt_DebtInstrumentInterestRateInEventOfDefault", "terseLabel": "Debt Instrument, Interest Rate in Event of Default" } } }, "localname": "DebtInstrumentInterestRateInEventOfDefault", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "percentItemType" }, "intt_DefenseAerospaceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents defense/ aerospace.", "label": "Defense/ Aerospace [Member]" } } }, "localname": "DefenseAerospaceMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_DeferredGrantProceeds": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of deferred grant proceeds.", "label": "intt_DeferredGrantProceeds", "terseLabel": "Deferred Grant Proceeds" } } }, "localname": "DeferredGrantProceeds", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Defined contribution plan employer matching contribution vesting period.", "label": "intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod", "terseLabel": "Defined Contribution Plan Employer Matching Contribution Vesting Period (Year)" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionVestingPeriod", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "durationItemType" }, "intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Maximum dollar amount of employer's annual matching contribution to a defined contribution plan", "label": "intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount", "terseLabel": "Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Emplyee Amount" } } }, "localname": "DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_ElectronicTestMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to Electronic Test segment.", "label": "Electronic Test [Member]" } } }, "localname": "ElectronicTestMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "intt_EmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the employee stock purchase plan.", "label": "Employee Stock Purchase Plan [Member]" } } }, "localname": "EmployeeStockPurchasePlanMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_EmployeeStockPurchasePlanTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for employee stock purchase plan.", "label": "Employee Stock Purchase Plan [Text Block]" } } }, "localname": "EmployeeStockPurchasePlanTextBlock", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan" ], "xbrltype": "textBlockItemType" }, "intt_EmployeesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to employees.", "label": "Employees [Member]" } } }, "localname": "EmployeesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_EndUserMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customers who are the end user of the company's products.", "label": "End User [Member]" } } }, "localname": "EndUserMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_EnvironmentalTechnologiesInGermanyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Environmental technologies in Germany", "label": "Environmental Technologies in Germany [Member]" } } }, "localname": "EnvironmentalTechnologiesInGermanyMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "intt_EnvironmentalTechnologiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to Environmental Technologies segment.", "label": "Environmental Technologies [Member]" } } }, "localname": "EnvironmentalTechnologiesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "intt_FlyingProbeAndIncircuitTestersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to flying probe and in-circuit testers.", "label": "Flying Probe and In-circuit Testers [Member]" } } }, "localname": "FlyingProbeAndIncircuitTestersMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_IncreaseDecreaseInAccruedProfessionalFees": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of increase (decrease) in accrued professional fees.", "label": "intt_IncreaseDecreaseInAccruedProfessionalFees", "terseLabel": "Accrued professional fees" } } }, "localname": "IncreaseDecreaseInAccruedProfessionalFees", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "intt_IncreaseDecreaseInAccruedSalesCommission": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 20.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in accrued sales commission.", "label": "intt_IncreaseDecreaseInAccruedSalesCommission", "terseLabel": "Accrued sales commissions" } } }, "localname": "IncreaseDecreaseInAccruedSalesCommission", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "intt_IndependentDirectorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the independent directors.", "label": "Independent Directors [Member]" } } }, "localname": "IndependentDirectorsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_IndustrialMarketMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The industrial market into which the reporting entity sells products.", "label": "Industrial Market [Member]" } } }, "localname": "IndustrialMarketMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after 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": "intt_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "intt_LifeSciencesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to Life Sciences.", "label": "Life Sciences [Member]" } } }, "localname": "LifeSciencesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_MTBankMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information related to M&T Bank.", "label": "M&T Bank [Member]" } } }, "localname": "MTBankMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "intt_MansfieldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about Mansfield.", "label": "Mansfield [Member]" } } }, "localname": "MansfieldMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "domainItemType" }, "intt_MtLaurelMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about Mt laurel.", "label": "Mt Laurel [Member]" } } }, "localname": "MtLaurelMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "domainItemType" }, "intt_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_NumberOfMajorCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc.", "label": "intt_NumberOfMajorCustomers", "terseLabel": "Number of Major Customers" } } }, "localname": "NumberOfMajorCustomers", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "integerItemType" }, "intt_OEMAndIntegratorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customers who are original equipment manufacturers and/or integrators.", "label": "OEM and Integrators [Member]" } } }, "localname": "OEMAndIntegratorsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_October2021AgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information related to the October 2021 Agreement.", "label": "October 2021 Agreement [Member]" } } }, "localname": "October2021AgreementMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "intt_OperatingLeaseRemainingLeaseTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The remaining lease term of operating leases.", "label": "Range of remaining lease terms (in years) (Year)" } } }, "localname": "OperatingLeaseRemainingLeaseTerm", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "durationItemType" }, "intt_OtherMultiMarketsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information related to other multi markets.", "label": "Other Multi Markets [Member]" } } }, "localname": "OtherMultiMarketsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_PresidentOfEnvironmentalTechnologiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the president of Environmental Technologies.", "label": "President of Environmental Technologies [Member]" } } }, "localname": "PresidentOfEnvironmentalTechnologiesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_ProceedsFromEmployeeStockPurchasePlanShares": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of cash inflow from shares sold under employee stock purchase plan.", "label": "Proceeds from shares sold under Employee Stock Purchase Plan" } } }, "localname": "ProceedsFromEmployeeStockPurchasePlanShares", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "intt_ProceedsFromFinalWorkingAdjustmentOnPreviousAcquisition": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from final working adjustment on previous acquisition.", "label": "Refund of final working capital adjustment related to Acculogic" } } }, "localname": "ProceedsFromFinalWorkingAdjustmentOnPreviousAcquisition", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "intt_ProcessTechnologiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to process technologies.", "label": "Process Technologies [Member]" } } }, "localname": "ProcessTechnologiesMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "intt_RestrictedStockVestingInThreeYearsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information related to the restricted stock awards vesting in three years.", "label": "Restricted Stock Vesting in Three Years [Member]" } } }, "localname": "RestrictedStockVestingInThreeYearsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of cash, cash equivalents and restricted cash.", "label": "Schedule of Cash, Cash Equivalents and Restricted Cash [Table Text Block]" } } }, "localname": "ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables" ], "xbrltype": "textBlockItemType" }, "intt_ScheduleOfChangesInGoodwillTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in goodwill.", "label": "Schedule of Changes in Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfChangesInGoodwillTableTextBlock", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "intt_ScheduleOfIntangibleAssetsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of the intangible assets.", "label": "Schedule Of Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfIntangibleAssetsTableTextBlock", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "intt_ScheduleOfOutstandingLettersOfCreditTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of outstanding letters of credit table text block.", "label": "Schedule Of Outstanding Letters Of Credit [Table Text Block]" } } }, "localname": "ScheduleOfOutstandingLettersOfCreditTableTextBlock", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "textBlockItemType" }, "intt_SecurityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to security.", "label": "Security [Member]" } } }, "localname": "SecurityMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_SemiconductorMarketMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The semiconductor market into which the reporting entity sells products.", "label": "Semiconductor Market [Member]" } } }, "localname": "SemiconductorMarketMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_SemiconductorProductionTestProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about semiconductor production test products sold by the reporting entity.", "label": "Semiconductor Production Test Products [Member]" } } }, "localname": "SemiconductorProductionTestProductsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_ServiceAndOtherProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about services and other products sold by the reporting entity.", "label": "Service and Other Products [Member]" } } }, "localname": "ServiceAndOtherProductsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lower range limit of percentage of vesting of award under share-based payment arrangement.", "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange", "terseLabel": "Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "percentItemType" }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Upper range limit of percentage of vesting of award under share-based payment arrangement.", "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange", "terseLabel": "Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "percentItemType" }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Discount amount from fair value on purchase date that participants pay for shares.", "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount", "negatedLabel": "Discount on shares sold under Employee Stock Purchase Plan", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodValue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The value of grants in period of equity instruments other than options under share based compensation arrangement.", "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodValue", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "intt_TermNoteMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information related to Term Note.", "label": "Term Note [Member]" } } }, "localname": "TermNoteMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "intt_TexasInstrumentsIncorporatedMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Texas instruments incorporated member.", "label": "Texas Instruments Incorporated [Member]" } } }, "localname": "TexasInstrumentsIncorporatedMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "domainItemType" }, "intt_The2023StockIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the 2023 Stock Incentive Plan.", "label": "The 2023 Stock Incentive Plan [Member]" } } }, "localname": "The2023StockIncentivePlanMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_The401KPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A 401(k) plan offered by the reporting entity to eligible employees.", "label": "401(k) Plan [Member]" } } }, "localname": "The401KPlanMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "intt_TheAmbrellPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to the Ambrell defined contribution retirement plan.", "label": "The Ambrell Plan [Member]" } } }, "localname": "TheAmbrellPlanMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "intt_ThermalProcessMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents thermal process.", "label": "Thermal Process [Member]" } } }, "localname": "ThermalProcessMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_ThermalTestingProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about Thermal products sold by the reporting entity.", "label": "Thermal Testing Products [Member]" } } }, "localname": "ThermalTestingProductsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_VestingBasedOnPerformanceMetricsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents vesting based on performance metrics.", "label": "Vesting Based On Performance Metrics [Member]" } } }, "localname": "VestingBasedOnPerformanceMetricsMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "intt_VideoImagingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to video imaging.", "label": "Video Imaging [Member]" } } }, "localname": "VideoImagingMember", "nsuri": "http://www.intest.com/20230630", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "intt_statement-statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-10-stockbased-compensation-plan-stock-option-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-plan-stock-option-activity-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-10-stockbased-compensation-plan-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation Plan" } } }, "localname": "statement-statement-note-10-stockbased-compensation-plan-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Stock-based Compensation Plan - Unvested Stock Activity (Details)" } } }, "localname": "statement-statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-13-segment-information-identifiable-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information - Identifiable Assets (Details)" } } }, "localname": "statement-statement-note-13-segment-information-identifiable-assets-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-13-segment-information-longlived-assets-by-geographical-area-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information - Long-lived Assets by Geographical Area (Details)" } } }, "localname": "statement-statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information - Net Revenue From Unaffiliated Customers (Details)" } } }, "localname": "statement-statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-13-segment-information-segment-information-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information - Segment Information (Details)" } } }, "localname": "statement-statement-note-13-segment-information-segment-information-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-13-segment-information-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information" } } }, "localname": "statement-statement-note-13-segment-information-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details)" } } }, "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-2-summary-of-significant-accounting-policies-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies" } } }, "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details)" } } }, "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)" } } }, "localname": "statement-statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details)" } } }, "localname": "statement-statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-3-fair-value-measurements-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 3 - Fair Value Measurements" } } }, "localname": "statement-statement-note-3-fair-value-measurements-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Component of Goodwill (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets" } } }, "localname": "statement-statement-note-4-goodwill-and-intangible-assets-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details)" } } }, "localname": "statement-statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-5-revenue-from-contracts-with-customers-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Revenue From Contracts With Customers" } } }, "localname": "statement-statement-note-5-revenue-from-contracts-with-customers-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-7-inventories-inventories-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Inventories - Inventories (Details)" } } }, "localname": "statement-statement-note-7-inventories-inventories-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-7-inventories-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 7 - Inventories" } } }, "localname": "statement-statement-note-7-inventories-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-8-leases-lease-costs-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Lease Costs (Details)" } } }, "localname": "statement-statement-note-8-leases-lease-costs-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-8-leases-maturities-of-lease-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Maturities of Lease Liabilities (Details)" } } }, "localname": "statement-statement-note-8-leases-maturities-of-lease-liabilities-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-8-leases-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Leases" } } }, "localname": "statement-statement-note-8-leases-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-9-debt-future-maturities-of-longterm-debt-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Debt - Future Maturities of Long-term Debt (Details)" } } }, "localname": "statement-statement-note-9-debt-future-maturities-of-longterm-debt-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-9-debt-outstanding-letters-of-credit-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Debt - Outstanding Letters of Credit (Details)" } } }, "localname": "statement-statement-note-9-debt-outstanding-letters-of-credit-details", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "intt_statement-statement-note-9-debt-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 9 - Debt" } } }, "localname": "statement-statement-note-9-debt-tables", "nsuri": "http://www.intest.com/20230630", "xbrltype": "stringItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r190", "r223", "r234", "r235", "r236", "r237", "r238", "r240", "r244", "r287", "r288", "r289", "r290", "r292", "r293", "r295", "r297", "r298", "r719", "r720" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r190", "r223", "r234", "r235", "r236", "r237", "r238", "r240", "r244", "r287", "r288", "r289", "r290", "r292", "r293", "r295", "r297", "r298", "r719", "r720" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r188", "r189", "r304", "r329", "r465", "r628", "r630" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "stringItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r250", "r645", "r722", "r828", "r829" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r283", "r284", "r285", "r286", "r366", "r470", "r511", "r535", "r536", "r588", "r590", "r592", "r593", "r602", "r616", "r617", "r634", "r642", "r651", "r658", "r721", "r818", "r819", "r820", "r821", "r822", "r823" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r283", "r284", "r285", "r286", "r366", "r470", "r511", "r535", "r536", "r588", "r590", "r592", "r593", "r602", "r616", "r617", "r634", "r642", "r651", "r658", "r721", "r818", "r819", "r820", "r821", "r822", "r823" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r250", "r645", "r722", "r828", "r829" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r246", "r472", "r505", "r506", "r507", "r508", "r509", "r510", "r619", "r643", "r657", "r683", "r717", "r718", "r722", "r828" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r246", "r472", "r505", "r506", "r507", "r508", "r509", "r510", "r619", "r643", "r657", "r683", "r717", "r718", "r722", "r828" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r283", "r284", "r285", "r286", "r346", "r366", "r398", "r399", "r400", "r469", "r470", "r511", "r535", "r536", "r588", "r590", "r592", "r593", "r602", "r616", "r617", "r634", "r642", "r651", "r658", "r661", "r716", "r721", "r819", "r820", "r821", "r822", "r823" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r283", "r284", "r285", "r286", "r346", "r366", "r398", "r399", "r400", "r469", "r470", "r511", "r535", "r536", "r588", "r590", "r592", "r593", "r602", "r616", "r617", "r634", "r642", "r651", "r658", "r661", "r716", "r721", "r819", "r820", "r821", "r822", "r823" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [ "r188", "r189", "r304", "r329", "r465", "r629", "r630" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r248", "r249", "r527", "r530", "r532", "r589", "r591", "r594", "r603", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r620", "r644", "r661", "r722", "r828" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r248", "r249", "r527", "r530", "r532", "r589", "r591", "r594", "r603", "r605", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r620", "r644", "r661", "r722", "r828" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r701", "r815" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Title of Individual [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r26", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r251", "r252" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Trade accounts receivable, net of allowance for credit losses of $501 and $496, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r30" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued professional fees" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalesCommissionCurrent": { "auth_ref": [ "r30", "r624" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 7.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued sales commissions" } } }, "localname": "AccruedSalesCommissionCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r64", "r156", "r487" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "negatedLabel": "Less: accumulated depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r39", "r40", "r106", "r163", "r484", "r516", "r517" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.", "label": "Accumulated other comprehensive earnings" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r4", "r12", "r40", "r427", "r430", "r464", "r512", "r513", "r687", "r688", "r689", "r696", "r697", "r698" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r98", "r656", "r832" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r408", "r409", "r410", "r523", "r696", "r697", "r698", "r809", "r834" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net earnings to net cash provided by (used in) operating activities:" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Shares surrendered to satisfy tax liability at vesting of stock-based awards" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r71", "r72", "r373" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Amortization of deferred compensation related to stock-based awards" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r402", "r411" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "us-gaap_AllocatedShareBasedCompensationExpense", "terseLabel": "Share-Based Payment Arrangement, Expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r164", "r253", "r257" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": { "auth_ref": [ "r259" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery.", "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries", "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Recovery" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r8", "r57", "r62" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AmortizationOfIntangibleAssets", "negatedLabel": "Amortization" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r214" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "terseLabel": "Average number of potentially dilutive securities excluded from calculation because their effect was anti-dilutive during the period (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]" } } }, "localname": "ArrangementsAndNonarrangementTransactionsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r136", "r160", "r187", "r221", "r236", "r242", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r422", "r424", "r443", "r480", "r557", "r656", "r671", "r719", "r720", "r816" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_Assets", "terseLabel": "Identifiable Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r152", "r166", "r187", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r422", "r424", "r443", "r656", "r719", "r720", "r816" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r79", "r82" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r419", "r649", "r650" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r73", "r74", "r419", "r649", "r650" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r1", "r78", "r420" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "us-gaap_BusinessCombinationContingentConsiderationLiability", "negatedLabel": "Contingent consideration liability" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r2", "r78" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent", "terseLabel": "Business Combination, Contingent Consideration, Liability, Current" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "auth_ref": [ "r2", "r78" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.", "label": "Contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r45", "r154", "r622" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "order": 0.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r45", "r117", "r184" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "totalLabel": "Total cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r45", "r117", "r184" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r3", "r117" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Net cash provided by (used in) all activities" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r36", "r92", "r481", "r544" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r659", "r660", "r661", "r663", "r664", "r665", "r668", "r696", "r697", "r809", "r830", "r834" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r97" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r97", "r545" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r97" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r97", "r483", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common stock, $0.01 par value; 20,000,000 shares authorized; 12,185,220 and 11,063,271 shares issued, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r41", "r172", "r174", "r179", "r476", "r491" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "us-gaap_ComprehensiveIncomeNetOfTax", "totalLabel": "Comprehensive earnings" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r621", "r714", "r715" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r49", "r51", "r87", "r88", "r250", "r606" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r49", "r51", "r87", "r88", "r250", "r518", "r606" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r49", "r51", "r87", "r88", "r250", "r606", "r680" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "auth_ref": [ "r121" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.", "label": "Concentration Risk Disclosure [Text Block]" } } }, "localname": "ConcentrationRiskDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r49", "r51", "r87", "r88", "r250" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "us-gaap_ConcentrationRiskPercentage1", "terseLabel": "Concentration Risk, Percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r49", "r51", "r87", "r88", "r250", "r606" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r331", "r332", "r343" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "us-gaap_ContractWithCustomerLiabilityCurrent", "verboseLabel": "Customer deposits and deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r19", "r235", "r236", "r237", "r238", "r244", "r700" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r111", "r187", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r443", "r719" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 0.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r50", "r250" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r129", "r186", "r300", "r306", "r307", "r308", "r309", "r310", "r311", "r316", "r323", "r324", "r325" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r23", "r94", "r95", "r137", "r138", "r190", "r301", "r302", "r303", "r304", "r305", "r307", "r312", "r313", "r314", "r315", "r317", "r318", "r319", "r320", "r321", "r322", "r455", "r637", "r638", "r639", "r640", "r641", "r693" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r89", "r91", "r301", "r455", "r638", "r639" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "us-gaap_DebtInstrumentFaceAmount", "terseLabel": "Debt Instrument, Face Amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "auth_ref": [ "r32", "r89", "r327", "r455" ], "lang": { "en-us": { "role": { "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.", "label": "us-gaap_DebtInstrumentInterestRateEffectivePercentage", "terseLabel": "Debt Instrument, Interest Rate, Effective Percentage" } } }, "localname": "DebtInstrumentInterestRateEffectivePercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r34", "r190", "r301", "r302", "r303", "r304", "r305", "r307", "r312", "r313", "r314", "r315", "r317", "r318", "r319", "r320", "r321", "r322", "r455", "r637", "r638", "r639", "r640", "r641", "r693" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_DebtInstrumentTerm", "terseLabel": "Debt Instrument, Term (Year)" } } }, "localname": "DebtInstrumentTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": { "auth_ref": [ "r33" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date.", "label": "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount", "terseLabel": "Debt Instrument, Unused Borrowing Capacity, Amount" } } }, "localname": "DebtInstrumentUnusedBorrowingCapacityAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r413", "r414" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r119" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred income tax benefit" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.", "label": "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount", "terseLabel": "Defined Contribution Plan, Employer Discretionary Contribution Amount" } } }, "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.", "label": "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent", "terseLabel": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage employer matches of the employee's percentage contribution matched.", "label": "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "terseLabel": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Maximum amount the employee may contribute to a defined contribution plan.", "label": "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount", "terseLabel": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount" } } }, "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.", "label": "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "terseLabel": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent" } } }, "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r8", "r63" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "us-gaap_DepreciationAndAmortization", "negatedLabel": "Acquired intangible amortization" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r8", "r226" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r167", "r168", "r442", "r525", "r526", "r527", "r528", "r529", "r531", "r532", "r534", "r535", "r536", "r551", "r552", "r595", "r597", "r598", "r599", "r600", "r601", "r630", "r661", "r831" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.", "label": "Interest rate swap", "terseLabel": "Interest rate swap" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [ "r534", "r536", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r558", "r559", "r560", "r561", "r572", "r573", "r574", "r575", "r578", "r579", "r580", "r581", "r595", "r596", "r598", "r600", "r659", "r661" ], "lang": { "en-us": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.", "label": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r80", "r81", "r83", "r84", "r534", "r536", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r558", "r559", "r560", "r561", "r572", "r573", "r574", "r575", "r578", "r579", "r580", "r581", "r595", "r596", "r598", "r600", "r630", "r659", "r661" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r372", "r375", "r404", "r405", "r407", "r652" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-Based Payment Arrangement [Text Block]" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-13-segment-information", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-7-inventories", "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-9-debt" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r180", "r196", "r197", "r198", "r199", "r200", "r204", "r206", "r211", "r212", "r213", "r215", "r433", "r434", "r477", "r492", "r631" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings per common share - basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r180", "r196", "r197", "r198", "r199", "r200", "r206", "r211", "r212", "r213", "r215", "r433", "r434", "r477", "r492", "r631" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings per common share - diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r811" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effects of exchange rates on cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r30" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued wages and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [ "r403" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost capitalized for award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "terseLabel": "Share-based Payment Arrangement, Amount Capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r406" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r406" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-Based Payment Arrangement, Option [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r13", "r149", "r175", "r176", "r177", "r191", "r192", "r193", "r195", "r201", "r203", "r216", "r255", "r256", "r330", "r408", "r409", "r410", "r416", "r417", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r448", "r449", "r450", "r451", "r452", "r453", "r464", "r512", "r513", "r514", "r523", "r585" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesByIndustryAxis": { "auth_ref": [ "r527", "r530", "r533", "r589", "r591", "r594", "r603", "r635", "r661" ], "lang": { "en-us": { "role": { "documentation": "Information by industry sector, examples include but are not limited to, commercial, industrial, agricultural, financial services, technology, healthcare and real estate.", "label": "Industry Sector [Axis]" } } }, "localname": "EquitySecuritiesByIndustryAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "stringItemType" }, "us-gaap_EquitySecuritiesIndustryMember": { "auth_ref": [ "r527", "r530", "r533", "r589", "r591", "r594", "r603", "r661" ], "lang": { "en-us": { "role": { "documentation": "Industry sector consisting of government, private and corporate entities engaged in business activities, including but not limited to, commercial, industrial, agricultural, financial services, technology, healthcare and real estate.", "label": "Industry Sector [Domain]" } } }, "localname": "EquitySecuritiesIndustryMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r314", "r348", "r349", "r350", "r351", "r352", "r353", "r437", "r466", "r467", "r468", "r638", "r639", "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByLiabilityClassAxis": { "auth_ref": [ "r86", "r134" ], "lang": { "en-us": { "role": { "documentation": "Information by class of liability.", "label": "Liability Class [Axis]" } } }, "localname": "FairValueByLiabilityClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r436", "r437", "r438", "r439", "r441" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r435" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r314", "r348", "r353", "r437", "r466", "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r314", "r348", "r353", "r437", "r467", "r638", "r639", "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r314", "r348", "r349", "r350", "r351", "r352", "r353", "r437", "r468", "r638", "r639", "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r85", "r135" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3). Where the quoted price in an active market for the identical liability is not available, the Level 1 input is the quoted price of an identical liability when traded as an asset.", "label": "Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "auth_ref": [ "r14" ], "lang": { "en-us": { "role": { "documentation": "Represents classes of liabilities measured and disclosed at fair value.", "label": "Fair Value by Liability Class [Domain]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r14", "r86" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome": { "auth_ref": [ "r440" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) recognized in other comprehensive income (OCI) from liability measured at fair value on recurring basis using unobservable input (level 3).", "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome", "verboseLabel": "Impact of foreign currency translation adjustments" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r14" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "periodEndLabel": "Balance", "periodStartLabel": "Balance" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r314", "r348", "r349", "r350", "r351", "r352", "r353", "r466", "r467", "r468", "r638", "r639", "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r435", "r441" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r158", "r275" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-lived, Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r126" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "terseLabel": "2023 (remainder)" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r126" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r126" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r126" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r272", "r274", "r275", "r277", "r473", "r474" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "terseLabel": "Impact of foreign currency translation adjustments" } } }, "localname": "FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r125", "r474" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsGrossExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-lived, Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r58", "r61" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r125", "r473" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Net Carrying Amount, finite-lived", "periodEndLabel": "Balance", "periodStartLabel": "Balance" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r444", "r445", "r446", "r447", "r582" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.", "label": "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax", "negatedLabel": "Foreign exchange (gain) loss" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r8" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment", "negatedLabel": "Loss on disposal of property and equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r112", "r567" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 0.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and administrative expense" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r109" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r157", "r262", "r475", "r636", "r656", "r704", "r711" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Balance", "periodStartLabel": "Balance" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r124" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r269" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "us-gaap_GoodwillForeignCurrencyTranslationGainLoss", "verboseLabel": "Impact of foreign currency translation adjustments" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r110", "r187", "r221", "r235", "r241", "r244", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r443", "r633", "r719" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "us-gaap_GrossProfit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r107", "r140", "r221", "r235", "r241", "r244", "r478", "r489", "r633" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Earnings before income tax expense", "totalLabel": "Earnings before income tax expense", "verboseLabel": "Earnings before income tax expense" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r278", "r280", "r568" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r280", "r568" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r143", "r146", "r202", "r203", "r229", "r415", "r418", "r493" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r44", "r46" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Domestic and foreign income taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "us-gaap_IncreaseDecreaseInAccountsPayable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Trade accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable", "terseLabel": "Domestic and foreign income taxes payable" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r471", "r690" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Customer deposits and deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.", "label": "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities", "terseLabel": "Accrued wages and benefits" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "us-gaap_IncreaseDecreaseInInventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r682", "r690" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation for operating lease.", "label": "Operating lease liabilities", "terseLabel": "Increase (Decrease) in Operating Lease Liability" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "auth_ref": [ "r690" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in current liabilities classified as other.", "label": "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities", "terseLabel": "Other current liabilities" } } }, "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r690" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.", "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities", "terseLabel": "Other liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r207", "r208", "r209", "r213", "r374" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "order": 0.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "terseLabel": "Unvested shares of restricted stock and employee stock options (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "xbrltype": "sharesItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r273", "r276" ], "lang": { "en-us": { "role": { "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.", "label": "Indefinite-Lived Intangible Assets [Axis]" } } }, "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "stringItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "auth_ref": [ "r127" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "order": 0.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.", "label": "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "terseLabel": "Indefinite-lived, Gross Carrying Amount", "verboseLabel": "Net Carrying Amount, indefinite-lived" } } }, "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.", "label": "us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "terseLabel": "Impact of foreign currency translation adjustments" } } }, "localname": "IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r59", "r127" ], "lang": { "en-us": { "role": { "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. 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 the company.", "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsGrossExcludingGoodwill": { "auth_ref": [ "r157" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill.", "label": "us-gaap_IntangibleAssetsGrossExcludingGoodwill", "totalLabel": "Intangible Assets, Gross Carrying Amount" } } }, "localname": "IntangibleAssetsGrossExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r56", "r60" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Net Carrying Amount", "totalLabel": "Net Carrying Amount" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r90", "r142", "r178", "r225", "r454", "r569", "r669", "r833" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "us-gaap_InterestExpense", "negatedLabel": "Interest expense", "verboseLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r618", "r666", "r667" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap [Member]" } } }, "localname": "InterestRateSwapMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-7-inventories" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r123", "r625" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r165", "r623", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventories", "totalLabel": "Total inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r123", "r627" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r123", "r626" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details": { "order": 0.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.", "label": "Work in process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r261" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 19.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Excess and obsolete inventory charges", "terseLabel": "Inventory Write-down", "verboseLabel": "Provision for excess and obsolete inventory" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseContractualTermAxis": { "auth_ref": [ "r681" ], "lang": { "en-us": { "role": { "documentation": "Information by contractual term of lease arrangement.", "label": "Lease Contractual Term [Axis]" } } }, "localname": "LeaseContractualTermAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseContractualTermDomain": { "auth_ref": [ "r681" ], "lang": { "en-us": { "role": { "documentation": "Contractual term of lease arrangement.", "label": "Lease Contractual Term [Domain]" } } }, "localname": "LeaseContractualTermDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r813" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseExpirationDate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format.", "label": "Lease Expiration Date" } } }, "localname": "LeaseExpirationDate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "dateItemType" }, "us-gaap_LeaseholdImprovementsGross": { "auth_ref": [ "r128" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.", "label": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r814" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r463" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r463" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r463" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": 0.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r463" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r463" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r814" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "2023 (remainder)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r463" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r812" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_LesseeOperatingLeaseTermOfContract", "terseLabel": "Lessee, Operating Lease, Term of Contract (Month)" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r456" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Letter of Credit [Member]" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "domainItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Amount Outstanding" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r29", "r187", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r423", "r424", "r425", "r443", "r543", "r632", "r671", "r719", "r816", "r817" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r102", "r139", "r486", "r656", "r694", "r702", "r810" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r31", "r153", "r187", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r423", "r424", "r425", "r443", "r656", "r719", "r816", "r817" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r23", "r138", "r826" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "us-gaap_LineOfCredit", "terseLabel": "Long-Term Line of Credit, Total" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r27", "r693" ], "lang": { "en-us": { "role": { "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.", "label": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "Date the credit facility terminates, in YYYY-MM-DD format.", "label": "Line of Credit, Expiration Date" } } }, "localname": "LineOfCreditFacilityExpirationDate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "dateItemType" }, "us-gaap_LineOfCreditFacilityInitiationDate1": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "Date the credit facility first became available, in YYYY-MM-DD format.", "label": "Line of Credit, Issue Date" } } }, "localname": "LineOfCreditFacilityInitiationDate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details" ], "xbrltype": "dateItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r27", "r693" ], "lang": { "en-us": { "role": { "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.", "label": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r27" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r21" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-Lived Assets by Geographic Areas [Table Text Block]" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r23", "r138", "r313", "r326", "r638", "r639", "r826" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.", "label": "us-gaap_LongTermDebt", "totalLabel": "Long-Term Debt" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r161" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.", "label": "Current portion of Term Note" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "auth_ref": [ "r10", "r190", "r318" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details": { "order": 3.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "verboseLabel": "2024" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "auth_ref": [ "r10", "r190", "r318" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details": { "order": 0.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "verboseLabel": "2026" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "auth_ref": [ "r10", "r190", "r318" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "verboseLabel": "2025" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": { "auth_ref": [ "r695" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "verboseLabel": "2023 (remainder)" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r162" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.", "label": "Term Note, net of current portion" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r34" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-Term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r34", "r65" ], "lang": { "en-us": { "role": { "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Long-Term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_MachineryAndEquipmentGross": { "auth_ref": [ "r128" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and equipment" } } }, "localname": "MachineryAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r145", "r147" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r183" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM FINANCING ACTIVITIES" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r183" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM INVESTING ACTIVITIES" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r117", "r118", "r119" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by (used in) operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM OPERATING ACTIVITIES" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r108", "r119", "r141", "r151", "r170", "r173", "r177", "r187", "r194", "r196", "r197", "r198", "r199", "r202", "r203", "r210", "r221", "r235", "r241", "r244", "r254", "r287", "r288", "r290", "r291", "r292", "r294", "r296", "r298", "r299", "r434", "r443", "r490", "r565", "r583", "r584", "r633", "r669", "r719" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited": { "order": 0.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net earnings", "totalLabel": "Net earnings", "verboseLabel": "Net earnings (loss)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonUsMember": { "auth_ref": [ "r836", "r837", "r838", "r839" ], "lang": { "en-us": { "role": { "documentation": "Countries excluding the United States of America (US).", "label": "Non-US [Member]" } } }, "localname": "NonUsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details" ], "xbrltype": "domainItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r113" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "us-gaap_NonoperatingIncomeExpense", "verboseLabel": "Other income (expense)" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock shares.", "label": "Nonvested Restricted Stock Shares Activity [Table Text Block]" } } }, "localname": "NonvestedRestrictedStockSharesActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r699" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "us-gaap_NumberOfOperatingSegments", "terseLabel": "Number of Operating Segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "us-gaap_OperatingExpenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r221", "r235", "r241", "r244", "r633" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "us-gaap_OperatingIncomeLoss", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r459", "r655" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r458" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Total" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r458" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Current portion of operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r458" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating lease liabilities, net of current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r457" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "us-gaap_OperatingLeaseRightOfUseAsset", "terseLabel": "Operating Lease, Right-of-Use Asset", "verboseLabel": "Right-of-use assets, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r691" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.", "label": "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense", "terseLabel": "Operating Lease, Right-of-Use Asset, Periodic Reduction" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r462", "r655" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r461", "r655" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Weighted average remaining lease term (in years) (Year)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r234", "r235", "r236", "r237", "r238", "r244" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details" ], "xbrltype": "domainItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r159" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r6", "r11", "r133" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "terseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": { "auth_ref": [ "r169" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent.", "label": "Unrealized gain (loss) on interest rate swap agreement" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r6", "r11", "r133", "r171", "r174" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other comprehensive earnings" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other current liabilities.", "label": "Other Current Liabilities [Member]" } } }, "localname": "OtherCurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment": { "auth_ref": [ "r685" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount of inventory owned by the entity but in the hands of a customer, typically a reseller.", "label": "Inventory consigned to others" } } }, "localname": "OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r30", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r114" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other income (expense)" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PatentedTechnologyMember": { "auth_ref": [ "r77" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patented technology to exploit the technology for a period of time specified by law.", "label": "Patented Technology [Member]" } } }, "localname": "PatentedTechnologyMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r132" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.", "label": "Patents [Member]" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r182" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Acquisition of treasury stock-shares surrendered by employees to satisfy tax liability" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r116" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedTerseLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "auth_ref": [ "r115" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.", "label": "us-gaap_PaymentsToAcquireShortTermInvestments", "negatedLabel": "Purchase of short-term investments" } } }, "localname": "PaymentsToAcquireShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "auth_ref": [ "r345", "r346", "r347", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r648" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for retirement benefits.", "label": "Retirement Benefits [Text Block]" } } }, "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans" ], "xbrltype": "textBlockItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r96", "r328" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r96", "r545" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r96", "r328" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r96", "r545", "r563", "r834", "r835" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r96", "r482", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r686" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r5" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Net proceeds from public offering of common stock" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "auth_ref": [ "r42", "r520" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.", "label": "us-gaap_ProceedsFromIssuanceOfLongTermDebt", "terseLabel": "Proceeds from Issuance of Long-term Debt, Total" } } }, "localname": "ProceedsFromIssuanceOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r5", "r17" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from stock options exercised" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property and equipment:" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r128", "r155", "r488" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "us-gaap_PropertyPlantAndEquipmentGross", "totalLabel": "Gross property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r9", "r479", "r488", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "us-gaap_PropertyPlantAndEquipmentNet", "terseLabel": "Property and Equipment", "totalLabel": "Net property and equipment" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r181", "r258" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "us-gaap_ProvisionForDoubtfulAccounts", "terseLabel": "Accounts Receivable, Credit Loss Expense (Reversal)" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r43", "r521" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "us-gaap_RepaymentsOfLongTermDebt", "negatedLabel": "Repayments of Term Note" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r93", "r412", "r824" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Engineering and product development expense" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r684", "r692", "r825", "r827" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restricted cash", "terseLabel": "Restricted Cash" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": { "auth_ref": [ "r25" ], "lang": { "en-us": { "role": { "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage.", "label": "Restricted Cash and Cash Equivalents [Axis]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [ "r154" ], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r45", "r144", "r184" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted certificates of deposit" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r99", "r130", "r485", "r515", "r517", "r522", "r546", "r656" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r149", "r191", "r192", "r193", "r195", "r201", "r203", "r255", "r256", "r408", "r409", "r410", "r416", "r417", "r426", "r428", "r429", "r431", "r432", "r512", "r514", "r523", "r834" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanNameAxis": { "auth_ref": [ "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r651", "r678", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782" ], "lang": { "en-us": { "role": { "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.", "label": "Retirement Plan Name [Axis]" } } }, "localname": "RetirementPlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanNameDomain": { "auth_ref": [ "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r651", "r678", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782" ], "lang": { "en-us": { "role": { "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.", "label": "Retirement Plan Name [Domain]" } } }, "localname": "RetirementPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r222", "r223", "r234", "r239", "r240", "r246", "r248", "r250", "r341", "r342", "r472" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.", "label": "Revenue", "verboseLabel": "Net revenues" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r148", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r344" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r250", "r679" ], "lang": { "en-us": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r70" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r58", "r61" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r636", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r18", "r127" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity, by either major class or business segment.", "label": "Schedule of Indefinite-Lived Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r24", "r103", "r104", "r105" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-7-inventories-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "auth_ref": [ "r10" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.", "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]" } } }, "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r52", "r53", "r54", "r55" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r15", "r16", "r69" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r131" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "auth_ref": [ "r47" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).", "label": "Schedule of Weighted Average Number of Shares [Table Text Block]" } } }, "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r218", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r244", "r250", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r281", "r282", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r636", "r683", "r828" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r217", "r218", "r219", "r220", "r221", "r233", "r238", "r242", "r243", "r244", "r245", "r246", "r247", "r250" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r109" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "xbrltype": "domainItemType" }, "us-gaap_SellingExpense": { "auth_ref": [ "r112" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services.", "label": "Selling expense" } } }, "localname": "SellingExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r7" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensation", "terseLabel": "Amortization of deferred compensation related to stock-based awards" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r652" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": { "auth_ref": [ "r68" ], "lang": { "en-us": { "role": { "documentation": "Discount rate from fair value on purchase date that participants pay for shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedLabel": "Forfeited, number of shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Forfeited, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r390" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)", "verboseLabel": "Granted, number of shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r390" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Granted, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r387", "r388" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Unvested shares outstanding (in shares)", "periodStartLabel": "Unvested shares outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r387", "r388" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Unvested shares outstanding, weighted average exercise price (in dollars per share)", "periodStartLabel": "Unvested shares outstanding, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r391" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedLabel": "Vested, number of shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "auth_ref": [ "r394" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r391" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Vested, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r399" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r398" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Expected common stock market price volatility factor" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r400" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r654" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r68" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r381" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Options exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r789" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price of options that were either forfeited or expired.", "label": "Canceled, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r385" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "negatedLabel": "Canceled, number of shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "verboseLabel": "Granted, number of shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r393" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r379", "r380" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "periodEndLabel": "Options outstanding, number of shares (in shares)", "periodStartLabel": "Options outstanding, number of shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r379", "r380" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "periodEndLabel": "Options outstanding, weighted average exercise price (in dollars per share)", "periodStartLabel": "Options outstanding, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Exercised, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Granted, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche One [Member]" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "us-gaap_SharePrice", "terseLabel": "Share Price (in dollars per share)" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r783" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r653" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r397" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Weighted average expected life of stock options (years) (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharesIssuedPricePerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Per share or per unit amount of equity securities issued.", "label": "us-gaap_SharesIssuedPricePerShare", "terseLabel": "Shares Issued, Price Per Share (in dollars per share)" } } }, "localname": "SharesIssuedPricePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "us-gaap_SharesOutstanding", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r460", "r655" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r120", "r185" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r150", "r218", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r244", "r250", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r279", "r281", "r282", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r636", "r683", "r828" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r13", "r37", "r149", "r175", "r176", "r177", "r191", "r192", "r193", "r195", "r201", "r203", "r216", "r255", "r256", "r330", "r408", "r409", "r410", "r416", "r417", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r448", "r449", "r450", "r451", "r452", "r453", "r464", "r512", "r513", "r514", "r523", "r585" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r191", "r192", "r193", "r216", "r472", "r519", "r524", "r537", "r538", "r539", "r540", "r541", "r542", "r545", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r558", "r559", "r560", "r561", "r562", "r564", "r566", "r567", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r585", "r662" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.intest.com/20230630/role/statement-note-13-segment-information", "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20230630/role/statement-note-7-inventories", "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20230630/role/statement-note-7-inventories-tables", "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual", "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20230630/role/statement-note-8-leases-tables", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r191", "r192", "r193", "r216", "r472", "r519", "r524", "r537", "r538", "r539", "r540", "r541", "r542", "r545", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r558", "r559", "r560", "r561", "r562", "r564", "r566", "r567", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r585", "r662" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-comprehensive-earnings-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans", "http://www.intest.com/20230630/role/statement-note-12-employee-benefit-plans-details-textual", "http://www.intest.com/20230630/role/statement-note-13-segment-information", "http://www.intest.com/20230630/role/statement-note-13-segment-information-identifiable-assets-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-segment-information-details", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-component-of-goodwill-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20230630/role/statement-note-6-major-customers", "http://www.intest.com/20230630/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20230630/role/statement-note-7-inventories", "http://www.intest.com/20230630/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20230630/role/statement-note-7-inventories-tables", "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual", "http://www.intest.com/20230630/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20230630/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20230630/role/statement-note-8-leases-tables", "http://www.intest.com/20230630/role/statement-note-9-debt", "http://www.intest.com/20230630/role/statement-note-9-debt-details-textual", "http://www.intest.com/20230630/role/statement-note-9-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20230630/role/statement-note-9-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r13", "r96", "r97", "r130" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Shares issued under Employee Stock Purchase Plan (in shares)", "terseLabel": "Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r13", "r96", "r97", "r130", "r520", "r585", "r604" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Issuance of common stock, net (in shares)", "terseLabel": "Stock Issued During Period, Shares, New Issues (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited": { "auth_ref": [ "r13", "r96", "r97", "r130" ], "lang": { "en-us": { "role": { "documentation": "Number of shares related to Restricted Stock Award forfeited during the period.", "label": "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited", "negatedLabel": "Forfeitures of unvested shares of restricted stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r13", "r130" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Issuance of unvested shares of restricted stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r13", "r96", "r97", "r130", "r384" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Stock options exercised (in shares)", "negatedLabel": "Exercised, number of shares (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r13", "r96", "r97", "r130" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Shares issued under Employee Stock Purchase Plan", "terseLabel": "Stock Issued During Period, Value, Employee Stock Purchase Plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-11-employee-stock-purchase-plan-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r13", "r96", "r97", "r130", "r523", "r585", "r604", "r670" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.", "label": "Issuance of common stock, net", "terseLabel": "Stock Issued During Period, Value, New Issues" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures": { "auth_ref": [ "r13", "r96", "r97", "r130" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Value of stock related to Restricted Stock Awards forfeited during the period.", "label": "Forfeitures of unvested shares of restricted stock" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "auth_ref": [ "r13", "r96", "r97", "r130" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.", "label": "Issuance of unvested shares of restricted stock" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r13", "r37", "r130" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock options exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r97", "r100", "r101", "r122", "r547", "r563", "r586", "r587", "r656", "r671", "r694", "r702", "r810", "r834" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "us-gaap_StockholdersEquity", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations", "http://www.intest.com/20230630/role/statement-note-1-nature-of-operations-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash payments for:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-tables", "http://www.intest.com/20230630/role/statement-note-13-segment-information-tables", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20230630/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20230630/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20230630/role/statement-note-7-inventories-tables", "http://www.intest.com/20230630/role/statement-note-8-leases-tables", "http://www.intest.com/20230630/role/statement-note-9-debt-tables" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 8.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Domestic and foreign income taxes payable" } } }, "localname": "TaxesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r75" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r75" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonMember": { "auth_ref": [ "r66" ], "lang": { "en-us": { "role": { "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common [Member]" } } }, "localname": "TreasuryStockCommonMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonShares": { "auth_ref": [ "r66" ], "lang": { "en-us": { "role": { "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury stock, shares (in shares)" } } }, "localname": "TreasuryStockCommonShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockCommonValue": { "auth_ref": [ "r38", "r66", "r67" ], "calculation": { "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "us-gaap_TreasuryStockCommonValue", "negatedLabel": "Treasury stock, at cost; 38,514 and 34,308 shares, respectively" } } }, "localname": "TreasuryStockCommonValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "auth_ref": [ "r13", "r66", "r130" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.", "label": "us-gaap_TreasuryStockValueAcquiredCostMethod", "negatedLabel": "Shares redeemed into treasury stock" } } }, "localname": "TreasuryStockValueAcquiredCostMethod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-stockholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfArrangementAxis": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]" } } }, "localname": "TypeOfArrangementAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-8-leases", "http://www.intest.com/20230630/role/statement-note-8-leases-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808" ], "lang": { "en-us": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808" ], "lang": { "en-us": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan", "http://www.intest.com/20230630/role/statement-note-10-stockbased-compensation-plan-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r205", "r213" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted average common shares and common share equivalents outstanding - diluted (in shares)", "totalLabel": "Weighted average common shares and common share equivalents outstanding - diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r204", "r213" ], "calculation": { "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted average common shares outstanding - basic (in shares)", "terseLabel": "Weighted average common shares outstanding - basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.intest.com/20230630/role/statement-consolidated-statements-of-operations-unaudited", "http://www.intest.com/20230630/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "xbrltype": "sharesItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org//235/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "https://asc.fasb.org//350/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r129": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org//470/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b),(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org//280/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org//330/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "https://asc.fasb.org//715/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(l)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(o)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(p)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "60", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.30)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "808", "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//842-20/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(21))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column G))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column H))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column I))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column J))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column K))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(c)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(3)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(4)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13A(Column E))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column E))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column H))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "5C", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r672": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r673": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r674": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r675": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r676": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r677": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(10)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r731": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(8)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r733": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(9)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r735": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r736": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r737": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r738": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r739": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r741": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r742": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(8)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r743": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r744": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r745": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r746": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r747": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r748": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r749": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r750": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r751": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r752": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r753": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r754": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r755": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r756": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r757": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r763": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(j)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r766": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r767": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r768": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r769": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r770": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r771": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r772": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r773": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r774": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r775": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r776": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r777": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r778": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r779": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r780": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r781": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r782": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r783": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r784": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r785": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r786": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r787": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r788": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r789": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r790": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r791": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r792": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r793": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r794": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r795": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r796": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r797": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r798": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r799": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r800": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r801": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r802": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r803": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r804": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r805": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r806": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r807": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r808": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r809": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r810": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r811": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r812": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r813": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r814": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r815": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r816": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r817": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r818": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r819": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r820": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r821": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r822": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r823": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r824": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r825": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r826": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r827": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r828": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r829": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r830": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r831": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(3)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r832": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(18))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r833": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(i)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r834": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r835": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r836": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r837": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r838": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r839": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 82 0001437749-23-023037-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-23-023037-xbrl.zip M4$L#!!0 ( &*!"E>J'S(?R 8 - ? - 97A?-34T-S(Y+FAT;>U9 M76\;MQ)]KG\%KQ\:!Y L*X[11E8$.(GCNFU27U<7Z%M![0,9P[/#,EA&2H]&I8D\]'.-\.@@J817?U^=/3T MNR?/]M$[[*7&G6_0_Y]N5YR1(2<#Y6*R$..R,3FY5[8B<6%=D%ITQ?>]I[TG M!T\.Q7>#P_[@Z8&X>".ZW=&PHB!%5DKG*3S?;4+1_7ZW;36RHN>[A765#-V< M F5!6;,K,FL"&4@'TE27UM!S8W='.\->,GDXL?E"^+#0<;@)7:_^H$'_H [' M\;.0E=*+P:.QJLB+MS07E[:2YM%Q+?-G@0!FQWU?FF&>MUZ:Z=^PF13/I ME#1A8'@-^KB2;JK,@+MW1]^:B:^/A[UZM'./CELJMM$0Z"ITI593,W!J6H9U ME3B[;XX8UK1/^C^5]A" M*#,^_74L7EJ';LFT^\4CXN@6+ M5/(=0>_*G!YM.8R!2LV$SCI8(%,N:RJ(&0P7,=^*>0FD"]_PK^7X.3EJ)^$% M5,IK9$ED.3%7H<0"?8W$RMIYWAJFV1S+G&%8S.8K;OCB,7#XX1@@42@#+W/ MEE[M 01[=;Z5?^&B:.ILH'9CTAN3'9#2L[*]'V MU\;P,^7O/.(]\&L\T*O#UL42A\1H^="^DHQ@:^5A--[$-! ,1$ M*U^R.(M5H :F!_[.E<^T]0W&,6DXJU.0:FH5$9:8D M3K ?+QL-B?ZA[/:/]NAQ'-H_RM-7^E15SYXUQ;?O&QN.;VE*C<=BJ4]$A6)-HVA5BE:G@,C-SS,6C\6? M K.R]+-HTIY\O(JA5^11&L*GD7/_/N =3@>9;/SV0YB7)X3@M9H2T]O&80+L MWIGRD1,@12;.P^7,DDU6&)4K MN(T7H%)"BAQI>*;&\SE3.D)+>&LG\ M*#W@R-4)XPSE]W7,@4(E)TJKL. DM4DM[X (CQCY!-XUT97J)M+P5;N@ND&Y MZA$=3JI99ET>#8AUSC3>4&@ $#U4,[)9!#5< AEV@*K!A%\AS+(UF)W.I&[B MSN<84%'PM9)/K\;.SX%M:5$[+D%C0]@&LY:-LL: MQ[%921%K\U76![3P50QF\1FF:$^R8N^.< %@8=_?DFO-1*5,\;C&)SG3W-CR M.%E22G^30YDQ(A ICU0:5]_2W *'LG>DV[/;+?G.1SCD0<#N8XOOH_];\1VO M,/)K%':6NY7)8Q45RXV;;C&VSI%W:B(8)5$1!>O\34**#9BLPHD^$&VDPXGE MNR;TY HVQ>%[0 W8QS.[X2]79-?PIO>-@LD1T(V)]]O^\5=?5Y_@0,PUAP(& M^,#!1Y=,$8+6)I.;^G9.\AUGAY3S8WZ(U4J\=[D^''\0%-I2-!WW-FQSF6.@ MIYM=O@$V;74#82 14@G)2>/S.2;"GZ![^(R6A;=>('P(!C@\)\@OA<.V MZR L%#D"@8W76"T".HFPE9E9/2-F;2.G[6V<:VF%JEK;!:%W7MK$)7(-7\## M1R:P_<\=J7]U?+J\]@K8&XAA,SIII@UR3_^@(_AI,[W]_//]]^!C=$,S_:/# M]%#7C'J^M_DE*$9MXD8[FWNYYP*G"L4T%5G[9:FH$*=7E#5\.!&_I%*E74VN M9B+3./T^W_WYY-=Q]^+D[+3[XO+TY"=^2U[IO3A[/;Z\U58676?G=QLS0D:\ M.'O[OS=+WT&"G[PW_($5/7X"!QCC2_Z?4$L#!!0 ( &*!"E<4VKH@"P0 M '\, - 97A?-34T-S,P+FAT;=U7;4_;2!#^#+]B:JDM2''B).1*$Q/) M!$/3:TF:&*GWZ;2QQ_%*Z[6[7A=RO_YF[22$ *?KO4I(8..9V7EFYQTWT:D8 MN@FR:'AXX&JN!0[Q[M=>[^1=UVD2UVW5Q,,#XK^R;;A"B8IIC&"Q@B I983J M(DL1IIG23( -IZV35L?I=*'=Z7>E!]QBSE8M5_&_ 4"[C&6YAE*9-O!SF+(BZ7?8=+:+:Y'!BM M^0-5SYY]"N@[4YQ)W9?F#F*0,K7DLF_8UO"-7!3YP&WEP\-G,/8@_@R"QCMM M,\&7LJ_X,M$/(=W%T"V'_MQ8S+P)\',)K,II.9%XPGUU7(%LJD^N8Q\F?!^'(\JO@PO9G-;[SK ()) MQ6V?PDUSWAPU8>Z/*HEVM^!8! M4I^/X&,I$;I. ZK^S@J(N2#R%GB.8:FXYG0I)B/P[ZC;RR42:IKRHC"@]&,D M(QHAD*!",JVVHS;5.F[ N $7I0R9A"LNTJQ4#1@E'&.XY)+)D-.4F<0Q#Y$8 M@4)6E I5!4CXBL:)6ID;&ZWKRS6 A#6/Z8^\5$5)_@2=P4ZIK%U8E8JY&(NR MW RY7?&-D"F1M?XY4PLFL; G=P)7X(65KTV)-(C/=/^^:H_:QS0O<1.2N!04 MGY#L$\9=6QX5MGKXUHO^^>#(Q7 M=DSHU"9P64]:H]=,6,8E7977D=G8Q[A)H%QA84QIS N@8902%@!@YV58T MJE/Q-C2D,.*5:A,1DBI%?9,LQSKQBKWH-/?Z6_6X()Q^74$_^J3!YY7+LM"4 MR76JUK/OY?>3?QA#LX5 6&2*=KPSRZ%U#(58+T[;[R)GX>;[T2(&%2KLV@AO MOI69'NQ96A.IG@VY 07E6#R@JHAT8I0XK\U^1CLH+:F4' ?F'6W@UE(GO=<[ M%]#1,V*]2HQRI%6T]OI,E2:+6O\>9TW]T3ZTL8/>1@'MK95/_YV! )O?]ND3 MP8SX=P@%*XHSZY,W#^RI=^7;YS/?^]ELOCO/Q.U!+ P04 " !B@0I7M5%#-S $ \ M#0 #0 &5X7S4U-#-?>FX+M7Z[$1Z\0/U/C@.75%!)%$U@N88HJT5" MY7F14Y@54A$.#IRTC]O=3K<';M?K=KW>*#DB0)$RNOPP2T7"8& MVFOYR-6S:_T#'P04[DB@E/JZWA*[&LRH'?+H<'SV#L0'P)@J*W MRB&#HQZ5Q*W8;;QRB<1^.+\_03"*M*;;Z73_Z]Q_+X8I!,.Q@EKWY,=NJD<(8Z''F6A&&]PPE8'* M*'RLB<1VXVN8TQ)G*!0I;%NMD"@AQOY0VUJC(B^)6%M'@*(+! &WXWP$')S& M5TDE*Q*@F+T$WM6"0J]C@QG&I(*4<13? 2]H7$NF& 9%1 +A+8YFL:*(FN>L MJC0H?K1E@O,>,BHI4FMX-%2M(QO&-LR9'NH)3%IP*3%Z&][)E@TS22NFRVC< MCS)&4P1!4,6N*4S3E,54ZFBUQTU@-J!,L13_*6M9U>@-5 $/]DV3OJ9:9O/H MR$A2E/I(>KAF8VDVS09D0>22"%HYTUM.UQ#$)MEZT]BH)\J[W\>'[E&#\;7/ M"'$VA4QKCE6-,3*NDWR7>$D_UTS2'%-3:0);IF[OD&!A);C]P^3HCO1]F>Y* MM&'NGO:.!SJ[#WAWOX,W$\T)K,GHDYVCN8"BRY!2W$N>;:\Z9A5:6D50EB>\E3ZY. M8.#@(3EX];DNU&"'8B.TP8AMJ+#ZZ0";/%&9=M)Y.8"&H,-IJCPP;C<2 - 97A? M-34T-S,R+FAT;>5976\;MQ)]KG\%ZX?$ 23+LF.TD14!3N*X1MO4=53@OEU0 MN[-:(EQ2(;E2='_]/4.N]66Y49J+&R=Y\,>20\YPYLR9X6Z_#)4>]$N2^6#O MAWY00=. /OS[]/3I3R?'AYCM=]+@W@^8_['=%I=DR,E N1C-Q;"L34[NE:U( M7%L7I!9M\7/G:>?XZ/A$_-0[.>X=/1/7OXMV>]"O*$B1E=)Y"L_WZU"T?]YO M1HVLZ/E^85TE0SNG0%E0UNR+S)I !M*!-$U*:^BYL?N#O7XGF=P?V7PN?)CK MN-R$ME?_H5[W:!+.XF,A*Z7GO<=#59$7;V@F;FPES>.SB9 M,]YULK;5O6NW*9I*IZ0)/<-GT&>5=&-E>CR]/WAD1GYRUN],!GOWZ-A0L8N& M0!]"6VHU-CVGQF585]D?#?KUX.)?OUR]N!J*D^[A<;]3#_H=#/^-&0__J!G0 M0&[;65]>W RO7E^]/!]>_?'FH1SV6]'Q#X*VIN&J)5[5)I-&7"I=V=JU1$8N MJ&(N0BE#[VL_7_:\C&UDJ<: M_^06NHT-L2!(4+8TE3T]QG(8 Y6:699UL$"F7%97$#-8+F(1%+-29:7P-?]: MKI^1HV83/D"EO$;I0ND1,Q5*'-!/4.U8.^\[@6DVQS&G6!9+[(H;OGH,G'PZ M!D@4RL#+'+"E5UL ,0Q[5;FE4D=!-(%_V>ZSK$G(K?BPA:BKCCQ)G \8X:Q MI/42%$T\_(9JX"Y7O'&+)6H- 2#!3BAEIX_V9-*7HM!VYF]AXFBL?'#PAY \ MF.R&E:V5:/M;8^Y8^]4'_.F] 1^N>>>Q;X+95 5.#UL4"H_18U=".HJQ@:_5 M2!/[4! ,=+*ERS.8A6H@>F!GW/E,VU]C75,&L[J%*2)LQGE&/;B #')"4%. MCK_X@.;4C$F<(Q]O:@V)[HEL=T\/Z$E6+5TWQZ'UMP]F&IC1X)I;Z1%0HUC2*1J5H= J( M+'Z>L7CL^A28E:6?19,.Y)-5#+TBCYX0/HV<^_& M[@<9++VNR]A7AX1@M=H M2DR/!@8;('NGRD=.@!29N ^W,TLV664D1UI&-#14OXQHJV$KGE1@%MCBK59Y MO&7Y>N15KN V/H!*!2ERI.&=:L]%(B:/CQ4E,HCU!(-PEQ^TM1L03%H)_?&ID1K8.]^O> MA67E0IJX2RL^WMF*T6W_%U.$D@_XVL.;?W^0R->9)_G\;NSX%M2T$G%F QJ? MP#19(L*:5?U%!FC A$RB.5QM,W-#?'I>P=Z>;NMB'?^@R'/ C8?6[S M??H_:[[C*XS\%H6M9;8R>:RB8IFXZ2W&SC7R3D\$HR0ZHF"=7Q2D.(#-*MSH M ]%6.AQ9%#N>R15LBLL/@!JPCV=VPU_NR&[A3>]K!9,CH&L37SK[)]]]7WV. M"S'W' H8X L'7UTR10A:4TP6_>V,Y#NN#JGFQ_H0NY7XWN7V\ MYZ@OA4/:M1 6BAR!P,;76 T"6HFPE9E:/25F;2/'S=LXU] *51-MYX3966D3 ME\@U? $/GUG #K]TI+X5'9];@>M01_"TP?9+Y]_SWX M&"THH'MZDKZ>U8..[ZQ_G8G1&KG!WL8P#[TL%17B]2('_TB=0DL,F:]Q 4A- MPUO*' 7IYLU)OAS<98 M6;2=G=T=S B5ZOKRS5^_+_T&"?X^O.4/K.CP]V( ,7[V_B]02P,$% @ M8H$*5Y2!5FS:% ? 8! !$ !I;G1T+3(P,C,P-C,P+GAS9.U=6W/;.+)^ MWZKS'WCTLG.J#N-;DIFDXMF2;RG5L6.7[>SL/FU!)"1A0X$:@/1E?_WI!B\B M*5"\"'(HFP\SD8D&NAO]H=%H@."7OSW-/>N!"LE\?CPX>+<_L"AW?)?QZ?'@ M^YT]O#L=C0:6# AWB>=S>CS@_N!OO__77[[\MVU_I9P*$E#7&C];][.0NU2< M^7-J_>/D]M*RK?WWGP\/AE?6]_M3ZW#_\,C>_\T^V+?MW[\\2?>S=&9T3BR0 M@,O/\.!X, N"Q>>]O/1^]\,=T[W-\_V/O'U>6=HAW$Q(X?\D \IQ6> MQL)[)ZGS;NH_[,6%>\@PK1 * 7J5U8A+6!)C@GC09!K'QY0&;QS_+FBV_]XM)_0>HS_ MT,L"O7FTA\5C(FE"S@ESI%X,59230S)'3PH%>4*QE'="Y%CQAX=%HD+794FC MHGR%8"%*^$-)CC24]I20Q6K+<4&1N$2.I"1'CIS=("](W+\?]J+"+"E;8PW& M<6PYJ36>5JP7CX2#3Y\^[:G2@46"0+!Q&- +7\S/Z(2$'D@3\C]#XK$)HRZ, M8H_.*0]R!)GB@(@I#;Z1.94+XM!*:,& MRPU:ME\X8O XMJJ9;I%0_W2=TB@ M'$UI%?S+3NK9^,@^.+2/#MX!Z\%>#2E*\:L30997B'[:^+,=[[P;JL4]6R7Y M8P,),DZD%ON47OW:@/'20];BFY#CCV9<-8YE+<<5^CWJ!5+YFO;:+CU?+6T3 M_6J/KQ9= MOHJR%OU=,F]M8'1\TDR&ZH"F3)RJFNIOV=+#YL.V>BXV6R?]:X/> "!_VA.^ M1_$+D:N& ^(13W<''HAR$R%#9P#P06@[4IA*2!"JEMUW="]0/6Q#;\RX)G M&\>BF"LN POK?;\=5075D8#UVTVE2^1;VBM:/-19]/V^O[\/*_.SF%?VYY"[ MUKEB:XV6;+_L%7BMB!%*ZE[SW]7OPKB(*\<4ZRKFL5>_7M&^^IKQT\2@]>SL M^%SZ'G.5?QX33RU)Y(S20-K1S!'8@%[FNW;(2>@RY?U;&K\5,U.(. 8W"6B MP._3C##6222,=:>$L7XYC:2Q;I0TUO=$FO_ID=+$>/:"X/,9#1ATA7Q1X!1Y MF\+1H1$<6;_J$V)X(Q/MPR32IZF(/.^/F1.LS)9Y[%,/7PJ3"D# MW_DQ\SV7"FG3/T.,0[>*G?4,30'G0WW@W&4$^JMUKB3J85/E 8BF*9/_BFM@)AW/ ME\ $_O@&3"U<$GU3;//!QQNW[Z$MP_F#0WFSIFS_26M[7*%< &?K[\C9NLIP?N.&?F]/?=]]9)ZG$I9@2,*G M;.Q1FTB)V8?-#%[=O"'#'^QK#8_KC*^Q!!9(8(U2":RADN"-V_^#+>@#Y3 < M)\*?8\06".* 81Y9,+.=$*+Z.<3/FZ&@+A-36#C08@&7#K>1'-8%R(%A822' M]0?(89TFQ'>4SL+%>EPRF7BIN]\$C[4P&U&C=EX8_Z M7,B^RHH!?UL)H!+KB0#6#0CPUFU_8-/YPO.?*8WL9"]"X\X] 8-W$_'O34SRREUIG3#E(&2BS;)KS+&W6E+GUJ2X5&:?F/HDX M*SN_]?GXX,B6=*K^-G'8:UV;IDRLSVBIF/DN8ML?]&J5;[8#,O9>,L&=,#2$ MC$-]RJM9GMOZY5X)]=:WO$HSTT904MFZ*4CH,U]KTM^]_6LFJDW H"X34VC0 M)\BJ<^(]*!KEK8U@HR$O4Q#1I]YJI\I[I&CRHD;PH&W1E-7U6;M"PK6W;3YG M:L2LQ<9,652?U5OF87MC9I.I1DR9;\J4(?7)NR0]VYNQ5BK5B'UK\C!E^)+, M7676MH?$NC2,&22L;=H4 $IR>26)GM[LZ\Z5@FL."/-@FJ5/04B\;9Q=7>%A M"@@E&;^2LZS6+V>1'-9]),=;1T2CE)Q1G&S$V1!ZCLQD!7M,M;'A!!&XFIRF\ZE.6#?$*Q+$RR4L= M_QN]VG&^U$;ENFY3;:+R!.@]P!L YY&RZ0P!01Y@%II2#([G$!#)&1%+S_:" M2*XID"G(ZO.JC2'[1RRU-8RDQM@>I+;NE-0]-"LW3XQ.WO79F(*1/O>Z=K.F MGY9KVLQC9,P\AI?2) 7@'8(L/?@'0?%R!70E8!-FR'-M2RA3L-,G?]?!SK8N MEY(G1:Y%@FP-D.(VD=PZ06)>H#31PFFJC7B!. MMV,P!**8U@=B/.ID"HS]K7V&G/83&E[5%5U[;^?.%SI -=OUFSG;0WH.[);A_%EJW#K_W;:]%4$?!>CRUQ-,D5-O%X'U$P/X3K8'I M$Y[;H"^$K#H2F,*8?@>G%L8NE)CHVE(QK?-(S!YM#4\&NTR2Z53@5?1H;9C= MXGJ&O)E!.4PA3[\14__TLJJ=$1:GT;AF[^U*+_ PN^]2W;PIM.CW6S3WA?3[ M+&L/HV=_&_$LU6MNR*7OK4_$9>\<_("J0_9IFU39S/&,:;=6IK3VTE/&-QL;<3*%#GT[/ MH>,J%2G:#42L]%M^I:_2&)T-2MHT97U]ZGGY!^G0P9DX]&@08 MH^.144%=%ICQ!XTXF4*#/C6;HL&VKI?B@!]0XJCCI4J=3 MZ+9Y;E@;@4H#=H;P\D&?2\W@);8U3 57Q]A1 M4U_)-"^) M*=SID\PF<-=_1[.9^4/^ #!2WQO#?G]9)U?%W!3#<.D-AM3 &E\KW0/C7IW!NF>F9F:FO,S!99F M-U2776?4SS_K[,A<>,(FC)@^H]R"GR'4G\JR&*&:U@;%K1DJXAK)H$IO)7DW,OQIK8&HS?38F\V?K:^9N2T MAB#GFX#;E[TGZ7XFBP6:43V+GW"P,TEU_8+/J*<08)&Q5,>ZCP>!".E (12 M$_QKZ(#B_I0Y5W0^IF)@<3*GQX/5Q\SS<"Y)&I AM,B"$-E]%7ZX.!Z@M=EG M!I@;6 &(>SQP V'C+_G9]>>$\1&4H2(#*Z)=4,%\]SZB#:,K P9[J](OI8W/ MG]/KR83B[1DW@CGPAUJ I;)7$+71)'HR]\$_$_%F,T+%S_.ZMZO:S5Y@P?/UY-9W9KA'@$KD-%0Z&JE.0%D20\D;X#J6N3'6K2[V9;HNH M9?.&3.^NREU=E3G&7C!E??J.&#.1-Q'Q^98NR#-285 ,, 0X7OJP!OJ*3NDB MY*Z\I0[%Q=:JTNT:^2DQ-^-X)#FHZ)T'RI7 >!XUNC.=CCV>:$.#]@?5= =DEA)V",)X)'H+$(\?F9((\WJHE$^#7E[8V32&98 M^A%,_7A7]"T,FQ$_?U"#Z(Q.2.@%>GTJ:FS=L[;!&HB'IQZ'%*:!!7$*\5UI M:4?0-J$"'(MR9L4)KZRPLT[N#+-4U%7O]K.Q$@AW(N/M27%% F<&WCU;_G< M&Z9."F-LXW8Z,1:U6ER1)S8/YT/.0^*M4PET239VHYF@HGLV:OAG3"RMPJ@S MWU&>"L* MIVFO*UY4SZ?&0\-SCSJ!\#ES[@'&>?]54M;) MM4J"*I4!38ZI*&CF5:HDZX1O+A43CU.<>)E,<"W*S70*DI:V9C2I-U(W5AGE MTG/WNRPN_XL/.RKY X-QC43$NZ?.C/NX$T+EB'^EX*SX. _*X(/Z$ MJFP,\2XH38/6)A6Z%G14:ZUV5Y:)J$JE5^F[IG,IHO&FU@7N^L$JEPD(0OPB MCM=2='*4@L0AQG#$BS;-5O31EW9B)%["X*$T_L@=E!W/,=W[Z5;677(&*SZ7=)^<<8]TJDW= MN:4Q2BYUHLNL;J44.Z3/,*Y2K5>&\F?IM]0GQ%%R/5'7-:;',5,=RDK;RXW' M$*=4&#?,]?F5"L:A=:B]$NN4%W?2/5Q#, ;B'>X?'I0<'5I+T8F )Q^PW%)L M-/GK'E:\J2;5=#\O&UQNH6!&Q57H!2P*-HMX*RWN)-YN!)7J_83K2VK=ZU'UN ?5)1R'=S+"3HYHI=?Y56 C??71OQ^!I,%KA,+ M"C:@[\1H3CY.?#W!CP[C?YGO$L-4O]0'R^Y1X)6\_X9M_.0= 5U71)\W&?'D M*P&5>E=6Z)Z2RX\>1&]X5.E82=\]%3.W),:7)(*I5-:E2MD&-;NZH76'GSQE M06'[9.5I)[WN'9TSQ^=NB,E478YR'4'W-8)9$'] &[C9$?\EUVA84:&C&HL' MYN#6C@KBR[1<3]2-.3*](2][;>"-YN=WY?+%ZB.W-L=KP[\850//:4/U5EKKFN MK5HV[S$,:_$457),5"JG=0_!7WP)H#JB"&%@=/Y.??]NXWYMR71W7KO$Y!1F M>?,SP\K33DYR$ @2F;'-B#N^6/@"7\LOZE.#LILZSBB^Z:[6LR UT+('S7&V M:K*N:O=^_^#_M/JL%'15@^%\+*CG:970E755#S$G7IPB6M%#5]9E/>[CH]C: MN+>"II-ZQ2'1"5&W)L!LHPX3NI),Z M+"\D>9DKRZ/^>7&NG=O;;MT#%7<@;]B_5:V_D7Y3\]47J:\89=5M[]#?=GBXL:J[FO3Y,[W6,/KX]KU M85,F.]^KC2^";->OS=GL?,^NO=*W72^N;W+G>ZSNA%M1>W?ZX="&"&I.Q+-: M=+$I!^_M$"@ECLKFX_<.%[[''/R.G8SWQ]67#XF<1?^CR\,>-N&N+=+C'E%Y M7<2]J"BOU$(U\=NNS5?:9X\4-_EPOGV@@DSQZ\_S.;HZ=2!Q._"MS7-W^OS( MGA FU.*,VG-*\*99M=-A.]'I*'"5-BR%LV3JP\H/U(/*3GKE$?Y<7O2D_\)S MA2U>5I;78*.L9G$!@#/(=1 '?^J$ D7&S[@P$_;8E.]KZ/N:3KM& [O3&^_M M:7Q44DW4+#U VK+Y@*0I:_ZT*L3@N[VA\U\5%2:7>T M_LWVU#<6HG\ X++!C%91>0=[84X"?)D+C:FR5ZA6FW19BP9WL+=J#I)5^MW1 M]1-8:!PD86[!FCZ?!E3,(Y*ZT&C3XL[UE[]\VQ.,KU[W5/M*ZCV'IEU5M[&= MZZ6:XZ=(_6)Z1I]EPXW!.8$__Q]02P,$% @ 8H$*5_8/,>=/#P BN$ M !4 !I;G1T+3(P,C,P-C,P7V-A;"YX;6SM7>MSVS82_WXS]S_H?)\9^=%K MDTS2COS*:<:)/+;3]C[=0"1DX4H1.H"TK?OK;T%2#]L$L'P$A-K.9.Q8 L#] M+8!]8;'\\-/3(AX\4"$93SX>'+TY/!C0).012^X_'GR]#4:W9^/QP4"F)(E( MS!/Z\2#A!S_]^->_?/A;$'RB"14DI=%@NAK'AR?#=>N#LKGZ-DHW'78;_V-8?+EI^FKHQY.\[=&[ M=^^&^;>;II)5-81!CX:_?KZZ#>=T00*6*(Z$BA;)WLO\PRL>DC1GHQ7"0-M" M_16LFP7JH^#H.#@Y>O,DHP/@^F!0L$[PF-[0V4#]_GHS?O9,EJ14IF]"OA@J MIA]^?W(X5.V&0'-*%S1)@X2G-'@;Q!2>(H,%23/!4@;_Y;/B0Z"!3%E2;6#X_)E,;%N"U&*2#$:L%R4?)8!T%Q5J[WUXS(:;Y8 M,QG<$[+,.3RD<2K7G^1HXGM"RR7NT<:/]#/ M/$GGLB56W7!>8M(OU#I[9=C&_&L=?M(^\"ZS;4?Q#>@/*G2G39C*[ M9!*TD**X#6CC@";\.QIP),(!%S#&QP.PV1XINY^GI0%7C$-$^$HU/K+"T>^("Q5;'\N&8T_9T(G%@F7"B:=, MZ%I*8/GQW>^!'SI5@67"/WXG3# ;?UMN?!A6>4T=^Y#OP#N:IL$L Q>*OO2D M>'(/6WE1-&GF1#8>WY47V9) G!O9WLX!2NZ DG,@1&>Y5#1Q:XOM$/!YP\<; MNBR7_F1V+5@2LB6)QPG6H>IB3'^Y8'4W6@WF.6Z]X]%B*%\QU_)!.AK64T^D M*W2\VWWBE9_B!8^:&FI.7)B^.82UXOS:<'^TS=,2;X2*QP!B2) @$/%BQ,:51\W\R;P+V2._,R2\TG08B-]ITD_--Z01[!(J6 D MKL=T:\=^\/S"Q6_CY%KPD,IZ@.P]G2*:I',J-L1M6'V;+9\=$ M@\@GL5)JX#V.HO]D,E5+GF(JE,9GM+I=)TFIA;I8@ M;/,EER3^)'BVA![YME<1=E Y9?8<*'X-Q_PAS.E\7'(!5G-REL'J3\+5'D:[]@QL:*S_R:GLO% W3/D3/&,?; M4P4TJ(H^/:/09,ZC$5GZ]XU.!9T*[9LV6826_CZ@^\*3L"!P)"75&O$U>_N% MK/'4&8?H&>.UH$O"HK5W=?&DO'8*%G!.>>DAO&[CE,KM;+OC8(TK>W7.8^7S@UN!Y$%?>87@TBV^=7U!^@7W^V2<\VE6'_9* WT)>_"[_TO4R M1\5-?*I4T34#C('U!M4I@KU!7M]7Q[+C^WUD!R(.A<7_PS[BMQW(8,&_W4?P MVH X%O4[[T5?O?0)M%GCKVWW[?*1T,SQW^AK'K!&,^'8?X'0)(4 C?_$?_R- M\T/03-A3TQ!SCH_F@8L:9NUX@''\T7"_]QYNPX-6- =^\)X#]7,0T>#?>@^^ M54X+F@_^6X:V(T]T],=S6[#970>?JODT./3D7=XZ:!#L=&[R6)C1]G2K02AT M;UA@/P7;@\U@RG#8!5_OB&D?5CX6>2>GV/NP#Y ,P1W4[<$I@ 5ON^MS>W ( MT&#K(\[*?9)Y/=T.XZWL+^_.2;WEHC4[SZ>#6&^Y:,T!]$F4]\]%WV[5;6?' MOWJ+Q7*@44 >@/A[&H2YU@ADKC!=%%:L1X&7%12;0'!6&@NVD()%XM(>R&D: MI;#.IUFJ@K]W?&L>KP^,ML=)QE3Y3@9VFC;V2SE5HV*FOF2+J:J'>\[B##XM M,$RR-'_#),RQ!GS#47Q ^HHXF!X6UL-I'L//=+JF4_8RO-KADO?)@NR /2T6 MBV,-^5UPSWGTR.(X+VT+W6"&&$Q?0/(DF8I/FBG"]@]RI>^ZHM216E-%RE)Z MQ1Z4>;PFK,AP LM,>X$#V\UM-00]4?KJC[A.CF^D172F)PNL\<*$_E0N-*UA MT6P8QU@K5@\>89W.O>*"M=04E:FKGR9"S7GA7:U9G^R YCRH)UM]BD'66KE_ MB%G'O:#>7M+'5R M=5;$44'D; .I19;F3L+BQ1-P%B0C2XA8C6&92Y79J[*<> RDW8,8HNI5)?JH MU;=^8@\UWM?GE26K=)1JV_5# MK96SAI;N:^G#SN?/Z3$O7UPGU^_7H6"*J=.N;3 M]+CPL5Z^_P1I8WDU\X[Y9'2E?))5KM>/S<%HL+>^:6*X65"@?'R?U"X2D8.8 MC1<1:NBV%'0.4PGXM4BTJG46Q=X@JEES^(C&]AXGH M\6<\JSK>4L$Z_-[NFZ;,)H!I+SAH8QD3)/B5VC!FQ-6-G^07[F$F V?;>EZIS< M,ZF'JL?]XY-!VQ'7NMHJ/9DY4Q*K>VF!G%.5/5A6XPF6^8V/UO9-S=%=&S:- MR'-DT;PH&%@6"]'(<7-CI[KK=7TW=7T*1;VIBVL,5>4ZK2@0G?K \:+N! J& MN8]K%-DBRR^18^K(U*T_WO7P??'&I* LOE##4=PBC:*\4@B)KPF+QLD96;*4 MZ-)>+:W=4FYZMTF/[RHI'FV1!E5MG%)YFDF6@$"%-3EE2;X%BV#3/5"4OS,[ M*@-.FPI*VZJ"&E2=C.G\G;$@;%[:85D/-+O,FJM/5*:97M5IM]UOL'9S2KR^>;YX0=#^WF:'FFQQ_]!LHW^Y= M7?KU7M7$*8UYN7Q5,6D,%AE_**+PIKMT]@YNZ;>^RJ[O-]7M/!^49*YD%/NH MD$I9:E\-B>W6%Q:S /1$XNU6P;(0K&_9&\56,]/KM_X5QV% M->DT7"<_<.A]$DP7UW=7=LJS::BN;M0CG:\C8E8Y5'\ Q_A2 B9;=%&F9#T[ MV)BQ4'L!$=_1[=T:K"_FB?>U^^H.LU0UM'1+L:KCF(E5SL BRFI29[;F?N;\ M5"LKWBH^[E/VCQ6?2?3ZE)!C!:*/QOE4:=4*H[9-Y5-);"LZ?#*'3[=CD*;A M#DYLH-4G45$?)38,M!=SN2LV>#.WP*NK2G6!?IM,%Y^F_D4VA58)XFUWG[:O M'ATB+.6?IJ]6\74/"_U3_95;;Y^T>Q4 [,D_%HV+EQ0:]@L^"(T%Y.(UA'I M[?:&BQ<(ZFG'![1\4C6&8/ISE8M."O9)U>#0U4]L\DD+H6?0FEKODP["H:J9 M >63CL(!M"8,^*2H<)!09W@^J2LDK!JG]#XIM%H* '.= @O.Q1MO<>"L<6Q/ M%785E@YSPCU5Y!B9L@_>HPU2O5093W6W3:>UA>-84U?"Z4B5N1 >AB/&Z@!; M_7M47H46<7AQ!X(^R0[D/&)NC_DD.'"PZI[S^R1+< BM"5<^6?TX2.;+3S[) M2'1*?+4.V L;"@W,EI.RQ:N^:$Z:"O)&/WW_ MWY<7M_$"+U%$,C$BL: E)W_+JR\O:(R*:ABU+'R0EA"?HEVQ2'P5??H;\[=C0;+B^X0LO]^6^1ZE*2>Y:F'! M\$Q*ZFX !04_BK[_][.:Q6;%ET%.EJL4?_=]=Z(2ND0DBY9X>8]92_(:VW!. M*%GB3.R4J.ZN+:V29ER3N^#ML;B\Q]&^QY84*UKJ<8SQ#)5IT7V07[8C)7A' M[6M215^<2IP7?XGI\GLAQS[^];$S4G2/T[]_)_NY MIB85\I>R[9CXIZ9YH?5"U06>H[3N>_)(\@;")"5:TS1#^7VUV"VW@$W>$59 MP56B!OHDG%C4],O1;I=S&8'/^9^O%X^^X##TWJ'[%.MH?5%(1>>3K)RP^ -E M7&_]^W=<]ZU/D;^)J<+)W[\K6+EO;GM M51G9HPNC0:7MM@-O&>?_$G4EYI% ME?"A.A'NEQ&%5B.9KI?KBQJ(6D../CF?FI=G4:NY:3[0NG*T_9)R/>2Q.$VK M<>7Z3"TOK3E^9I:TV6(JR>%Y5^FEAHD\H!V.H">&_^/[!HW2L:K\$]LQ)%@+Q(K0;"01P^D6$1QF1=TB9FM4FS9JB=UN155 M09$.BO1!*](W]9XXXUOB>+LC?N?[X7B['71*M6WUH& '!3LHV$'!#@IV4+!= M*MCMSB&_RO8/T9S2Y(&D:82R).+54#8G?"HBE.>8*Z*6:K9Q>YX4;$MZ@FH= M5.N#5JV_;G?#)$O.]WMA4FT%<]2Z72-!S0YJ=E"S@YH=U.R@9KM4L[N<1MZ4 M[83&9?6'T$)QM?C:Q4 ;-M2_>FU%2"]Z]81WGP@2SE(T;] 8&W_O48<]%K*& M871,D]8$9J< M\>^:+ !M66]TBC$RH_)-20\TGC_M0IGV:UK<+[5-NJ])40]4UJM-OH64Y3S0 M]W]+Q K,TDT=T*B@4%+2 XUW#'&E3EDA941]4\BY4E#W[N7>49I(D#.?Y M]A^Q.S])(1M%65]TBA-NRN[H@QQ8DI;T1>,UY2I,^O_(2G)*ZPO[HK32V:?L MFM$UJ2_3*FF5%.^=VF,LH.WTG*MWC_^%-U(R)>7ZIX\NES2[+;CN?[M ?*2F M95%=V"99D])H7JE_RFNU;!^B+F:X4>4P*0X#489%C4=\N^[V=(G9G$_-5T8? MB@5?9"N4R7>,LG3OM)Z1%%^5SZWT-P2^+>*%*G;,)=V<,OG(-9;JG;;S+*:, M;[Y*0:W$\3$MN=#;*(\:HUH>:.%0P5/69J9Z]I09 M8YW4!FWT/(URKYDM>P;6N"%OGX'RIE+[#%G[ HXUA3/+D*D8,^4/JE8B Q1-^8*JD5A@?*:LPM-0+& 94R;AJ2R&OE93!N$I+49N M6E/VX.DLYBY34Q[A:2ZF+FQ3#N$I,O)0.E.>X*DO:GC6U"2'I[FH 5Y3ON!I M+ H.J*'O,VY0VJ?F(2)6'*(U3UQ,0[:\HC5 U%X>(W90VJ=J+POYJR M!E4I,0AI,641GE:B<^R;<@9/-[$-BGOBM.=K-3'-:0<=M;_]1SGQ(:K\0.%#H[C M:OPD3>F#6&1GE)W0\KZ8E>DDC@7,E=_@&).U\*$VQY5U:L,KE\]$X#5B4U8A M",EO*"WQ-6:55)3P9E%S*(YJH3XIBP5EY$^^T[6&K/8/ MK7=A5:VY&;+8/[+>G<4FQ[L&8![ \+U^ZS;*4%$R'-%91%>X#F*S?7Y!W8BG9+ F M1 28^Y!A[K?K5'SSKTE1+/ E8M]P(:2)4%1O4.&LZ]X*/PX M$RT!3X2#)]Z6]SE)".(JS-,":!#GQN5#'0 L>7N\SRA M!CO/?()H%S4-%$[>TU+N)_FU]R4=?![6'!V:SP-L@G*=;>(7SOD5RR<6' M0$%R,L^JFWHBCW?MCR'9/%K1E,3V#\^W:=H3]-.>M (O4- Z AEW[Z62.00 MP7B:[9[LF@I)H>!C>#HCWCQT%O^-YD)"YPK0O(+CA&M$H@ M[:1O06+5X9E-^SC_1HM_NU*"P %43N:6=C-G00&N\+;0@>#N9K8XF W2[D2@ M': 24-O ^:'9:14["MD/WJ/@/3I@[U$;:]6O1^E+-$.$16L12L\Y%Q',U:^V M[B-M.YY\189T!,?0(3N&.D,C1W7.E5N1^PECI M#XZ+3AR<<4E:W;$ZVNS__ ?!C)]0B\T%7N-4L2?L*@_%U^73"7'&\!\ESN(F MN=2BYC C0>5S M$WWY6U%ES:.VCA(/(IZ6A0)V

    :P=B!/7#DD' MM]8-]"_:RCH#N;3=:*:=5JZC-'HA_""$'QQP^($%Q.\WZN"OT1+]F[(HWL8C MVD8;2.M[BC+0]!^B"PXYND!RBY-O+)2?9WPW5D_SY$_OQN)$?H/3O%;O=PDO MQ9+>10@WW3]3%^J=OCH)Q@L"I'<;M67'0>V@SI1CRA6WK*C3'MR0_-L1-[@7 M2\2^*;U%IM4.@1=@\[/9DZ>(83"M-C0O=[Q_.S9>UQB6@P9=S9051=5A>1(C M;+=AWM88+P?#[O;MP?"&/J4CV+!6"(RSSJR9W^ USDI\A9NSB1B5#2[XX((/ M+GAPC&@,'6IE8T!BS$9YHBU.]9'PVJSOJAA6VC"C=:@;Z]#@@%"3%4E;JD&@ M 'OW._; ?.5VYBS\A2R3--1*I1S+&NXLB0_$_VT"K8)9NV;*#VV)<(-:NATU MP>#C#C[NX./NU<=M#Y[Z=77_'*48Y=;IF%]7\^38;NXV^+/?H3][4O*#C-Z3 M%%^()3'-L.(A+4U9]^3)'1 ME,X)YIK65\R6*-O(B;.MZX#<:T9CG.?/.Y/3IRWL%9&>,(:R>1V0.\F2*YJA MIV^>ON#I445"*[ZKOC@M"O=M/H*8Z5_ MT%UPP84MQMO'3K)Y?6+IXA?,*@5?YP&\$2A@Y.GLF5Q7"!AEV>"A#1Y:!\X] M]1JCCI0NB)QKCV]J?UB.UI%IILN @[H,YH5V,M1 X;)N5RX$-Z;;*3:T=4?K MJ370!\#MT+;'!K4"QD!NT[Z.UI%L7,9D._Y\M*GKR>39T&G^=[]'DNJSF_H"B3/"[_PK.G M+>V I,L[\8:/G(BFWQUT.XT+REOD/WPR& E]:2<7K-GRBF]7U67JIA)^KVDQ MG)#B#,4BJ8LJE;2\X(#TJF_&*8J.B>9AW8S\H#&_&:HI[9WRIS!.Q$W3-3?N7ZYES>O@!G5"2$:X?AZ"&\ Q M8J!(4UO%%2)_"E6)VIB=$'E3'MK4[I@$R9].V:5MEB WXLVM7WBK57VF4P-O M!"PCEZW?0*Q/'Z.\X#3<(SY0$2^^XLNURI<1K5*TWWV&$5J&K7D* MW;*B)L1TO<.8KN,%P;/31QR7!5ESRVE&8LPF65)]?T8RE,4$I=OOY;%%'9IQ MD>.!;R.ZP:I4"9(B#CH_YWMF)39.QB4;PS%O2$&'OK23)!(X)Z*+Z4QZ,TJ5 M5<*VM@.2;[@\8R0N<'(K!-9O_"-7LL^S.UX+_Q,CU9C:UG41;;? XLNJO_,J MQ1)?]M=>?RM])L;C!:77.Y@NRNJ.*9'?+A##U2:^1IOJLI(VE-)-JR&$SHJ# MG5)2G0G3E1AP9=B*MKQ7ZL79)? 5Q79I*C((C;-U*N$OE/@ND3!4$026IKB"F.UH820U"HW-"-96!3:2,O0K!J"%8U# ALMANI3WT! MXK T"3%J)#\@)0QT@; M5NF3.%FDI&6M$ D98@E#+&&((0JISX;W9Q]<-,EX @V"VUWAFS#2%=%A1#LY\@4_M"UXPOX,*,C0![O$/*X M6^ ?/G[Z+^U%\.9";@B8+.\93E,M#=)R ;JP,[?K4WB2)=-B@=DUY;3@@K!* M9!S5 B(W?]2D:W.>KP'N*#, <-2%!Z9;"9;HBH^1]@#Y!,@G0#ZC@7PTPI/: M"JO1PD FIP@X:TX[)]1,-P2%,+A;FA (L>SJ-&N _@5P*\ ?CF*$')C,OE% MQ3Y'>;E<(K:)Z"S*R3PC,Q(C_BN*8UIF(O T6M&4Q 3G42'FS!8OZ]"#)R2M M,X4!8WN'&-MMO,!)*>)ZCU&^$/\__:,D:Y2*L#\N YZBN,5OE;A3QO2X:,^O M,;HG^'=,Y@M.V&2-&9KCJU*(U.FLBH;,E9P[:2M !@>0:<9HF=C/_RB@#15; MD$" $:$9P=0(IL:83 V)"*#.E0-P:(:<#65SP@F.4)[C MMJ:99:N>++165 5#[9 --;T3:R$R&.;GV=?MTK'R6)E5=DKP^7Y53ZI%;4.O M6=V!O&EG0A)PL;O&B16/#EH:B./]JC'F3%IC( Y$!L"9LWEKU=H@G%/5&CLK M"ZXM3):4%>3/2A,X?11I<[#5<+CL(@ 6 ; (@$4 + )@$0"+PP,LNBCE(T0H MC+5!0][ZSXS:AK<.NJ AW_WG0&W#=TO;Q9!G1RE/76[7'KC\$0"7_:OS?G'$ M'R.&US@K<21&(!(GF+@/D$.>4,4NQ 5P\9#!11?9 M%]!\SC@E8K%.9S?U0C.R]*SJ!@ @ ! @ 0 @!P> ! AR/1KQ+]4T0R M3A*7P:VOE:J:\*00ZTD(:F]0>PW]A_5"VAR7C.WDD(W#T*1Z4'Z#\AN4WZ#\ M!N4W*+^'J_RV.Q7]ZK\_1RE&>5O55U+;D]:K[#THO$'A52@O%V+EB)?2C+08 M36G/E."-COT1QJMU/OC]VBB_\)US7[2S4!KK>K)/%'T'Z^20K1/MC;%I6?"UDB75 MYBL*S/+I[)CAA*C-D8ZM#.11V H4@CEY%S2;WV&V/.$;P]*S8-=,,%""@1(, ME&"@! ,E&"B'9Z X401&:+ATTP;\6BV?/D:Y>'[RGAM72<2+B^L#51A4]3AB M.W/&KE%/=DX;HH(!=,@&4&?-[XIF:[[V\+-TLM5;KG5^U4E4 L>4ZVR*Y5SW&>E\OZN]9CT[V38+L' MVSW8[L%V#[9[L-T/SW;WK'Z-VLIWKU48#@?,#!QN%%##(8"4C*.[#><9^_D2 M;85D1+(99)<4I1W3 M#EH<"OVHY=4-7HE4/MG\_$EN'6VV/UK '&U:\\MY342C5%*6@4VE,P':"7,Y M*G-NH>3YEK2\0!D09.;$9ADA>.S,4ATA4MP%FO ,D$:9".##$9U% MM+Z'1+.<2YD"D32/A#PHT7X[FR*E5HWZ@DQ;$!6PT_>(G6[SY'&)/^^6N@*P->NJ@-BC^ER M27*A]YQA?,UU.MX)FHO,_(SF^36C,<;)ZXEM4=-O-.3V=?G]C(X*-VMRBNTY'_>,93E*!:"4 T &E<\%'Y@H)P!'W1,)Y]P(?YP5'PSC?6> MJ'8>:/N39;P(J=GJ!(=O6$P0[:)K@L+D>EK* 5\]<'Q5NBT/#5_UAS.:L61H M9X%#$DTGS%[U!!=;JF;5%D$NNO($D;LC-0#G[Q X M/T+9MZ\EXFIO@?$TVWG[ID)"G> 5S8D"H;:N[ *CYF,PG=W0>"'N-+!)EE3" M;3KCLOB?E'V34VM7TPF<7FV_2NQN\P/>X%5]%T>2R4 M!;N#9CDKG@%F_-/3ENN=1KZT2A8O4([W*,!K M>AHE::NZA\'-H"X(<])JX_KK%XZDJ"R;9M MQBNO^SDX(/_(',;R0MZI9<+F#6IE.NW@RJAW*2*YXLQN^N#QRA?2*AN M+C0@G?Q %/^<_E'RA9L*?*'Y6X67HGN#(^"_46]RV>1['H/@FA[>-1W7%@[>%#L29:X8,@-D@ M[4X$V@&U [4-G!^:G5:Q(S]I"$D((0F'%Y*@ B]&&H?0#+/P-_F-YSD2S1#A$5K$X32*EA\@7%QL0Q8O-!5[C5+&C["H/Q=?ETWESQO ?)<[B)JG6HN8P')UG MJ[+(J^']HO0:&M08AH.F<54*#XN:A\/1H'*QB;[\[2:WYE';QF%S"6].N9W' MCQ]^/)F)$H.J7GF:%@O,M@?H[D E6!U-850GA$F$,(D]BC">, EC8X?:FQ80 M^;140:F3TPGX0&C55LTH*#6KT09_6.OU8)S8;>9*M]"59S32=J.9=EJYCF(& M0B!2"$0ZO$ D5PX,OQ[UOT9+]&_*HGB7,KJC)]VX/4\>=$MZ@N?\D#WGDOOG MNZQ&EV*E['.GOR+!H*0#4N[P(\K/LYR+LDH!/<]BRE:4RPVV@OA-^\(FL1/7!=T/R;T'@1OZ%/Z>0UK><]!GV^?NKF2/+EK5#;XIX-_6HJ\P'57:M1F M:J6Q0F+,YBBF+YW[($Y MDNV,(_@+629IJ)7*-98UW%D2'XASV 2H [-VS90?VA(O!;5T.VJ"P0$<',#! M >S\JK2)9\CO$>#,L6V.,/IU7?\>/^],3I^VL-^\Z8RA;%X'Z4ZRY(IF MZ.F;9P_"J2^TM6SE\#D=U&G%K3$F]N<)KO\]S_;/C57[=A\^)^'5NKY7[BH2 M1& @XR->BJW.E@H/M:[XX+0K_:+Z"F.E?] =/+GJ.:".5$V(G&L5$VJO!HS6:VVFI8'QEEC, M"^UDGH("X=VN7 @^:[=3;&CAC]8M;W!>@MNA;8\-:@4'@MRF?1VM(]FXCF=> M@KR" M8FCE(O ;W_ +EXSW16]H! M22=\I3Z%AIXP]'"-&:%)$T&ZLL[).1=/B_$M=\.WUWEV*AZ4F:&IA)^[X@R MG)#B#,75@:>Z+"TM.""]ZFNYBJ)CHGE09_-+&:)8'_*" ]++!W+[,),1U6^+ M#TC[9T2K;5#H&780/:&HB[1(]D62[?;%,+_G1-^.619O-">%^Y+-*D M)5(5'91F]0I3%AX;W8/NA]U;FV>,+L_SO!3)?*C=EE )+^85O?)S@]J$H,>0S:)3A@PJ3F=H:0!#Y4ZA_U :F@#"C1Q(T4AQ(.Y#$4VLKO!K51C"4*U M7B20:]2E-#V0!$/FUBZ\U:H^TZF!=P_F*NVDTQQ(:B%3?R>X5:G4HVDKRQKD M*FUO54 XZUVJ;:81,7[#]$+$L6C9NJ?+%YVH"['MO>H1D7N1CYMJ(;K$II M*"GBH/-SOF=68N-P-8PP+@DI4]"A+^TDV2,6+]"*DU::RT.5_=&VM@.2;[A\ M8R0N<'(K!-AO_"/7]-G0O;9A?:CS5.1 M:[2IG%4/B"75?[845KB- $TK:OA?T]D-CND\(W]R^5F)PF.:%_DQ M6A&N18EOE?=7>NX-WLA=T6S-A2"NS^+\CG*ZG_\N^+FBQ3]Q\<1IE['KTM]A MC%Z]3LXHVWXERLG>'!Z&B&'&6>@)M2ZCC%;7EO=[?X#K,\)MK!"A344&H5%Y M-Z.Y$'0Z!ST_7UF^FCL6BK)^[RHT'VEO+) CE;%6BP^9U.JCBW&,D:65YGK\ M6G9_(&/[6W4([IBKCL$S1%B3+0Z#F'&,^^[!M>K7?%(6"\H46F!O_8QRM-:( MI"(PAVM:U=[K>=!DW8UC[!J%U.]8 (-2F$2VF9C@M)'[T;FKJP!<\V@0'"1AM=@TI" )FKZI--?W9I4>/06W6 M-H8K\(VHG<'6T=;@6-280^VNPX!)9N!"HG:^C@8FTX&+T6A[HZ2FNPW TH.3MZ3]LWG! H"7W&32$TW#,H&4*\A!49JH,>G0,Z?-B>4W@ M8#I"4/1E_UD<3$?H8'3G3E=S3$<+BC(]=*H+T_&"IEY#N([T-'80\L55/T:T M8B)"(M$=YW.?26W%QR+CG!8D1NE^1!TEDVO3-9!,<^U)#VGH]*C?>-/0#7ZU MZ_21:P8D%ZA1#2:]XK/W?D+@?WC&;G_L0@H!#PZ8X( )#AA+.>Y95_T4X2V8 MN]6P5B6+%YQT)[F-V[7N2^/L0EU0*@]9J=2D!:["8*ZWBT6=,=*PRI!Y0$]( M'@OW2V,2N3Z:]IL1L'9#X:19;I\^BC]EBJ%=Y9"E*V3I@FVR[O:C>%KB$K%O MN+AF),8[N21<1ZZM5XLNQS&&[S=W4#5Q*C9?%/!/7RY>2^*TOS*KO5.2J MR@=0Y0"R*=07.*M)/BG9/I*@GGRI9B8?_$ZM0>"\\HU(2;7CVZRM **%*_;A MPKGNAH65E0@*\GS7%\X#.AW0Z4-!IP_[>H +U6VDT?\.U+>11O;+;-*11MT; MVJQCCIOW C"-+)2^/P1^I"'T;4!YSU[5ST^>Q7N<\:Z*RJ68=_6GVK;KRY/: MCJ[@0WV'/M03L?+$CLT*1N[+ZKX37RI;381=HB)>B$?9G_W^XAI0DW_259O] ML7>)'LFR7$ZRC.\"%5V(;9X74C[ZYJ912.,@6<@Q;CL&!@V.A/_IK/K1 M^3"\:A?":+R0<<]_S'62TWW#HQF/5MND31^2&RR]6::$&L3#JP@/3K8P[ MT14?(^W#1L\$;[L];F]IZ[\O[ZM&N%#;S3Q:CZR)E 7GF]7."36S6D Y^]PM M30B^6L>SJ+'[@A\Z^*'M. Y^Z-7^(YI0F#R1-(Y0E$:^&LCGA!WB$\AP7>10O MA'<^Y[\\E=PZ1"T=ORZZ\N0+=D=J< \?LGNX,RSV=;MX)(#8ZY\'H>V,,DSF MV7')&,[BC7C0(:^SK'_E4WI!1H96 M=#UMX.K;Q8)_6UD($9U5GV+$V(:;5-%:!+Z+;TFV)1>G9(V;&NQ?6>^%3H": M?H]\!C,AF D*U>]\OZHNQ*HZWR^J2;6F3A_CM$SX.M28$VV;@<1K:VO$6;O! M2 E&2C!2@I$2C!0O>GVW0VNDQHSCPVKL-@Y4F^90;9A@LP2;I7/.RB5E!?ES M^WC::PDFT0S-*GGEXZP'6\1)FU!&X0K++F6850KV5+"G@CT5[*E@3WDQ+6R$ M\DBM)X?'Z\CB5-OH4<",PUE9E*PR4O8<1+A.A]*7W6?1)123SIKD8*T%:ZV= M?O] 9R6.4_A,CV=-I M#EL&/"*"S#-:NAF$UXT!Y_N.]RPST3JV!IWS!^J.[Z>V C(0D(& # 1D(" # M0YO-[324PX,/K-76D>('#H[MD=YO=:*HC?1BJPOMW"^:]'.48I3C/%JBHF2\ M%_XGG=5?1BE!]R2MOVR''+5MWA-*U(V\@ @=,B(D22QZ@?EVQE.NOB*1F.!" M+)6+[4K9W-$C?(U(,ID5F$DL^8ZM>#61E&1N$XSG)Z7,>+*M#I(W0ZBN:W,@ M>=> 46V; VO'(MH5'"EZ9T@$<#/!K@T0"/!GC4"SKBZH =*2KJQD(8*1[:2:,<*1+: MT6(8*0;:S2@T9!I*)C\G8(XAS]#R]K5#=PR9A?;D+?HM#]EMT!Y;X"KKC*^B$ M+R 97M109# :+_?K_P:OML?.=';-2!:3%4K/,U,$WT6;<$=!BV]W:@PXWW*D MNT-34'FV KT=-1N@U "E!B@U0*D!2O5CCCH5VV,%5-TI;&-%53MK+V.%5ATH MJV/%5Z6VEU\0YG.4E\LE8AN!.N1DGI$9B1'_%<45%"8R(JUH2F(!3.3Q B=E M6F5'BE&^J/^#_RC)&J5BPJI;NHQWS$AYD7[3:1%DQ@]5G6]<_6*K)O]9MF2_?*+9R45W'9N MT^LHO*1&PE9SH8 (!$0@( (!$0B(@!>SH,5).E*S7W7OCNJ [%H\T^ MJ.DX17G>,,16=8;AXL6@5C(AF68W."X9XU-PA'*2_YK1^QRSM=!YSK-56?"? M:1;S6M6TO.:I<1=X[S>,IHM^G0FK3J-Z^718_4Z*Q1M.\I>LO.1[S]8NS^AY M)AZN$)D6IORT8\=TN6)X(0RA-6^.'Z/25&)#TS.*T<\E[*K@O%[["H!2 )1 M DIJ1NQT!SK8$3LZ$*Z%4N9Y7>CA 7]S3#OIY*#P3+@[JA-TZFCP KP=X.W# M@[<]:)8CA<.!6#-^<>>?(I*M^2?*2(5W/OW=#BTV;L\3QFM)3T!F#QF9[6P< MGF_7ST;DI\P7.!%/?8K':J:S&RQD!)99MQ8UA^%(_G9:4Y%A:+Q!#Y=\=S." M4KM!UU84&_R:_$2;RG9;\T M;LO5*N5GPR1++KGJOT#B.CK^5<3\5S;>/'NNA+Y.D>6BS0#-!6@.)#07C.%@ M#!^>,6RK((S4LK56&T8:_>7P"![I=2YK,V.D=[?D-HDA0U#R7IDJQGY1H4\? MH[R@\;=[E(L+370IGEFH@]M6*;G&.QJ7]VMY M+A##1V)C'S_;UQ/&1)BP$ %'FZ/9PO'B>SR;>Q[OB-Z0_-L9P_B<'WSB6K.O\53U"VLT MOXON;:22R&SQ236"O788 M<.R 8X/$LI3;H\.WC>P-X?OJ ?6L3)#^C;(:)>/M$Q$9PP4+J.VSY>7:-&:')[YC,%US63-:8H3D^ M?>0*,N>1C5B7WG!8L_"5T9S*>+77T^C&K%I M6?!3*DM(-K\J%6[7WOH9ZV@-( $M>XCUB>B%B7./\4G - M,OZKI9(_P[_WFU"J[+1N*#C) O(= MD.^ ?+M"*\UTV_>&='?15M\;WFUJ38X9WQY"5QSI[96NJLU([[@,:;<9#AFT MI^%[1_P,QP7:*_* 4&983KRGV13*V?AQM[2DX MK!$6!^NK([32\4^XP-X'M0PU^%;$'M .9D]\JK@>3]F#-3NP[PJ',1O; M_>H0ZF'OC;8$=@\E]"'<#P[W@_W?#S; WD#%RPRZ#\+=X! A%2*D0'E5NX$@ M[RURJC?DXKV%576"G0\UUFH8F'BLD5B#H&"'&K\U#&KUWD*[NOJ8WUO(5X]N M86^Q7USGS6E*$E2'+VV_SB,ZBV*4+Z)92A_RJ,Q0F8B)-P_S:MEP_Q%=G0@+ MP5N''+SU=CU7#_*>9S'#?/.?X/K?\VP2QUQD)=>,SG N;%N4GN$WCVNUJ]PG MP;1'&+ MZHZ)/B-\#L43*"2;3Y)_EWDA1,HTNV9X36B93V)^4N25\-(QT*(I!\RTSB-T M0O*8EOS#4ORWB3G'33M@5N0WNJ(%;@Q:5)3P&P:ZGWMAM(N#J=)?[NCNB5A\ MA8OZE5?Q%NP=/>9%^$(2B<"2H\VO>?4N[*IZ.YROI#HB63Q5<\^U%13+WIKS MU:W7L10TBO\+?6W-I5@F'MK=X>+BATF6O/SB6*F=R\8MQURSD(SK$"2,9XQK8^+MR;-E^_11/*TTQR)MV^ELAJ6K=Q@B MO([S";XOGBP.18RXO." ]&I#!'3%QTC[H"$*)WB&&1-268[PC)?A6T$R<"U: M\,KACHII)BRZZ8QK;WS(BXVPD@HQ6ZOG3L]7S-E5]LK7,U%UC8@L.E52RC>E M;TUL8>1PDC:*R"SC>D"XX38#YGN_#4-OJP[/DP!!7BP?Z[E2MS PA\=< @L3 M[7=2+(ZY$R3A&*U(@5(->F'? !3^+L1G^]VFJ3\T=\(=5NM!19M-IJD/@3L! MDM4$3O(<2\TIR]JP.&L]=$4R>(7@+*$#_L&@/*G.>G:-P2!W_,J"K'#?"H: M ,I?N_DT: @"OPT.'SL^%0T Y:_=?$+SC+UPYLE9>5O&*Y5;KW"^-;;N*+>> MA7VYH*E $\\H:P[ADC#4M;E!>+^CE>>?X1>(FT@QID'L[!L8EK_;!66%<,#7 MLJ_ZT90U55V_7#V+Z!#I&/FAC*,LI0_GV8RR M91UEI592+&N'*^!>KH K C>HK-3!W>761:^ N]"MG0]J$%L(ZF*NF_48[E2' M.]7A3G4?UY:Z0@S@1&@'AJ@17#'2Z^!^8[+!+0MO[+\XS6S#!<$)D2&&3>=% M KJOTM7X#(Q#+'^V@3 @LO*,,R1:G.C M )RL,U/5V@:@@5.Z6C"B' 9=7"\X]-H@>7B*G=0'3)!P(NMY+KM6!Q<<1P M+'X!/A8=TJV8JDNC5AA-;DN9#L1X%4>C2Q"FPS!>+=+T0H'I2(Q%>6P;, M. M?^SDU#*.@P9G2'=@B+I,#P7.P.XV,%VC6\%9W3T-ASXB%IRQ[68DVEX< 6=Q M=I*;QO>!QB(W31AZOA_LXJG'(B0M1\$LA'DL(M&0^6ZI(<X6B MS748<(JS+143)\4HL:'1FRK^>6% MVQP[BG:BSW )F=<49F)$;\5U1?U1-.N15-24QP'CUL7W6/4/VL>Q17H851 M7H64M710]DB!)S]F[QP$=^9J MT!U]BGS"C&Q->.OU^72'XT5& M4SKG4DI!D5D5!\15=T'SW(PL;6&O=M?7[8Z7F%2O?_9KI=?:K#*VM;$,;"H' M#;O=*P1'9&_!<8!!7LR$##*5Z M^TU/")6V(RCHE"&A 9EZA\C4+K7U$8J_\<-3CK@H"P:(+$!DFEOYE>\#LULZ M*QX0P^=[F52]-J&\!FQ5UR]7VTU196X3B8<69-4\)18UO')P)@XB?$'6(J/3 MBV'-)W%<+LLJ)5W3.X.O&&O?$!1^CS:7Z-^4':?\D%0 >2U:@,+A5_;L#5)S MMEY4@\++TTAK4S>T;.7P.1T41%?0>H5ET:YFE3R'L6[5^4Y2I64KD#BM0QU( M-M>XP]HV XE7BSW9H:7WP_&@DJCQO#-?S3:5!^6+2\BV7*FJ>N7IFFN1F4B2 MO#-K-DIU6U=\ -K5]D%C&=BN^'%0&0(&0L" DM;A+JC<,91@<1:J18.LF']: MEXA],Z"UH5@(Q B!& [X:VLM48=J.<1Q:8--44= 20C8"0$[(6#'^>IL#3># M6ZMMIF5G=E^ M$]X$3F;(!&_UVH^?8QR\0#WO4A+5.4SV;TR':U2E$7\ MP!%.._%9Y% 5&6L:BN)'\3=N>>.F5QH\7<;QP$.XIW/(]W2Z)YNM5]@VS=:; M1^-/ZZ7UBOAVE?WR]8!8UG/D9YJ*EQFR MY!*Q;U@D[S>9!--J?GEI/&6?IP,]VKS-%BH.N:>3+DNNN6*I#XRX,-PLKM8U[M;"IP_E9K?JT- M>7#>5VN66Z!\HPOM"M$LUF=*B&;I^3&1%GX8;PYC/NTY34DBZ(OV7^?"H4GY M9JQO9D1EALJ$\"+F7N"6#??OVNU$6/#7!G^MUF-XP_6)K)1!7(UEO%+Y^KDB MU1."RK*#4KU]@,J0[E>E(7EFV_EDA^%$Q#I=,SHCLJ1>#24&\%-><"+J5[K$ M@] E7PC3O6@_PC,J+G*(6ZPXD0VQ3G>)7-!/J$#\XA$ETSL\4 MQD\5I9>SUQX'&$%.YW:A'?%U*)]O36G?.9*J85/O*TDIKY1>X>)IV4CH;"SC ME6&I79R+T1F+%NYVO+#4*]=%XJ2?BDN%IAQN45?TJ/>?&:5 MX,2"R",H]'4\+F&7^OX1+;"EOK5L:(G9$ M/5'-A8*?_@ R;86GX,-3\-#C+@*@'0#MPP.T.VL(X+R'9GPKD#MPSD'#1Z!D M:,U([UP:VG3@HC#T=+_UU&O\1D DBA5G%F85.!%BQ:@5M@M.MEBQJ@&'P F: M=LS)L!A#]OQ=[+9B3PF5&K+F[_JVW?)->02J)'5"(2'$BHF, M%PPO!#2TQA'>3IGCN#'33@:-(;,C,L23A7@RS4NK^\54G]W\$)_.Y-X[@QHA MTJ'9E]TP=&=<+R;S[+AD#&?QYHZA+.(0A: QRF+:CU&^.$OIPS]P,L=?N2P07TYF MA<@/'XN\FV1&MK=V,@$HMQK*[AT%SW&XX;W7WH*G,7@:@Z>Q3W].=\0"F@^Q M[Z,)G+.@V[!X4'[ >2!,G=&&BKXW>*#*F?DEFB'"HC5*2\RY1'G)MK9Q2M ] M27F_.-_]D$2H>%Z>RWJ&8S[7W&2.[E%.\I;91WNFPE/^42]LU%Y-T6;_7$C6G65$6\&A1'VS?C)O$?)>7X!#.RK@)- MZM3E$G9DQ0:B=1=C*!()*3>*294Q\S#H/G\B[#S+N>HK%)$;DG]3;':3*EYY M../JT6]".SK:[/_\!^%;D\6+S86(.%-P8U=Y&+[.LU59Y!4QGY095 UJ#,[! M9VL./@/CX(LU!U\@<'#YS-1XN]25XJM5&X?-Y:!2>Q>I=<,-R]L'M%(N2'7A MX/H(KH\]"@7)]6&6[M7R^*9.9!K$@3#2RF@;K1HBMSJ#D[9GW[.RP<%= MD3&?'6J"8('R9?:Q6"'D*76X:-M87^#6<+N3I&D4=&8;R.7MZ0B&L/*'6@R- M%C X5WDOK#>:SGY9=RCOS+$S<%+.2&%LN&6F,CM!RC.7FG1X3#S$D(48LCX" M93H[Y\ =GV9\J[UX?J."?HQ8G34C$IQ$\5;\Y=$#*191O$TJB#HBY%:&E7%#):6@NX:3K)>''85+& MO G=*M46=DT0WZGB#WX6BRVZ_:28*NO*3@AF:Q(+>5(M%!,B#2HX(.R.-[Y$ M*6^?[V8%/:IR[L@0Z1//#TYG+PAHU!*-RHZ#6O?!)QJJMZM_ MRG8RHWD5J(KYHC'G\FS;?2X=66W9<5 [:!#2Z1]<8]UL%0*"\Z/-5GELLH3L M*@W*QXX@95"56:6Q\S'H^GJ'N>]#>-Q+R"V$Q[5D1'L84ZMS$!IK"FV36BEZ MD!BS/")IN\-H=/%M)M8%&&>YV=*C>E02E$.UXY8#'KEC-V=&B.#HXO',C#=0 MVTQ_=%%K( ?_/,V2T_Q3RMJO5V& M?3!'9TL>U5$N8([*EMR9A,^ .3=;\J@+^ !S7+:6L_*X"4/>_#VY8LF;45Q* MB'D/,>]V'(>8]]M WX-FG*4PBW.2DA*/L= M!F7O'XBY$,OC!@O6=Y_N,%N^(L:JCH=0KT>R+)>-$0/2W_NGBH^&DJJFWWNG MZ@9EO6H;Q@"%4*H4I2@V]0U%H; MS_/VO*2:@VN482P2M0",#T$VXE2K9X'"0DQ7%'"\7S<;&MBX4J(H7C149%DEE5C@K#*@Z(VP:]FI&E+=P[\GN\?T:=;_5*MDM@B4WL#5%1T#K8/B[,>4K2@_R_$5S6[K T%Y+U5;WBOU)WC%<$QVCW1.EN(5 MRC^KCQ+Z#6IXY>#I.=)=] #)2JY8;34LOF2.,#^>MT].WJ%'G)\^%@QQQ9!D MB&VJ=<3GHLI81E-.VOQ\F^!3,@(>>O0\@G7GIX\K$8TGY;JQE%=*^:#1G>)< MCZZ:9FWY8;P^VVW??-09E@X7UOOUJM2#KGQ5I[$,;"H'/2GWEO$NP^EN92NR M:AC5"?[!X!_<(RSC\@]J# 5JHZ1#XLUN_U(CH3I*SZB))0C*3:I=:TTHIDI' M >7AZK[G(/A6'5X)M#A@P2Q3M:R@QK@:J)7I1F)"6)W=9\X&?X3GKE3R9@AB M@IDQVR/!$-[R.VLAD",$((?#2U-01*<1W][PUY&%C%@C]",-&%$BT2.- M!S%$JD$$?I"$?T-F1 C2"%5O];@-_##H8-C #V,"0^!'"/P(@1\A\&,X.D/@ M1U^.E9>OU+URJ#0]81<"4@[:21Y"9P)<;O"LN2@)E4 M"5A,P&("%A.PF(#%!"PF8#$!BPE8#' LQERI\P:ZQ/M .IQ$]X@3%N,H7V"! M'L0E8Z(,IYG01 2"E GAY>"R/N$B=X9S<>ZB] SC7,N%0:4A M^+A%*:>#+I>DHLN(#74=WUR4RS(5DO9Y^AC^=XH;\LA(#THYPTZ;'VILIL4" M,SYCG(6%T!;7^"D9$=]/TYD\IJ=E*WXY39+JW$;I-2+)>7:,5J1 J8PC=>EP M&7_?M48:-)49CLK)?5YY(4VH?5W6*]6[FWA\)]V3K!(<=3*P.:=,7$ AR38A MV 5!]R3EFH;(^J6<"R=M^DWW@/(%%Y'B'R$FU_Q,$;<2BV/$V(;3_1M*2QF\ M:E77F1*Z7M/"M0-B?<)-K/^.GC-NI&0[=-5<\\K?E44[:1K_>F(EYI MK)Z^7- T.>>:,%U7F$_^E7$E6$*QOH)?^I^VEHS@MR6&HI"?B=4A(X8/LUP< M]\5&3[:RVE"\J 4@$(GWE@R-8JVOX)=^FLW%>[LG^%X#+2E*#D:Q5M%7%_9* M]R6*%]SH8)OG2(=*#NHK#).RK9+/AGJC624(?&B7DG&] ;FY$0],3V>_YK6B M8L2)I(Y?+@14MM6MM/.@*NN?:N,#2U-Z4,K-!EU9P7,DW]:*TQK>BI*^*5XA MDFS3?7.)_FP9J]>-14T8T90:!T6248?(PHQO4&\X5 X@)7D*6$ MZN9" ]+Y%F'52E7[!CSS5R"N@":GB&5<6\A?N/=F)"9RODPKAMAI_['3/=!I MB#@ P1C>DJ$YLO05O-)?O75C%,RB*.F78L8MC9)MJH&L?2$JI4U7/-P,"'&] M(:XWQ/6^8LD@9@',)0XSFI^GS[1WXH.;1F-F5F 0/@5G K;FU 1W#G2"N.^PDK!W<>N5T-;<]??X=2*WXM?)>&#/\5-L/- M\66&O/T$FS?[N#I#OG^&S;=I#*HAM[_ YK:ME\-4.0&NBQG$*YAR"EP/4S\[ M $0#,;,:3*/TP)D+!H0_9U,7TP?.0+#CSR;\#)QU8,>JR;UE<)O1CD7+.P_@ M%'SK"36^! U.M[=CU?YV$3C=OM7KRE MEN"&/8^*NA,M83S:>GNEKRN/4+4AAQ>\38<"JM9D&KIMRB=4?4EZ"\^4,;C: MD>&5=W *KVDDBEET'3A;VX#PEUYD]4T$<+:V'7_J% ?@K&L[YHR2X( SK^UX MM(W:!BANK*:T2Z8F< :W'>]F ;;@C&P[)G71YN L:SOV[*[O/S'K,Y/I_NL\ MHC/^Z8G&"%=$=LYFVJ('SQE-6U/8(JMI3WGOE*\Z6->'D.M.S9%)'<]<_+O, M:Q-@"W[?47XF";Q4K"5^6I]1=KM #!\A+J+$%/#QK^Q;*8^=6QQJ!.ZH9((J MY59UP"_I0;D&?YWF)DY.2\35:G_CUTMV%+E2%KDL6+[B^((*KY(/?J34X MG%_AA^JG5HR^J0R'KZ>HQJK8Y &QA*O,,_S;;V5#$/BM#!2IJ+%CV:PM,%RW%%K-=<%PI9 P)6O%JV&+ MH$>@A= R:PL,UPY$EKZ=D''&+O^)TD33EA^.^FHE3&(^EDP 7GEQB8L%E2TG MFZI#975QD REA;4'+II!C9TU._H[O%#I/B5/4]X7NXFAK3 Y<'$;QC-IX>@ M%[]AS*0)W 4NMZ4RL1@;H606VE['W)2]1O0\[]76+K:=(E_@A#]OW=;^MGXJ7(IJENXO-J0N?Y-T#[3/D&IY1U SE- MV0:IM77U*9LR#TVW<^"8,F4=FA+H+-;3= "@:8!M8@Q,>1V)(J=R39JR"DUQ MLW;P ^$<& !4 M !I;G1T+3(P,C,P-C,P7VQA8BYX;6SMO7MSY+BQ+_C_1NQWP/J>O>Z)D#S= M,[:/Q^><>Z-:C[;B=DM:J6;F>B%E$F69+*GWX!\%&L*H($$B^J M?2+LZ6X)1/Z02"0R$XG$O__/UW6*GG%>$)K]QV\^_.[];Q#.8IJ0;/D?O_GQ M\7SV>'%S\QM4E%&61"G-\'_\)J._^9__X__\/_[]_SH__X0SG$___-V'V1?TX_P"???^N^_/W__I_,/[\_/_\>\I MR7[],__/4U1@Q$!DA?CG?_QF59:;/W_[[G_+T=S1??OO=^_???]NT M_DW=G/\V*=L/NHW_\&WUR[;I2=X75T3C+.D9AC*,Z0A7K<,LRBBU6.%_W? MI7E^\!G'\0/'\>&/',=_Z^NMW&V8;!1DO4GQ;[XU1GJ/TC%*[R$^[M(V9J3!L&?-)EY8QWV++\G'+O&63G+F+(H2;F[R18T7PO]WI 1,*L>E-I7L%*^2]"\'O#!D#7[ M/4^[W%1BTBG[DR-1X?B+QM!81,63 M&,&V.%]&T>9;+D/?XK0LFI\(J1(25?_@/Q]748X_LGT]N:#K#%T8_N>8!ILXU84JT>FWM,1S>DTR9KB3*&5F M5"E 7N(R(FDQ9QO&-DK[M+O>EQ ]KT;!M1QS%&A.48L#M4!0C0354/QK?\U) MH :<-12THJ%QOO];QF"2?2G&@UB:)A;VJ!!,X%F0H*M.VFC\@V:B;?IY#Z0XM?K'&,V MOY@)1>G+R1VB.P4GMP^?ZY7':9XO&%%$:JJ('_V\?6]W<+)=>;OC,^AJ8_K# M>8Z?<<;V1L[3<\;M,H]BIC9>2+DZC[=%2='N M(^1%A/^5B?#-GO2$!'60]Z/B.,Y05T+WI_.4>28P>9-\:U74CFAXD;(_,2G[ M+*A.2,!DS!Z5K4$.NA*K'\X3_%1"A*KW2ZLB=4#!BT#]P 3JDM&[9!Q.25\TI&Q5DR#PXD_#OSPN\%/\FG>0 B&"K]&17GH_3ZH#47<'CE9@A3NG-((_P>--WK@>$F]]P=">B?^BJ_V81'3]H1U3]?MW M]=GY-Q-:Z@$DT>[!JD7QFH02>L%DN>(XHV><1TO,]_HUTYH%#Y$6[K6-'OUP M:D4-YS3UQ\\U=C2KL'-+EF%'(@Q>O'T]H2E#=A4"1##\9V*D)'HB*2DYXOH7 M#''9;<\PYSC>YCD?'K/["6SU.\;@*>_#"&OH=!$>G]OC;WZ5H*CL?L$4P$.# M'WWD^">I"5S+DT&>BD4A\7;N_W%;D P7!=L"GD@F/"1^SL7@L2&QOQ4DX5<% MV8\;$=I=,/CLEY(#??,.@2?U<,*NUZ3.U0!3&GBH@^\,[1&B M XAGK0;;L48J3'&4PF!!O*G].3(T(#XS"!C?;02M;"D."V03UZ?F>ID#8>FL;6\C!RSH^0KG..)D)SFBI+Y8UG.W M;V!0LS4W\+E;E0J,ORW0-DM((>Q^9D+1IY0LJQ. !&-XVJ5=W_[.W3U&J?;A%EP(I.+ MK$64)\JR+6NQ$7>,"_2RPEG[^^:'S/- .=[0G$/F^JSMO[5M^! 7[?V1#2V( M&%3"?HW>,0:F'%6TV>0TBE??_,Z_06B@7:@E,?/OIL4KGJ16G)/LO%SA T-R M<9[B9YRRC^-VQ^!_W6\9!_:H7=?-&2Y/[IQU_!-P\2ZJ,;'%C]B8#CR[!?K, MQ\0ZD-E7!P[BVW+[W,FB@2OH6,#>9EIXXHU\JPO^?=HS+U@!@<:Q.HA^/"C%- MF/& 3DE1M!]BE?@>(+8S(BY4@X7^/*,Z\>=N\24JM[E8='>+SS1;SG&^YNGK MV@W4)]%DYSK!=9-9=LC$A$+ANF<@Q)7 = O A?BP)! M-K("7?DAT.FBMN8@G(? /"":\?9TX=I'4"'EV4L8@C0A/Z&!R9?0&_<4E(3 M@J^@/K-3\,YY.#$2IU(<+_]7'.7YCN>3M %&DB5XP7;X$J?D&?=UZ-JU=X(R M6%S ZF@FI"P.3PSV9YW\7Q?U"/=G"#?M",_%$'OZ?)N*QK786HUG.)3%MZ/> MIJG.WK;Z^OK4U3^G=IJ@-K*J?>R<:3Z-'^H\Z1SJ<-?MP]!1IE.")B>83H"Y MUAKM%9;ZE@7"S4EF2A9B^5='F;3"AM[Q#*KB&_2.9_;X7?\>I>#XY-+#U :S M&3P9 1/;U=_ -OV5[+L^-M*I[8QW; //E4\J1UH#]R1)KZ[E6Y"=S''?&&NI M)K^":>G%MMSFPD3,2_*/*KN-;]59@=WH:PV"?C6W K#IZ/!K 9:[6"U8=%6! M?9O:7$@?O\XVG9R\[H^%O2W7;U")$8XAFJ M!HDZHT25SUVR<:)ZH&>H&BH_XZD&>]:YR/:V;I[840DV+J-8E"_G=;7%'\PH M*X !796.W%3<[B'HN?QV\Q>V1(N)AEV5ID>]1ON MH9V[D6M%$/YE_2A?6$C^U*\Q@Z=6?4V YBM VGS_7B4*;#?;$MM_JCUN?Q2I MF51ODXAQRKT-,#X3\@>L.0&Z8[4UN%$'^/1R]JU*0V]&O_TI=OSD!-V6[!=9 MPC-V4EQRWT"4LLUQ0DK0[@7IV,6#%4H O+YGP?ZXVX-B.Y8 ):HX"U"3W+% MTZGZ, 9@CAROA_KHYF@3I=F285M730P6A7[O+E:&.@K?RZ,^=^RY"5:V-\$F MO$@ TZNZ4J!S%NJ9F2@5,EN?G!1MJMEA4Y-4 *<(O#YB T(ZD3=OV.]G+?R] MT=C3>LKY VYER?AU'0L"$DH/B%^>UVFX(B>\^F6TMWZ=K'X 7:]K7@/?=%;Z M@=XO*&"(OQH@9+P!26\GD4E^29E#OGBU=**=AR/4$TS06*9C7,-[\D MY2)@=1&.S&O0$&EWLKO1I&:.P6%16,<60Z%Z )R'/_M"GOL3UK-Z;9WM%]>$ M@YS N1T);)I,V"2WKO--Q#/F5[@D<>1S)Y,0GM#&=@CPS>QSZ-W] ?"O9N.3 M28SC?7!(#$(MZ6WV++)6:NA.[5%%6EX7[@BFZ:S5'VN@]:)]TU:IJB 8KT>M MV?T*,OZ%2]\%XIM<1J_F.-Y^DJ_F@*>5]^M\ MM@"IP((L3L[0RVD)!IS'A+]_(PK'OR,92FB:1GG!2XXB$;8.6'IA"C/D-ZW7 M2'S\7CKG0\_QBHV>/..;C&V(^)KF#'%6W6>.=W.&M^#[(.--EHA_I16GDK]M MBY(SX!:7=XMY]'K/KUVR7Y1E3IZVXKWW.:T\ LG&$02#R05Y7UA];0!>!P51 M\A/G.D"1U\CKF@?Q#I5[M"AJX08L@.!]01Z750@SW\X\ZN_/"[P4_R;[#N[?K-VC#\N,K\\:['"@3J5F/O_^DDG6/X!(_[PX:S]A6XP(>7L*;G M @/Q3F/@ C M]*9^TX$VY3IX!A,,W=259^TKV-29N[# A*=N%]/;T2'@)K>=ZPS"M5*HL?S7 M=FXB8%[V-[(,UP>UJO:9M%B05(2\=/!3K4J>YL[D*2/#5\36F@CX!:7 MAY7;?NS [=1M>T.& 50XH,:"T8Q_!0;$+:TS :9G/NA#FYSQH#Z$MW\2KC[6 M:1V"NYRCC7#E'\LH+_4.3]JD)F&W%:ASD=F-[??UC"KCDH\[H# M5"_2U8&VIQWZU$&+9@SM6S*R87(!-;$-)OLK,+#;F$T3V \5ACM%,#ES^03I MV[>*3X8T+3/,A.,_5!S/> 5SK&EK=2*9V9:_LBZ>U*KL+FY*57_]VNPG^4KT M&9243;:A-<2WT6).KTD693&)TL=F<^@U9<9;0^P0>:\^C(@"S2EJ::,]D]J-B@7QH8?N_\ZG)^7)+ZV?D56'>M MYWDK=K%P,=)#^I.S[(YPOGV[[FA T[+JC+GM(FZI;M>]47;9##A^Q4:P3&7Y MC13V3?57L!\=7LD*?(UULKO1(4S]]?Z,\R<*OM@(=WC?&I^FMFD?CN?KXO6D M7]VI!K=_=>6#_S4G,_B;*'8DQZ55I-.D*J.P@)-U'7AOO M>P^J+B%5P9I<"4:CB:,V9\.;V//4BSG.U_QAANI*O*S"QD!+H-#V].A:)FLR M:%-=Y>>JG2- /+ >1.2&N$HU6#5]X[-6]E=55A^7?3<1_3$ZOLU)&1[7HMX4 M><=[PF_7?AF=5!N&BMI,&9[2WN9PS^9QQ2#QHHO5 M1M%W7 OX'')NJT'&M1PW4! 7I<80+VB:H&V6,.N\@5>;%@U 4;Q2QY=Q/^Z$ MQL( %O*H//[Y"J-H3;=LUV*[51P5*T2R14I?9 S!#4-$Y4FT:1C"RU+^SO\Q M-T1BJ>ETO)GM,'#9S+=5'/,K+8'Y!@I=3KB=?^J[B<,H&"F#[+7DKLLZL4QV5.,Q+/F?/^!?>X**/M(!977W^N-=>>)N)$ MT2\5V9'@BS/P,/OH :?B,G9)T?%XZKL2 8R>0>F@RESS9L;4B["8TUG\]RW) M\>.*YB6/.-R(4%9?EC'H6Z#)H$3#UT:O! :R/=L>I)_X^PENKQR] 0^8DDF-ZLHR7)EG(S1-X*8H2<]N:\>"*GB&J2< /$ M!G!C\^-9C(54* (8'0.R0!7Y%%#E7=)U1#)EI7?8W)K:J[H-H_@JVE-1?4<, M'E1^?5PS5'_7Z8[)Z'U.G_ L2VZRF.3QEI3<4L9Y(5>(.M]!5*1*_\ZKU D, M2(! 49:@F^R\QH%J('!5ZF: QLIU48UYTXZ9[,=<5M@"J%PM::-@#K^9LJ/(LQ>I H&-J$G\D"/\8$,[X.6(#R5A![[[0WUXJ94T0- M2;@=9P.XL=5V,)8 ]MF +%!%/IF>)V7/)*>9X&(ZQ_$JHRE=DB$!5OP$=,HT MW+7S Z=2E;W#V9'M(YL=0\E$&/)%2%"H*8:N-G+BB4%L=HXW!^6Y]G7K) M;BL*2VO!XC",5\&F'EG9 1,J_6Q07*@>\[SYXAZ;"8-U'J>89@Z8^ VOP-$6D]XC0+Z&OE@)GB=IAO;^-,U[A9)OBNT4#=TQ\%;Z M;CKRGET+9D.:)\^U0CJ12\XJ#*< +D['."M,TLNMF&+V$;@RO.PA=:[LF^I> M7Y.5Y4!0=&PJ5[/O31?,HU=<,.!Q99TM/V.FTHNQH([:1]"R88.=.\_. M$M1YS8":/JH A \Q*C*=PCAINN]R<^!I/+S_9%B2MZ]*2C@ (*O!)U#7J\7_ MB/2MGFGS^TU5'3]#7^4

    VXC'2;\?* -Q7"NX5XUFN6 M)9_9QI$**-=,"HH''&/^RFO?]F:E0\AV9438R_9CA%!;E7GF!V![V"-$+<0S MU(+DFDG %(Z4 %H7O1)0T5OA#$QIS]I*BVD#$N4XILN,_(-'!W-2<)M?E%Z, M]XQAF_<502P)(0*]M =*FM^? 6E9K%,=?3:D>_PXV!4:C^3CU$.@75H.>\(_RD M>DSR6'+FF:;/;+^ZR'%"RNLH%CM6[VZ@]0VX^,Q W^XKT-3$444=->05M;FS M,C0J_*8@)DXGK4#]:K73)Q*D=,(7QG@CCQC+@ >NS>#]4>+>.@R3>873-H/L ME*GX>AX7&U4G;LI.!'U@^'"[&2C7*6\(O7AYTJ%SG_#80@A7H7. FU2=18&D M9+#"X5!3*Y+BI[+AB:R$+&HXR%.IO)@4,S1/:,ZC!*^C_-?^"@ACS:"IS$?= MN9:2/;VP[H:4C525-_XJM-.4Q+LV.6/V5(C+TQ+Y&&D-K<+>WZNWNNO]Y$&5 MUFV-!'#^4@=%1 5/#H/@0*741V2$:K)K^OXUOR?)6<^?D_K"5C0N18)Q4^J> M/RIBV]76(.G;ZU: -GD'7&$,7EU-)SP-DP+4#*4ZZZP&@\1HSO:/[(TS>&K. MJLZ"M.&W:DN$Z4DHLV#O%@\T7HERPK,L$>>P=XM;_/)7FO\Z-%\!0^OIYF)A]?ISHN')]XUF(*+U\?'8Q=/ MRAR?A]K\&LMCE.*"[3)K4A1LI8Z>;8]_ S_BEO?MZTY/P:GSE->:?!A?28W- M%,2[Z?M-5:3];E&]M#M[CDC*C_.O:2[2NFS[3(KD?/M+([ F[RN-X/?J)UGG M91@?Z;8]PZL&@MJ1B(S0*FWVS9[KJ:Y#&VZ2ED#XWI'O<[K 0H%'Z34>NVZK M]I'9GBSIW->FO.F01PL<*("IR.C375F)>]Z$["9+\()DI,2?>5[T<7&WC[LO MT=]H?I%&13%PS@SL!2B&FM1SKG TU,,,."A-71JJ"5^3T62]QA'W_LS MZ,F-1/=1#"_59TC@0@+8!%X1-)DV=6D?GPM_I[+'KPJSK66#\W+'7T8L>2%: M]M/-6FXLZ'< /;M5)N3M.%<9D96WM&V,]_!![;F^S]%]57M3 Q+15JPV5E=' MP?I2./2TMB*K/>Y+:93R6 S-:B^C+'/RM"VYHS&GIWY)IYZ5=)NRU3%X MUS(%X&NUFR.%:($0_ &$(GX43]#S:&<51F#:@?W!,,;BAR6-?ZVT1%TDJ/Y1 M4R(@=(3!XC*@[N;.;YP55):@K5I?U1T8"JS:[-\DDFH#A]?0J0W X%AI&&Z! M@Z-/BL'1I]X:,BWNNCH,>O=7'.4!@Z!6U\QQU-/^U+ZY@Z%MN:(YKY/@^$3H MA$[@HZ 6SUL[ VJ!ASS\,>#>5$Y]VB$$-\7<+3$'ISR2F9^^WA/_^8F78L^6 ME>;^8%OE#9#PK>UZH$Q>T?5@]JKCK/ LC-TF_D U]JF8;K:7D UM-CK'T_#.M^;' &JT'$M5/L7$5).MZM[P$=W;L8%L# :-.A=@^<;7LS[Z!6(?4'= M<.=P6B)W?-RFSV_?JG@P;:RWC9DZ]I/JU2KDD-E;_=P[5\R/"A< M@![LQF[[*#E_9Z[O8&3O*)ZA&A!BB,+*)F1ZQN."XSSW)\';S29M4F2B8G6= MTI>;_1WO$;=7\VNHY*I1<>X0,]*H+DU?\,M98=QA79Y30T;ZNRDE,K,EDG;X M2^C-)]&)KZ!L10WBMT!Q0IR2A$D#69!H?R/ *V+*1%$/\9Q_@B(%J*[NC!V* M(AWF@F>K=K@B1&\;(_O54RV(FM@4#-6!(A #+/$G!HQO_$[+0+RQKPE4"#I= M.9I.XYAGJ1YP_DQCW^\"WM+ZO(ISA M0AAUW=]?T**\I>5?H>EXPZ*OT[E9:SVOVCB?\[:O%*F_PFN;UCW@[62YQ M&!!34Z"]8-^\5NT=U:14K26^A]6_=38S+\[5&4;([.9 B]J'KE:0&'\OL6R+ MDJYQ+M[UY)>F5V0S'&Y3^ +Z+HN\9_=Y@15I=$ [;&1.A=$4P+UI&0>S5,@) M^]O=XGB)\,537$0;PA85_VEE)9I8 7!J+K=[?523VM?UX3O;P'UPTC /OW>G MKI]7[Z";[J9KL(9T=U?3Z?2WC3+06R88CW11,D, 'Y7F&MY0=;Z%;JTJ-)QO MLC4(U* X.ZG<%GC'U9H):L1>;Z)YB1Q M9/)FIU>H4)I1#YQ5B'[A2)" $D9GVIH]ZFA*O"V.:^-2Q8 >@$*O0[ MRB,K$P\(\M:K$T*E2D^H)52-^ MC%$*?K?BZI6C9K_E>2^=H$ ;6?EE+I*!0UM+ M[B6#>I]N?[GTR=^V12F,O=H4G%/F%?U,RM6*I@G)EM;"FU9SAG&6)4BZR2U*N"MT!(#E_ M64F4'^*DP]K*3J=3I^B:\1SYVZY;0/*01V\;Z);:[!E-!&.\HSM>05ZES+"(UE33J#K MB7 7\(WI']:)Z$ MH*> 7LHAG:$."-1%,;7HW=CLJ 7PE%@^!:F6'V6K?61?6CT<:7-=>!'E^8Z[ MF%60ZPPM.N(*4>FVA[01P:/',LI+/4W_,6+_C$'56MV,X2K3#!8HC<"_:I"D M&N@PS6.EP1,D5Z]QNN61A4^4)B\D324+7^=3<'W!<1(!E "LI*"+H0 -/*WQ M."L8J"$^U(214]@_/^5RQTSU,_M[J.C>KWTG2$Y" )79KJ;#>WCI3? >V@?[ M'GD4?# 5=K M4,1Z^W0M5WNB2% -F]E_._S K546,9&4IY.;]'[]_+V2'_Z1S['VL!D4.@"QY M _2MIDQIT7 N7S4.=+?H2;S339CP.M"$QEM1\>\TZ#149&V%41D];=,H1TF; M8\K/9TOV&[)G094A_CNO"PHF?M2(U=YT>6/[7M,AH%U P[)Z)'S>#AX$JHE+59XN-;]>&%K5Q?7 M-,<.>@WC<%)!(850XPT1K/X>FIED"8:WS%]+>$%IP/YY99(3_!D7Q9]1U$D,2#JH MPR2%V19ZZGIVPM>-E:<0J'QBNUJLA_0!%0R0Y6MW3 3[* "KI$FLCP4V&GH MIK>@[[3J^4IR"M3YYST.-1)ELA1#(5R7"^4UU XQ\ M%X^\8]<+IZ4\ ;%28"_5YYDW<1*/T/+[EC=KME:?JTMB0^(T_@%0G.0=NQ:G MEC(B'=)A'G8?YR[59YD_::+9DGE=ZTO\5([3YG1!&G M>A;\3M\@6ZD.KX()S>#%Z.'&E@3'S^7D?M$)>4UYA+D#XA/TJO E\]*>HY(\ MX\'W,F7-P/4H#[MS+2XW&6,X+DJ41R5&Q4NT@7@&YJA!!YMZT)W5SY0( %7E MCV%NX4T6YWS+OL35GS?9+([S+4Z8I[' 14%H%J77&!]+,.QC2':A,A'7TJZ' M1CNYT.$X >NCILV]Y98X6DQL7/"LR:@JHD47B-3PT+ND!O@-^QD_ .L??X D M2OUE1LUX'V";O,F*,A>3^4"*7P>,=)5/C+?/TZ[=%W1N:*,]\9!6NQ*?>W>I M,>89[EA-SGW_HRY#32"[SU%7KL6@):=X"<(%8IA6K0MF\0)BN$$00%?*IIZJ M<"> WKN@F7@%=-3+5/G$6.^==NU1[S7$PSJ<2GSNU7MCS/-9G^@B*E9LCW\F M"4X^[GXL>,+<3587\)O%#"XI"2Y&7A>&=P2O=*1)T/D3'[/'OZ#KSW<_/Z+K MA[LOZ.;VIZO'^D$:I<$YX8*M [YACLL-17GRC M])"AEP'"?;"^,?*QTP9C]?,05H2RC%$07RU9P.+6Z3WC\(I1X2?"@S=!U;\R ML9/EO?LRG>O[Z0T&Q$%HO"KB:6SP9<,^(CGNWO?DCYPV-G=5F1=MFM%OV/KU=* HWM4U^XN(]V_.JVQ-< ] "^5*E,R=_]0F5(L$MI#D<,.%Q@ MWC%W+V*1*]7< B<""Z\ZCPNT41FLL]MJ^I)(+3#;<$/[J?+81'F5N^P>YXRQ M:Y[S^P7S$C@#X5*]+R';FQH%UZNM1H&J"C1W&>H 0342^&[G:HS&FU[S;$/U M6@/-T*8S['4%+L#&IREUU(#-'E,72Z8.[Q87.4[(\".Y0TW!Z8JG7;I/5.0T MN=M>40U;O&F0J52'4P$MI\;"JT]4/M=/L)"3' R3+JS93G)2X8PG.28[UI/- M,1OD9KQ$2V8J<1OJ"6=X00(E"(/$;]!@4N6OST5:F6[ULVP?*W[+U^-0:_C2 MZ^O5?8Y?8Y8C7!$.)62#/*6:C#(TMNDJ>MJ#V68QYB%1DX@:)"@W)#E=D9-O[# M4^P@49^^[VS&>KK]!XWP=(%8B^N8C0YFC@B:TPO:] K26*A&SC]OJZD]3:QW M,)GA+VT'7"TG_?E:'2>$(:O! GK I>(Y_Z1S9HV51N!H%<@%@BKSR6,2W%.Y MSQ7M2?<8;PA.>#ONT)>@GU*&W9@QQP\)VS.RG>SD,R1NBJEDHCC+U9,*!E7G MEC>!WQ>CYSE7LTS\P:]LA&+PJDRQU*_ ^ "42?D\=V!&.K"BS =4 8/#-31U/R2%'$NBAI&^:[;:&0AV^@4O+9-B/M;[B8H81K +U] 2J$* MK'7)B_#A&6I@H@.7/8#;'" !W;M<0T M 2VQC206K3(G/+'KE560T45UH,6!<^4;,PV'-B)L[80Q@TT\.R]"87#_AK+ M8XT6>PZ@E/7[?40/VJ&#!W@FD:!29- M3K4N<'Y!UYLHE1U:-[NS(Q)W.#=&27&AEZ. M^]1:\(H<[,+NHNPE%7A=]F*RN#0MC1F\.B>Z*H>E;GQA*K#5V]J58E'+A^SC;Q(4%,)R@H_64AP M<=TP[Z!&1DE1U%\]@Y?,\%\QPYT^HG[FVE#IB[?AY(5H>GX-4;2=;ERK2$$* M7FO&""F\.C?)1#W":B'@O*PKW(O5PL0GRF+"EE3!>J[JR[">V4?L'P&*S/3) M!!UC'\A)*'#\NR5]_C;!I/(/V%_V;@'[QW_.&#<2SI'K-%H>";#T]YH2?-*/ ML$RWE&1QGA[U#V-'A[B\N[Q3QZE1W%CG\!/8"5]^S+S1N /'M MK(X(4!GE@#["4"AZ9*:IGE]K;E>)UB"#* MRL;<40<3XN_B9GW4>Y<]1BF^6]SGO+Q6N>/>5LDS>C9K>1ZYWL?0:YQ*1'S9 M#6IH(":$]7'^4(TSPTM1V%=KN!P(+U^?D&)#"UYT;<&?9Q: 1-8:5ANJJTNL M>H)'S;@<\!SUHG[GDB=S7&R9GESCO$W34#Y*5>K%VFGJ(#7GQD]-L*E85=7L M3O "YSG;:7+\C+/M5,IFJLW+X'FC!K/]F5ABC[_;ED7)F,]V09GA)&L'-8>. M^_.U*9P0ANA_"^@WPMIX+*.\U%/W'Z-4O%#"'[VL+#2MYRZM#^$JT]ROM ?@ MRIZ4BC159I.W=7J?UVI1&*2JJU;Q*^ :'NG=]8INR5<^R5GKK^PA!)6[4J;B"27]=Y4 MIV?-LD0D48I34?5T89W.K+FZ*D3#I1"KH+.33&R9#R:1JQI*^S: \/_IP5V M2&'DWF( 6G([& K0GP3_CVQ\YE!_QF2Y8A,[>V8_76)>DI.GZ'!U-5RW!-J- MZ1,=BN1I%+EONV)HUGI.^-#!";'7DKEW564F4#5\I%KL"*;P+6JBIM&Y#*TJ+=^A: M8EJ**.4D41%H7"G6DV=G+0T5B9MC[Y5B0A^3$&1G/*T M5XU(&.7Q'(7FX@V=,24B;P@^23GNT+6L"(KG)7_D*+ 6&6 F5>>0-R%IZ<_Y M)?\Y?BT_,AJ_2B1EI#507"2]NI890?8,<<+H%T$:<=I($ _U*/HP?ZDFTQQO M1O?-:9LD$#_8SF C.NC/VS94F[+!PN_#W*3*+)J&V_Z U]6%"_%+K@H_0-SV M@6YUE 3@)X[[LJUB%7T$">(*HK>E9N4>U2%)4YG_6J-\R43N4\Y?2E7 M_,)!E!TGSRFV!LM";Z^>Q**AC2KBJ*8>2$2&^4LUF1;H$/HZBL<>$1EN;N5H M>=]MF%/D/7WS V.3L=@X&^;TI_-B8H_ 2(][99SSZX)>O6Y(+N[B>L^P$/L_MK \>2=^/-G^3$@CF1 M!PRC8UQP:E\]KJ,T_;@M2(:+OH#V0"NP/770FR<[2M!$#=% YE,_&ZDB;]S* MP0JGZ9AYW=<(+@6=SGP) 2<9V(3NY2%58XQC-7^SK\GQF-'X0O,_R_):Y:'J%[\T/'7KU M[TT] J"F#BP4^->8(N<'+_E%5.(ES>6^06\KH^.7MC>/)S Y:H@&/(0Y9>/) M.8R$-X$BZK-7(KOL(6]H)8K..W1NYQV&F]$OG&B8%)4!;DI#S*I?()N(BFO&M_533E&&!E-&V."7 L? <01GH2\'*XD0A? PX-7? M62QN=7'W!)/GGC@?Y%-KUWI/282[Q'N*Q=1@E%4DT>YXKB\ M7<@=D*_!Z[=C#/6VVF;[=RKG=)8DA"N"*+V/2'*3740;4D:I* 'S=/Q R@.O MZE>0$C_B_)G$N,I!YA&%929Z&0J-^B(+7.6NX;FO;\ZMZ7]4&Q-=[$O:Q1VH M;#6E?$7R&OBB@-&Y& V*>+'1,#?>O8D%#377'DL7UR\9W"VJ0MG\X>73\MFS MIT*4!)2L4V OX!+%6M2<7S-K'X-@2^BP:'H%!/W20 GC'D%GAUIBN=.XSCQZ MO4D8,+(@L5AN([GX(^W!D1U)OYY".XPZ.B0?-F=_C,M4FW5N@X/"N4EOL@2_ M_B\L/TR0M(.' P_[\Q4'K*@B018QNJ$"@!)N4F46>0SY,5475^=?3/5U#2=I MU&_T"W#@3]JSOY1]*018UKZ-$9DXD+.8V6C<\B59R7Y.^+W?2'E4SL*:XR)$ M 5QTJDH?\))P(Z"*K4HU:7\SL"(][,Z3'MT3%3'P0%I4PDFJRA[_.54?=VW. MP$4:%<7 ,:W2-Z8Y3GU].[_MT5!$@F3(PULU'O%2#AWO>Z)H*N2M\SA_]80- 8@3H:8=.EDW(8T=_<]^W^/Q, MJ%-;H7=ER7X-M@W\R&EM$P012"G+Z!@?_)USU^^(G)PD]CYYJ_D5]+1[N'=O MS\J<'A K/IOKZG18D>L4R$I'.N4S<_S22M1[+,J!%@#-JUB M_)N*0\RC"AQQNHO,DH2QKJC_^$RRD\P9I;;@_:6G3T^;34WRK/D+XL3171;* M%1WB+M5BV5OT&\;JY+DD%=X[\%:A;^\0G*$.;-3@YD\,MLB1@'Z&NN"10(\. MX4^EV)]3(7'C1M@L,PC*3>D$.OGQ9!/ '7SL0>TC:%[(8.>^@O3#*"!Q>FOC M,@K5AP[+*XH.A?'-V[*9YV*Y[\3S74(5-(<@O(#H%URN:")9/#J? I>0"@E? M"TD%"V0Y61ZCR:*JGF]#C#3&Z^H8C**RQA?P+6TM2:,FK/7AHO"GZN_R.7V1 MQ[RD+4W=DWV/OIT33AG1''':81V3'J[VN24R5OD0D7LFGE'Z_Y+-!4WDIZ=# MC4T%Y:!3W[)2$4>,.N+DPXI+/WO[)&: 9V'V\PNZ7@^G5H\UM[%O=[H-LE=W MZ!OOS["QF%UJZ&Z_9R@JQ0,&_X:^_]/9'S[\7CQ"]OWOS[Y__Z?ZZ=@SMG\7 MF^IIOM1O4I>R5,GV:"E[?2A=D=UZE]_G])ED\:C:E30W5;Q'W?I6O8(\WZ<; M &&5KXS)?>IWD'/AKG)^W/&BB0/9+0I?V+K(N>_9^;'6Z6D6)QTRPT6%ST.W M'67,"R=:',]@7HK"%[9$:]]S,-$*F06BPNDAX9*QSVW"N]ANAQ][/]FG5#Z" MI\(/=.XK+UY 0(^5N56'1#HP0J7)J["=PGCI[YY9E.+B 3_C;(MO<3F8]3'8 M%GIGK*]/UW)5TT,?<1:OUE$>.*]CF*]4BUD![_F+IX=OV7"KFC":;WH/?FWM MMG\OE7 7_GOAV+GS;SI2$P]9T)[6T]O#XC5XV5^!DP%7W4W&U %;%02KK[6> M;ZRML$[?X=95!X2=U00;E1.\V*KJF*+8X MN=SR_-&JUE$5A+I:;U*ZPU@TNF?3L&+6VSV;!)E4&?8&KBX$HNJ\RE 5CB0" M&-IF"?-\&S15R!(U>! ')![_KI*%EM\Z?V*9O(7DF5-()>RCKIR?BN+TT."8*AJ2U+N M41663&-?$+^\VXA]Z^H5YS$IL"SS&-Z1B]V@EZ#[ QJZY]3>"IA,>=.8MB?" M*BAUT! WP"BZI25;$8)PF$BN9.*I&E="[T4B]5!J+NEM1VI]V=V1AFE.S3NQ MN$/9'KAE?Z2^J0IGAM^M2U%TQW)J>MM:(WR52N)4N$T4 MA62&O"F+SR3#=XN+'">DO(YB42;N2_1*UMOU1YKG](6-X2+:L-^4QP6S3;H M*@0=4KY4@ XFR*)W.V: '+=3"K=.:4=2F Q%?VU*P<8AG)9<-;6^'$CR6W'4)B?E-GPS MG1GP)NWB[FK!UATS^R[I]JE<;-/F]3>)4*M\ I3=H:Y]64]#&"#6DMTQ :RC MAAC:O^9WUIA*GYGDH:M7_F881N_XU9N\B-(P?H^27%$(8_WM'5RC?3Q^B&V6 MYVP^Q#-6'W?[)O?13KQ'SE5 O?=]XD\E%#=9I3 &=Q9WE*#[CGU$^LN#R>\3 MU5T@@K+9.>^$60(,(]F''F93=[A.J,>9?C,JK!-P:X;C2(4-4 JDPGH0O97U MV@,]A,8SXZ!)H/B"NR?I-+-]'"X4BSIL=.Z"AI!O^)NW8D273#B.*[4#OK08 M,#ZBX/X-J&ZX]*Q*($"<]&2BHC*>CP1#!QD95/R8CT5RD/A)OK0H?D<4?(O? MGORT9%#&^!$9'.1F4!G\C'E^U.#M/=7/+$I?MWN_HM+X>-?<735/V >6:Y!FC M#CA1?[/[[ZH:2;F*,G3X45!IADX>M30CH<^+J@2+6_PB?@7*Y3OYV$724DO$ MYQ%07%4\JPO,9KAT>HO$8(B.+@DR1%6+"3B7>A*HFEDDX;G'0D)5;9;=0_3R MA=EA.8E2!JJ\6SQ@_J;,0#4AU0_!)87&"#@O#Q>]H'5#.5#Q'64F4SCG@AK; M [59QII;-*[]/!(H;&?^PG?(TBNC7!TQFP.66GG$*>MN69_#RDR%WD90D^"@ M,^>Y3!4UA"MR8?:Y?O91-9YX5"7MLVC,Y!5;[(JF;'T55W_?#F6\JGT&5BW# MW?O+;!W& 03I8F>93C^I:EI**?@>J4UE-&2DPYK'"KPN<\Z5&6>?Y'[F>:_ MWF3W.8UQH2=RXU^:BIR<@FN1XY01\X(W%>VP,J? Z#Z94^5>Z*B4R$$%!J7Z MOW60I3R-D)3MJ^+3B4+55\/W0:@I!9XD4J:87FTS[-24F1(9I?FN6G7U/_8+ MKO[!?S*F'\K$Z2\TE\J^ ]?KX,?;F_G5)7J& 'WSYE4 M"!"N(002,V5&4SCW_!W1[X&( V2>\Y?C%5L"Y!G?9,P MU@OTB%Z/FFNY[,!!5!S"QUU 8<45.C/4$KN]"?(E?BHO21&GM-CFHU7B1EH# M!5/2JVL!Y&31GF[XLM%CW*6:+/-I\-77,B^B@AL&_ \>IWR.4IY^TO_3P>PE M&UW"S44P:>=Y38RH,"/%7SKDPZ8K69DMZF(*/(8I2\PO8@^[.9)6X/#C06^> M+OPU5-7<%D?(82=@1V3](C=[[TF'Y\["O/W"2Q6Y$_ =M/J-!5'@A911.GMB M"B:*96ZA?@?67DB3$7*^LZQX;FC!CQ*JI_G$-M,Y4_WS1!X:&YV)X>?ZE-@[ M<B@H(V-.?WJX+(H/I$4#!W_67CQ"N<;%-\MVB7RD4%2.EI M$]W/H3DYBF2.!H56DMJ30DTYK2JN)"M+(8/O__C] M>R&'_"<=NUIDT/S$_LE6RDTV9U_AO^(H[X]G@[[5E$ M&AZ]K2J+JD;" PL" M"Q)@T"\5G!'I\SK0A,9;;I>*\@,:1LB"YNNJ D..J_-,9N^6*WQ:'#WB!5\* M]+QG22E8LN.P?^=U(<($DQI-0FC[1<]J<6.KN%Y_XB[$E&P.#4LCV!GX K/M M(ZD.Y>?1J[ASP?ZLKKC)0FVJGX%/Q8>[=W\\7M%G6HH#0&7TBIYPAA=D)!#A M['1''A.W7*G\JV<5R2O*I05ZWN0CVN9-H=M- UD*R'5,L:!&I0A ]'&<\1 MMHW3;<+6);_A]D+25"+;>A_#,S@4B'A,CU! M \R:<#).P&7A/11483E# @VZB/)\QW>R7)5W MBQ^+"JJ2O2/YQHJY<]2WIS0J0?6<+LZWS+R):DD$WIRS/!Z8]A@$,8%1 4XO M]^%^ >$,M9/&8""%@7FQ1F5K0VJ,#K+2,$[*T]Y3NB2Q/!PJ:0*)>AYUY>/. M@B '#U\:(X9%*1_PAOU6I+JT" ($'&533U6XXZ^,#&;+ DL1E%/* R,\[&"B\W(^(2FYIVF,(RNH)&33DZC27X8Y8P'Y,; MZ3AA)BYK6IGLD/4XUI>+Q2FC.8F5*@-G?=E:X())2CW'ALAZLRU%C+O*6Y_> M,AZ53]4UK<;N:2SPCO[AAXGB5-%PLSWIQ_&NV]*;Q*+N ^9R'S88/B5(.7[*&+?8,7-46$/A:YQ:@0E9^$ [!=,'WZ%W>T ]3%MRF0%.']GI.;XE;/<;G>Z6%CARWN?YW\1G\@>,!]_I2CAF'9? MY[#&>PXL:X@!XL;Z$DC-6#U1JUKX "_4BAU]U)<7R[FF.4U;N0;GWCH&3OEU3P0VS+LS=^*]AGG L+SM*J__IB7J5":K>PW$_\: M\63-.O.VLGUZM3!T?M;UU^_A&@JDT:J&>[O> E.WS$V8O^#T&7^A6;F2/DYF MV)WC0-4QV:D%K([QN0Q#MS2,\@' M-L9LGA#<0@B1$2R;?ZK$(.]%:.ABP+Z]WI;;'/=8N5J%:FR2,"QF8P.*S_.: M"NVY@(MZ;GI5D%$7,ZI!3ZTRCE4IZ*F>8W]J)QJ)473=['3J)3(3RHTS0^D^ M4O//Y=)9$EAPY.8MN'=?(J;'V)]*^Z]!3R[D,G5Q];'&=\?)6 M3QC=1R0Y0PW*J6R?)I.HZC:IS(P_PW05Y?@C@Y?P%X;8PCSP X[MNL'&4&.Q MMU-?FU(_==#[HY;& =A$#@Q29LLSU5X^ 5R^I-K;QFK9#;:'U!_KZ=%Z[5CRR5E4:"'-K?9"35(L]TS OFOB9 MSF4'\PY=QI2#7&V81,Z^A7G1#;M:S-"71&"OLF>2TTR$!],YCE<9Y=?K118D MSM=1MI-'9G6_A41L56FXEL #'*@+1*3^5E#@05YWPS0._AZ.O.P?N?^PL+;P M42-6FV;7<^/FZ=BXF>4YSS@6M=%V^R;UZI]QJ^VROI+;>W_=1=>@S'P[$%RO M89M8]3/Z0_$(X&P((+7OT$6+.G#1TPYUV]60DLCS? &*.-I.5,),@BKL'1 M(B(Y>H[2+>8,VS3\2!CC4;F*2K2)F+,;DTW$-Z!-M$,+FM>,#7&WQ+*&I2ZG M<@IG+- ^,7.6/VJM?\2BWJ?]$Y9QVA,X8!D':?E\ MQ057 )O5S7H3Q>)=G44%J'Y?)]ZA<@\)1>QI8 YHO/VGW9/P( ME#+%Z:3'3.4(SV3:>I^) LY%T!CS'.?KN\4%S884J/J'%F/&AP1"IAX?(K&5 M;6PZ/H"1(SUTYUA$'8(:#7HG7[I( M\,*!QVZM7_#[&(;T_3V=80@4]JJ&=^Y\O1Z\/5&GSF8H@ \V,@+M%W@!O1G[ M8EI4??IC>V!OQR>#3:'D^5[PO'A\'))9)C$1BY+]/<5E]0!6-V-/(O8ZGX(? MB1PGX?ZAR#T&%&4)/PMJB0=Z*E*#\=2$FZ'R!L1_ZE=WQ6LNQ3UFL\,6T!)_ MIB\X?^ ]6,TGT"/I-<] #=JT\P_4QN#O/-D53UWE*WP\XIR#EQE[VP"7R$%?OI;% 5'(4C!$#7XNLK[%&/+^9?_D4R7> M&#H=]SF-,4Z*:P;HFF11^C/-?V7[SZP]]+G+[G/\3.BVF,5_WY*"] 16;70% M<1* )%VOB0>\8,:0.%CCH-!+A0K%T89PD=N?J'5OCK=/[&H;G=[8 #,FJW1Y MSHXX*E:(9(N4OM0W$@[XT^$+OY]0(T;1'G( \]%4K*G-2?*V9\US'!7;?">N MSC [=DVS:EN5[%^C[8%[F;1?UVNX(5P5=#AKKA=QFZCZ:QA#:)S/5)MYWH2J MAL#1_,1O(4ED2=8,*$+'W3G/_!+T&KGYE_>_>_^!7ZRJ+E[]&_KN_=G[]^+_ MC4Q%VW)%<_(/G/P;^O#=V8<__>'LN^_>BQ.[#Q_.V'Y]]MV_?F@:D]I89W_? MX)A77TS]W@(>G26JRGI_5Z8BD@OZ'W=?Q(H0;OAUCO^^Y=D=LUI 2O]"V ?KDO*BTV,">#XEZ8"**<02 K MXH%%4('O?2*HRDQ_08A]%A\OW<,,\9L2KXLY?<"<'23%M[B\R6*ZQCR];4XO M6!-FLSZ3!"C-\E\D86&2AS#H^?NY!Y@QIE MN$0XRC.&2OR&_UMX7YL:/*\C\&[+H_0D^P;1]GY#U(XAS TY;P)#0TE!T%VG M8$/:YCF#V7L! _*IQ7WGF(3KY<,Q( 'B#+6D%6]J>-QXI)P?V7F&V1G"[:O< MSUGK\(Q[@+(OS)W!XY[]^H4GOE_PT((*T_M]NV%.AI.SZ@A(5<8.6]N2KZK7 M(+)5A0JF)U='C!Z2J3[NA9"G^RB_RQ]+'JH72G;D\%OC2W,YDU'P*W-MA&M* MQ\8Z\] OAFK,-1/)(B\[XLC^M1=%]H__%%D?O=::Y+>:(G74B_-K-OSTJ"A) M'*6HZ_@'KJ53WOM[P*0?].,\QE,1"V-<.HPU M TQ\7W>NY[^F*0ZP:K(A3A-&N4E56>1#+HI9EM0 BMX3 :6V< DY[3.(F(0R M L8Y2[78Y=XBE.B/D]]!K4$?FD)J"X;1%J>\HX,,\>:)WN?ULR.CN1,#+8&> M9D^/[C5#\\J*+(GB#T,Y%!D]BH#0'-%M691,TY!L&<03'9H7JL'L0"*G$$\; M_\"* /J,JIW(X;0":PH7A-5N:+9OP0C&EQ]K>").)0C&;-$QL$%P.5 MOS2_!14#4Z3A/GK6X$ '0% 'B4'-,&>C-"\CMA]X?##P= \N1&DQ7=FC1JSV M6(",'UO/HU=<\'W3M:QTZ85R,\892K6XY%92 M\/(8@30\,=H6(BFR/OU*2JBXQ#A+J1:?@OH/HWD?:A]9]"/\97_(?(D))8 H M!G*3/;.%0//=+99EI?8U =LZ^ZY+;5?_H5I1O]ISSX3 M^2OJ9TC01]]/))U_@-M]6?QC+/0G8#V5T/D=H7TE](^8Q]SDZA[0 U0 U2GY M*HNC 0GT3*"3$9L\R5HC0O@U7HGR<>^6$;]AEHX^I>!J!0+$CUK@<-AK7NT/ M_T)PSD"L]*\9C_9A\^*7C):_C0.UE,4YPNWLI^G=0!Z?DK$;86I\=IS>_#>: M-Z94(3ETD#<")3H?=^;M]:= 1PP#[*-J/'$J K?1&M\M#B!(#Q5&VP($0MJG M/[D(=: PSDZJQ:.@GLX';4_G@S-/YT-H3^?#]#R=8VZ/>#J]+ PJ8-]I"]AW MS@3LN] "]MWT!.R8VR,"ULO"$&6H3LTP@4^M$I7"Q^;%J :(A+7))U&62F4* M^BM3*?/5, _S[NK++.,O=^%ESH5@(.URI"DDRU+2I6O)862%H'0(PW,HK8T! MEC+9VN;H9441K\=-<[(4]5+QW[=D(RY*K*-LNXCBDKEWK"$;^KM/-=^6*Q_7KD^ O48ES$J7%XW:S27DEGRSY@G,>T4I(@7_D+QV( M;,]EMI;7]+;2)U"3&]'VE<>PJS* EUE5 )ERS&&"A':FBCKAO^%&<)4E/Q8X MEZO_W@80I7_0D6L98L00IP;7[X9P;6EU)B@(L\%L^6#H0OP[INM-E.U^6_!R M;>*Z80!%WB\7=)Q[A@+[B->$8>/#IOF7*/\5EW+A'6T,$61II\[O0W8)HXHR M7, M#@,F[',FRL7!D-;5D!@\RA8 B5="W'.\X>]X9DNV$$I2[MA':1I4]L?% MBNHQV7A-5%?3LT1L+,TEY*%UH? !;&T,=.Q^?537Q+F-+\BCAK[)*K$Z(./[ M421;T'Q=/]K[1+EQN;/3=*SHWI+D-=B>W= MSM1GQW!YWC""1!6ZH&IMYM@8 M_'(?C!OQ< ;D2.J MP5MO,:I;7-HIR@[O"!B-TB?H_"!^]O@7=/WY[N='=/UP]P7=W5\]S.8WMY_0 M[&)^\]/-_.;J,4@DRF!NJ#V&&^ISIA1^__[#_[IG+)>KIT2"7 M&*K&4&^J^C%>X62;XKM%?2_WH>'IS=[$_+BK?SG'K^5'AN%7B;XV[ VHM(%4 MG?LG-2P>*ZUIHQ89ZD [X_+8L.U'C,_#)2BMMSN."__I<_O/\@#H+^Y?<__'$"S\ JS1.%,-^? M=":)>&H[2GD5MIOLHGJF72:8PZVA,MG?JW.;H26+-KP"'\NXL;-"O+ MG#QM2^&:EQ3=1[GPFD+>,M"?"6K,7H]>.(U_7=$T80;1U=^WI-R-G!2,?P#V MRF4=N_?.]Y1_*U*IRUV8ITX5F$OU.>8W9?J69NW;L96 7[UNF+S+BE6I?622 M]"SMW/GE Y&94]>=?8%R)5<610I4) HB6G^W(.@AR*!/$P5N0P,ZD6A_Q? MA=X+<#&FM92^,;WXW->WQ_O.'?+A=90:P_NN.8]ST9ND\30H_G_N,CU'*1:A M1Y[2%S,GG?]BEB6'/^BTE$BBE3Z!DFI$VY>59P028M=ZY@JX%G;,*)^)_XK( M0PU Q//S%I[X?9CWLJT(-G4R+V]#8[2E89D*W- B2C_E=+MA7W"5*%X*VN*D M/I:CF1,% X000A]I0GT3ZDMS3-ZUG7.>LT\)31[+*"_U5"0'*E3AJ7XLT1-> MDBSC;AQ=H(K$U\JZJTRSYNH@X_C=+ MJ[KJ[D-4XKML CO9=( !][?P W!>24.,4"27M$6;&6F>;I*%,T7#\[U/E81' M]1:-XGNQ]["!YC@J\"6N_FP'WF5FQ6 79C$81 C#6!OLFS"-M4?EW<+SP'= M[( _$B-,NTU]GX_?;'FW+=A?>&G]*.59WLV%OK=GXL%7IBTCSW#:36]+XM>( M;0,,F[C)QW<$FF\HWX.3@>N3RE^![E..]NX\4Y8C0!T(J(O!X,ZE@Y$!K\Z+ M$9+."$EWA&L!)L0U2W7)HD"FAKXS?TVR*(L/+D++](B&GU /(Q;HL!F"N"=OQR_[5-!$A+EN\=(7/7G2> #KP2,MH?F\\GZ M=9[%%]65'L1[OP&+_X]SEFJSR[2H85L!XFY;%B6O)9TM/^.27W>]6UR(FX.B M[(4LL\JP%U"90VUJWNJ)W"U0!Q.J0?$?5["T:X@$&C[,&>V65:$=-J0U&]B/ MZ[NH]74MSH4GCC!$?4.XS%)+,^%O"]AKD.I)KLX3E(-O.JI_"-T41@EXWAU" M/M>HP6T*9Z'ACO&E_!QMB&G(&1I0I8A=65(,IA!4E$0:J MPJ_0>PM_OZPPV5L&.K"[M_00"KRW]""RN+=8&:_)WE)O)^Q_-9")[B9#$CB^ MFXRRV=L*O<\Q+]!55QQH7LPYN-(K69H:7P+7I (%UXNQAH#JVAC=IY+B@SO: M06139PJH 5\]'G@6Y=WB 3_C;"LKQM+;!GRHV>G+_3%F(0HQYA6Y0 >7?1S/9- M-E7@AZ%'=HD7),/BM%X4$V1V/W_^X:IZIR+_$I7QBNW@W=__5&WJ5=9OGPMG MJT^(SV=*V_7RL )2VZ_TSQ5 T>@:).JBJ%Z(:7"B!NAAFQHJJK"B=W_%4:Y5 MWRL0CV#.>L.FN,L"\1 -;MBT;MATT*9Q-:J[K &\>6MZ@3J9,K.=O\C+SJ[/ M_K7?\=D_F,6QS=B:V$1YN>-GE3U92&/---6AK#OW!N">)N)$0^0=C?*2JC+( MJ50\X,V6OV//_)-ECL4C(L>(>I,40-\"Y$>91@"A"I&N .,[-6*F8[64%30E MB=B"Q-LU4GD;:PI23_U=NI>F#MWJ@:%P\C3*5ZK#+&_N*P_N96RF=S_GI&2" M^R)+I)(W!#JSIQUZ*B0KXIL%%QG^M@1^C7%1A\J>V,S@$HMXKH &<7EMC$MO M'5P-#0$Q594O87%W&T,!>! M623HGB>,\R8SF9DB>\6S?%'C'%RK'K$0(L^3T4 MQ+"3=>0T$]/!S,=XE=&4+@D>\'_TOX:H$74J'K)^*B1< MN@ZPH"X8^&;M$EIZ!G;L_BOV])(5X$YEMAR0LX;O,=*OBZ.*\L M3U2(I-D$Y]6=J#K;A/VBI(BC+18[5$:O;<&C,"]J&PL[M3UKIG&G;4G7E'$4 M?^9E->^R_K>0E=J"(DN2/IV'DEJZ2! ^0XRT0>3(VC"L;)J\/5]J*0,C[G_D M.:^1&BI&-"8W5(N+_NK='58W\A2KKVI.V%G1MVZ=_7Q7E_"&A_D":6F.@7NWOU/7::*BBAJSBNG"D0T^?3G2O_LH; 4 \6FN'"Y$ M*PP(-R "W;M493T%\]-IUL:AR8EYP%,#H?OF7M X3)DH;- +; VB()LSMN9T4O7:YJ)A:2@( >_ MLZ @>_MW+8J\:,+F0$ENMD\IB9ET+G!>/VD8"SR5^@RN+(>G0:(L%7CK5UE* M,MP&V]E0?#[RVWK56YC\MF%^RE28[7M*&HIJ7@>'A8!6LCKH"HRV!RHF:;_. MA:>)C@O*9ZBB'=8K&&:<-XF:)8DX>HC2^X@D-]E%M"%EU%]F5>L;H&0- M]NT\%-,21YSZ.:/853W]&6Z61SG6YR(?-9]GEI?E%?W6TC45Y6&E]Q253#:06%W MHP3DE]:DZ^S*N"6NGTSJ;ECP=%)28T+ODAK5-RC9"E_I\!)050J"5Z*+) P) M$"#77G+4:"K\/47 9E(<.O"G,\L=3QB@F7@M9^!%&I5OH \0#/7M_.JIH(GV M1(.^3J/$90IBG3?Q.H(R^+C%8%N@./7VZ5N,PKYB,)M#P;Y="[\@CFKJJ$,^;'1"C=\4Q$1# M17@7EY3UR7[Q0>&*^7AKB(*4]^I<7BK*_'+)!QL7QVV.Q*H6Y0YY_V #J%4% M*:*:#/58D*IY8H@?IU;/SVY)MJS?-*%9\1&S&KI?/T, GI(I5YS5_W*O&6B 630T:;[,/T99_\F;]/<0LZ7;C^MU M^>6_1^O-O\T1IVCP\),18JL&27= (9Y\ZI,!.LHFXS+X3^5-5I2YX.-E'KT, ME;(TS>N"6]K0';J552#X3=T MR9IO=NAE1>(56FRSI$!QE+%M$+V0TY?JQ3SC@D[-$''A$:8 0IC?TS( M2>^O>Y^A.?>DPYP;]LD 56&2-TF^)$6T9%IB*315^PSC-!C=CK\8[UIBXY<[=0R,L8 M:PZ^9]W?K2]%+*,/4>$FC+: MF[1^C%)1+7N%: Z51UJUKZ:OI(D$8-91#IO>.,ICJ,_ M+^O(S/^SC7+F9J:[!Q' /9(@A9::HC/0HW/WI2:+6KJH(NQ56E182C7XY$@^ MJNH7_' X9S2%=(H+#N)UPGQW09/C5^HUOP+(C4+OSC,N! 1T@.$,"12(YJA& M@C@4[U*EPWP*Y*BW3>X3SG >I;,LF25KDI&BY/">\565P3&8,*OU+7#K4Z+A M6AIK$.)0[1 &JG&$S:35FPAJQ%U_E0GBF*\._O0834E,<#%[*H2_(1''\0^@ M-0FD'3LO2-!21@UI9LS7Q /5(ACG,M5GG;^+H&29D06)HZP\Q386R]#[&'HU M5(F(:\GKH$"]4A@ZAJ$Y%]2,P8Z]@WD>954)^%'W0-;4P#\X[M*;@[ G'-I# MD'*5ZK#*8RT5\5Y&94D^D.+72U+$*2VV^>@IFLZGX(HKXR3<%V'I8$ _,%:G>O61_5_%!53^#&F,CW3LWPRKZPO-L$4S#Z53F M/(6RTY^KF:;TA4>)KVE^2;=/Y6*;UJ9A\8!C3)YY@@+[&WW&.3,290XHL!NH M6ZI)SE<*@2XN2&J!^['#"EL) &B/X RU2$529?TF"+\N=(9J>&'>:@(+*[4U M"XXLDT<<;W.VNUV]QBO^U,1MM.X+H0\U U@B?=VYWQPJFJ@ABCA5[X;'(">I M*GL<2\.'[YY$(=\!23AN8B %35?>:BE_^.[=TS>H(1],!$Y82%7X8GBQ8U9G M%.*[NBCY?4YX+>^^RNWJ'T"N;PQV[.7&QB "_;>$[(X'LJ4V"% # 0D,7.8G M,29XH'))[ 5-DQ"O)BFM%ZK/X, //"AD M^:I_:/6)AQ"9O^-(0(^O.A@?0(\SD M,XTRA4)NXZU!7H&T5^?I(Q5EQ$G;*.1F=N)<\ M7Y$\J7Y8->$__.__[4_????^WZ)>]H0PL,?ECFI.@>?2;VU1;H4[%PI?&)5> MZ^W9]5*K2*.6]B0N7ZAP^J24E0+[0@O7X"T,I6_L"IB?NQ@#(A;R.H8:O\?% MS.12AF3WYP6K/FVC/,I*C.^RYH[:79[@_!)O:$$&C 'MCR&V@3(1]Q=]LE]1 MBP0QH6JO*PHPJ$8#-QX<#M78EGCBHU]V1Q\WHZ=Y5$[A:S_8/P S;#8%N@,N_MTWVP(&4?T/KV0(=X=;F@\^^J:G>Y8K;IX4]UJY0$YPKP$"=ZVJ81VQOV M>:6\.B#S+^/]RTK\?63!.?Y?A(\XE^\YQW\?8'NQ(O;4^JSY2SMLS-"/VX)D MN"@>\5+4WE!Y&&SH&VC"X5#?[A-**EJ3> ]LD+E][X&-<\QC,JN ,.BG]K8! MIZEV^O(G)2'=SG[V426>>).#ZJVQ.ON%X.(F2Y@5GN\&3S?4/@)*RG#G[D,8 M%36>J<1@3^'%N%$^GSP=I\8\?[IF%>58Y%C(%,U) ZB6:3ORE9.PIPC)/3#! M"\@Q$.3J]*1W)$,)]]KR@E>.1@7_W4@-;%>*\G3ZZ3B/_.7>9R5)2+KEKNU^ M95V]QNDVP4E59FJ]V99UQ<#FT8E[G OHLS7/-I9(OM6^H5GZ-C!X2]VW 1:4 MSQ^&2Y",Q&><1TN,LBW7^=R_V]"2V1DD2M,=:L: BG80"->CJ'*/XBB-F=LH MXO9/.(ZV!>8^(\D17BPPKQ47<=^P).=M7YWGH^LJ]%R]")52A-$I=A<6=2H' MWC39SY@L5\RWK27D5@C(W>*2#PX!#KO$G8+>QC'%7@AO]8MHBLCP6O#QJ91JM%9\X#CVWF2W7"%#A ?5K5K1@JIZ7QJ*C@#)/R)$W/B6A2H@1&ZT)K6 M+/1)GS)K_9D_1^Y:;9W)[)[AUE"#I[]7Y]5BFL=2>33PP#P_-,,G$C0(14W!5;Z>^2A3AJ9Q="AEM#GW?H[]5YRG=-%G7H!GTJ9(2Y5)-C066(_S7'>/B]$-7O+,K50?\A M).P,-1@"OR*BS/P1N1O@: AGGV=67J?T9:Q:NLHGYL[]2==>G7J1C2S(3\B9 MEW.[WXD?8:$W&>N6E/@2E770N_M8W7U.LIALHO0!\[6079V9C/U%=KX3/!GJ7-PA OI;_H<*24$QQAGE[UY884U<3YD]1 MX*C G;?%Q1"&[*#Q#Z"+6]JQ:UD6E%&'=/7^:%"+1X'-5)]W(6P<44IL15,F M[T5U"JMN[(Q_:V[UR&EX-7^Z,'Z+*B 3,H049J+?(E)E;U"--Q!%&&MN4=OY MB"/(=%VX2,(H@T?TW'0J7HSHM9'6=JI<^-)=)_4M JNJ,>;*2UH$5D?BYCC/ MD\WQ"F<%><85/EYU_!8S!3J/7N]I+J(799F3IVTIKF+2^ZCG^0[+O0)ETI"Z M:]FM+NO'77P(UV'N(,)K:[:HHRF88MCB)N->TYP1EB5/F77F/D31(>HO,/%' MQ\$(HT$Y#T%TT$T]\- GDK!P@W1*/!8/?<;9%O,;(5>O);19D7B6<[LN\'J'Q9[!!<;!5-V7X140*NN+C7@VM)0!:^RN,>'!$#M\A_. M*I2:SR=U,$E>=[[/;)=.9D6!2^"J@'5BL-.I$W/NU_+*X (.JO!,6=J!\T3M M,-_[43LS0Y]()FX!FNW M3!G-7W#ZC+^PT:RDX58;??KPW8YI^W/A?N_9JF'A"^Z NU%K/9=^4M8O-"_2WV/_B)UT"&Y"M:\T*GO[2/1=$H4G,\&5,V MV&\9(WL?$K?:IS\C?D_;?7'A?BOVK=BN/;-D9L7*6.]-_*\CDO_$G_=K(!'^ MZ%+$B\4F=]D#KQV0UQ=KBK%0C%%?0'$'T70MYAP4$JC.4 <7:H#Q^NTM-"2P M325,8S:'U.K$&!;@GJ_8#A2EXOVYHK_DQ&@[2,'LOOY<2UQ-$]5$X8\@V %O M_-Y!68]G4^$(4'=Z4"JH,K?\U57!)4_$9U">V3:3?-S]6.#D)JMOV&?+65R2 M9[$*1U)VX!U!J[1H$W1NILP>_X*N/]_]_(BN'^Z^H.N;V]GMQHI0O?Z6V-P'BO3YI! M10V4 -O]B(10#:9Y4X\7--_P-W8S+5YIRAGKS)$KSAKW)FY27)12'# 7=HO#5$7\I[]5#"L:&,6M)P MM6ES(#;<)$0ZXTL:1 $TJ(+<4$T>^C,T-R(PERW%98L'7FSF;L&L8I%I,EOS MG.%_B$FJ'X*6F9_ ;J!&J28Y7\<=NK@@QSWNQPXHS=2"0@+5&1*XSNGBG"&K MS#R^CB=9O_*&X"N7QQUZ>YCDA#+H M@1(+^ $%Q.?\$U04CQ'[)_!U&&NXKS+-;#,EU,XN MX$H7(55GCJ')?$&?<19EY?6VW#:O-CS@&)/GGLK%&E] 3.?AGETK% 4(VC:T M[1$!MNH&PAFJ0* *!9K0J&#>03V,(ISS-Q-\08#+Y501KPT MY ;'9$%P@E+\C%/Q)BA>;U(JDC68@R'\C$ZKYEGW'AEO+08(9%L9&:,-I4-X"# MY]<-'Z&H<,UCS0>VP^*B?&"R_?@2;0:CS,.-P14?^CIU'SJLJ").%G&Z86/+ M(ZRE>OSRMY>UKVX/UG%6NNYGU!=T#X30=%Y(J0;%55M;$KQY^^^V??NO@C:5 M[#*SV:-6IV02U4Z:VIE_P&DIZ8QQ]B?Y&\[8X2)^@#[>$ MR'E_CUZBU_VDM:7J]/2^(H_"#L)*ZLG^B?"V&%;=E>Z(XYF%8OF>Q MM8T^O/^_$?MC37/A[QR&H\4*Y.4Q*P5 BE_1$\[B%5_S9^AE1>(5L][$ ]W% M&7K:EBBC)4K)FE2*X@P54\MKO[S+Y,T"0D88HB MU" IE_K7+T#J9IL $KP )(2(F2Y+ L#,))#(_#*1^(__\W69?+-&-,,D_?7; M=W_[_MMO4!J1&*?S7[_][2&8/)Q?7W_[39:':1PF)$6_?IN2;__/?_[/__$? M_RL(/J$4T3!'\3=/FV\>%T4:(WI!ENB;_SZ[O_DF^.;['_[^_MWD]IO?'L^_ M>?_]^P_!][\$[[X/@O_\CP2G7_[.__,49N@;1D2:E1]__7:1YZN_?_?=\_/S MW[X^T>1OA,Z_>__]]Q^^V[7^=MN<_QKG^P['C7_\KOIQW_3-T,\?RK;O/G[\ M^%WYZ[YIANL:LD'?????MSB=,<9?G? M(K+\C@O]^Y\^?/\=;_<=HSE'2Y3F04IR%+S[$&1H7G[&Z8S094D^8ZE\PH*B MV:_?LK'R8#<*)^)_:PV2;U9LQF1XN4K0M]\=T;^B*&-]RL8W[(MM>TYF#[Q4 M9*"O.6(S="O''24)B5YPS!^>[>93AJ*_SHR7@^"]%1X>JB5]CU:$ MYFQ+JJ%0P(M&3[,<[:8W4WKHFOWY>HVJ&]JA]S%\2I"*UA>-9'0>J_\)C;XA ME%D.OW[+K _VRPQ1BN*;ZAG"G;+3G0ML5WJY#R[2-:X"3>]9Y1LM175 0F&O;@GL22,X,.W1B1#6"^DD8JIC_I MF)DTLLV6J(R#L3.OF/X$8(N 1?!NK"* JGI7)@/$0B(MMO"#G/[CNUHGHV/_ MZ6?F:JS9)T(QVK\RH-M4V]>8MR1YNG>2O)/DG:0Q.4G7VZ6\@7M'D"[>+?)N MD7>+O%ODW2+O%GFW:#AN$7SO-NT/_1A0Q&@K4, 9#"*2EDQDP3/.%T%49#E9 M,@VLZ2EICFK,AVI$E_>NO'?EO:LQ>5?WU2*_8FO\?+O$_V +_'R[OE6>EFYW M[W5YK\M[7=[K\EZ7][J\US4,:\+DV*O+_E_2WO;XW)W_JT7=Z3-+[>+^Y)N;;A\:UF@WC? MR_M>WO?ROI?WO;SOY7VOX?A>;79S@QY83**B_(,[)JB764*9KV2.7%=A95S[Y#%)/XBGU7YZPJVQJCD\L(1N6;E@9HO#ZL M0I$' 6UNEMHZ_P'2U "5U6P3+R%I.P/T_=\BI,RB3S953KR$0D%+ S0^TC#- M,'][2B)%34U0R1XAH^SHYQZIV5J\<EC^19 MC'T*6YJB\8XP$R;Y?W@EV*75C4U16IK\4WI'R1I7]02DM J:]T[M.>(QC^2: MF7=?_PMMA&0*VO5/'UDN2?J0,_O_8<'\CVQ:Y&7-"IS6&8WP3OU37IEE^U-. M_ W7FAR0YKU3.Y2@1_6XRR6BD8.IE(U7JH%X&:&?6 M5QCE>(V8C1AN5ZV$:%GSWJF]1W/,X9M*B) :HNOT:+,)TC@0Z1->N1.N9D9@%+@Y'[%MY? <.MCEBUTJB-W!9.&+4J@-L<)$X9<5":R<8& MCRQ&),U(@F-^A5_P%";\2KL@6R!>2"6J]H)@58++09&&18QYNTHR"Y1C9IEK M5//L\&$FCCYV3JZO1=-#*E^34A:3)"'/_'5>$7I!BJ=\5B23*.+8;W:/(H37 M/"^F/F>WU1A&N3Q2.'HI_#Y,"W2%:ZB !;QH];7%4J=!)D2\(Q7^A M6,V)J(==#JZSK(!3_[*U4MDG0_IY%)WL$Z_^ R7 M9B]?V E"[W2V+VET1ZK8N:)ZF$Y7%XI5=4[G(T5A5M!-.7VWZKZW= M25QO-,>LU]OR2?WF)\;II?/[BE+-BLZU<-JD85Y0%)!90%:H2K?6O05./HBQZP<@9/@X3S=Q M'L&= Y,\7Z#;D'Y!.5_RW)Q_"!.F%N<4E6_J%M54;&C2U5^0X"](&-X%"9]+ M!32=3=^HGU>DBQN:Q6+9"IO.RCV)9R1.9^71+)YS1M):?:;?T>/[#F#A#\53 MAF,<,OOE\.)K=A=P>W>P<'_MA+]VP@<)<*I9(@S3<<9X2D#B/ =*TS(#ED MUC3W*)P1DX$(W%B"!2ZBV2E7!A=H MQ3-@Q$"7=N<.""X/_,_N2;1@$P_121I7A]UGG]'S/PG](J96K^=)H'(9S8]\ M9O;I,#'9AW^5=4H095HYWW!3M69VJIKU3N,]6A4T6H09VAM#K^FI7>>-^HX7 M11P_!Y9PT'NF+"B.SME;NMN:*Z)%BOL\>8_>7 'J7U**U':;MC7FFCDE;FX-C%TZ%A M0OK8Y%V1KQK$Z\HT= 7Y[69&MH$J7)&D>.[!'/BQRP&R!30&B=R/,G07:!G+ MV0,?:-$+M#3QMHHKBOXL4!K5JUP=)A$2C@> MU,<.%]?IJLBSYGA=*+ M)/H^FRNRT?0H2"<&B(/"4WHN"LE)S5)7Y*7&O[5]P;&'CGJ82G)#V16!:"NW*U-&QEC1<6_=CN-V%L<=2+,Z'L?7"V!KHL.GH M]4_!,OPWH4&T35W2C5H+^QN+5BLH\%'JDXE2"TAD*RW,KE,V;GGK47:X.1O% MXG-]\%Z]'T:[Y?-[EUM8=PA(WJAW^JIZ$R\($!Z.4[8U?*4)LWC2O#K$?8^S M+V?,Z5HL0_I%&H.!=K/,RV9/EB0*"^UFFY=']GP]-E[WL,M!C@N+AV_PA49-9HV$D3"%;DT43P E\+]:"T$_!S[)%&;,HTP:Q^;];%9 MY^P2S=BL/MIJ.D3[2Y"@,-.NW/JZF[& ;/V#?1RVWXN%"K8OD">:,_X.; 4KRIU&K-X2AH*KD/H4A)45S6W3KLT^*SN8)C^+$-H>V5 M.J^V%U4N *R3CQXZ<(481PJGLR-=+EF8TK8^YNECGJ_%X6.>QXB0NS%/F((@ M'=F.KDA+:><0?:O"%=FH@468E3AV"%YGKK1PUEV)UX#%!'3(79D^ZN4$L.U< M$89RE]* *UU9.(UD(L!,78GO-9)).S4R\%GBBRK[B&?3B*<.IF0ZUODQB-'3 MGFI@I/-E)V-QSKK'^BAGOU'.92G=&Q*F@DN*7\3RE*T[(.GVD5\"(2:B[O?3 MB,M-HYPPIMD/[P O2]VZDZ/ =,EE(#OV6]?"["$UMLO@_"J,>%4-60%=<4.+ M],K/ TJ:F@WF,SD'%!?@ OKX5 %_T-@'W7W0W0?=>\#AQ!8WT;5P79&)Q XC.GZA*_*0 M6D9$SQ9Q1B8JBYTTM8Q=D9 ZUJ'R]ET)&SR*XJ*'*^9:3[#$:*3-"Z_WT/,V^_%J1DMANGBW#Z; MLF2#9&?+!4TZ>/@UFYTK/D53ID/K!?Z)PIEKUVW;Q?Y5 O$ORR?=UW6 MT6$K\X[I5TF"%:Q+!\1M!7#&=X!I>H?HC/!C-Q%S[KB<))+4Z]D^1*FX7^$1 MYPG3=VQ9XS6.B[#NIGAE._-4_H'SQ3U*RDTW6^#5(Y%LB2U&,%NQXSFDL2+[ MH;:-I;2?Z>S\R/8IA8GB!.@QL^!I12N MG654:OWIBD\::2J+LKU1ZOGNQ..TDB5?U\0*C=($I_I&AA.;7A@IBH0F25NS MB4%[K7:L]X[/SI]MWFB^$I,F@"NBK-L'"$@% MNR*!6L>#P$S^L_QSX?X&* AM]/)Y]4"->, M?6T _9#&0.;8%XU"/HV#[:[(16J/-LOG&+M6@>O9UOE@8T]-AHNJ:2[3V"7D MD[=]\O8;2>@F;W>9]6(\R?M=@+96>94/':P*&BT8I8V2O&&CF4ORUJ'')WGW MFN3] B*YV[X&>2HHL$N?Q(E2WC1[.99//:RM=4>GS_49H<7G M*!H5Z!H2$!&^)CS#]\_^Z_E >7ZQMU0\!D^411 MDBAI$+8;+SPR?@YL 3PHS?A^F<;3?('H'6'4H!S3V*7-3^/V2_=040 M4L\2B/O@"C8$EX;"D7%E>GB\T..%35//NG'(3 .)[X.L6"Y#N@G(+,CP/,4S M'(7LUS"*2)'R).9@11(<890%.9\2NA!CBR<8 Q];T^AAR5YAR8=H@>*"YTZ? MA]F"___RSP*OPZ1TBM+XD'W/?RLUES19K(OQ.F#K, N[FX_';/8QOEE,8/^> M_D!XOF#O8[)&-)RCSP4W0J:S,IUQV M6'\JS*-F(M1,/JO&;ME[H,R0CSM:-__4?%S!;DK]\H-&?97 MC*3?.44W.'SB]Y*5)[E+VN)I>H^B@M*JN@)6UG=O-=9@N?XM)4\9HFO^CJ[3 M59&SGTG*[W KE4&70M%]E(< / 0P9#I/#P( ZWCO[WM_W_O[WM_W_K[:?>W MKG1EVG0KK&;VIFDHX(=@3DC\C),D"-,X8-W"=(X9R4&89:@I(J YJC%@H!%= M'A\P%>M?\!KZV77Z:?N2M +[L,Z=$GR]GS^3&<;X(HB++R9+9S\U@^V:# M&T/OVY#G07P[27[-WAD(:VXS'0P!%!XGHIL"&.N MEYH([V#9<;!D;P;D1JE?K85UKS,>5/-U[N(:*(DR+G+V5-"ZG>L[-ENGLG*U=+/<16X[2IY->.ZM M+KID/AJ/46XU#49,DCZM=V^]>PL^N-C,0G5EPNC$=)N8C*9]WG??LXV24?'$G/,X8,WY0H,:\Y"9D>??93H!8[UV!G-(FK]^0!?^9I&LVA='1O2T/G-3J1I)) ME.,U-"K;9BA+'OHE6_ED@] #HFLT20IZ=J>'XC(/,5_H?@. M44QBCKDJ[V7H_7F6I%=/?OG.IRO^I][\Z6Y@Z_*X"S=\]4^>0QH?D\T+ U?O M.,N*9?5=8]FT?XC'BCQ6-&0Z3P\KTK04/(CD020/(GD0R8-(.NA(KU:X*U-+ M1Z#=VZ1@*3I4[J\;KP(GZOJ.RLRYN9DV9:DK$;[:O7Q M *D'2(=,YPD"I" SP..B'A?UN*AT9R.@#=PYF:B!4K4]X K$!YXH]^4>]MD6>FC=F"9SKXCN*(J^9< M<.Y5V@'F5D-)R_,%N@WI%Y1?9UD1IA%Z")FS.F$$E)-* M;K=>V V'.R7.(L M8_/Y"J$[1".^;N;\>C9*LNR.D@BAN!:XA_7L5+*?V6)\)%$ZO7TVQ"=L%?Z72VKUZP,\H%@)"P?3-1MT<%PV2WC#Z'2_;G(PW3 M+(RXCI3#R.".'I5U )4M7S37:BB^*$H%7*;65,'[S^BY_$DL:TAG6RN@GCB> M H,:,O:RKRV^BJ<,QSBDFZ.E*HNPJ-H[AEEK;BK6,6H/R9K#591+@33?")T1 MDAI\@FD45T 5T*QI[B@X(R:/VPX9MQUL*!3L.?6W4 8KFV8&=G_+:7""T@>1 M^DO,'IQP6GDS8#EIW\<^.#FU ,Y,X_OO@ZQ8+IDIPD'O#,]3/,-1R'X-HX@4 M*5>?P8HD..+W\K1#_;MXE+%80'?$^@A!KQ&"LS#]\JD(F2N5(S1-=[''*=HU5U%(SOANSAC(@;]HCD$Y?A59'&V3V*$ ]NU@<36@S8:8SAG*Q1 M6CZ!1_PF2[ZFJP?5P*N 'IT2=['=_4H9R((SM0U/-!:3T?P([62?#CJ*?6"O MC[TO1-G6GF\X_%*CJ%3->J>1K86"1HLP0WL'_S4]M2J_45^C&#,_=?O,X8LK M0B](\93/BF12[:3981'Q\[AKQ*\ %$#/NL-80M3W5V_]07'.Q/XLBHV];6B) M8J8[UKBT5=\*5D"[K(LE+@X'1L_#;"&@^V6C05#*]CS^S^6?!9O "88(G"C+VX*G.N7>:']KC&TCP:4N9S.GK-Z1A/T%D# M/C\+DS)_>X%0?K,M02P)Z*B:6Z==>NA/W<$L_=M"*.=D^<3F!J?FL+>SOS(< M;X][[S?Z\X)R-2_BK_& E@*.5TS-E?F99YO]G__ C$8:+38W:(T2R5S4ZVR+ MK]N#^KZBZ,\"I5&=ZFK0TPY'U^FJR+-2O!^DD4] #SLEKG*'N[ M%+1Y4XYAGTMFLC/%Q10;; H"NAKE:9HO$-VJWITJQDB>20#JXU,%?*J 3Q7P MJ0+-40*EA4_T[6E79*-I<9).MED'A:>T;!62DQI?KLA+'9#3]A7&'LON82K) MS4%7!*8UE\#.M"O2Z4"MJWQ<]Q,E]!!"5Z:.CK6DX<"YGU3275Z-=E1W*"+P M>37"H']W0+;I8.5/P3+\-Z%!M*LVW#)("1[/6'!2DR(?E#RYH*2(U&T%G%L^ M??;5N&M)JVW9Z0EBQEZ87:<9TW.E&W"=1H2N"%,J*!:?=8?WZOU4[DO9",X- MBQOU3E]53.X% <)3PLJV1F%BMK_PJBC5_G*/LR]GS*E<+$/Z11I)@7:SS,MF M3Y8D"@GM9IN71_9\/39>][#+P:$ SSLH"T==+ 7MWY#$9:JW--[V,,O!5LF\ MH4L:@ /V,E[_.MM>=O%9&CN5! M&FR0#LNGWL"4"4EJ8+LB*35^"+9R70'==1>7CMWFBHP:31N)C^>*7)HH'H#A M['Y\#P(GC7V2J$V91BB@C^;Y:)X!NV1PT3P-++\_S3$XJ31!]DQ',7\)$A1F MK6MKJX8Q%K.$$>)#E?W>FEFPM4^><()N^,N8IDAR%Z6B;??D/#X3,#EOVG9/ M3OU9$$#+#DBY3->8DI0OGS!Y1-$B)0F98\0,G4^(+L-T(R9.M^]IA<#+(_59 M=BP7L2B5C MI_L[>\H%MT\Y$O ([F\I?E<2P=.I*)-UP5CD ]51TNSZ25)]WB^R*>SWS)4WB(O8$;:9XA\3):$YOBOTAZ] M_+I":2:* NH.8^W66!^![8-.CD-/9T>[G$2Q2MOZN+&/&[L=-X8M ]*1[>B* MM)36&-&W?5R1C1J]G 6C"O"4.Y2 M&K"E*PNGD4P$V*DK,=)&,FFG1@8^2WQM=1\U;A(?;8NDG&!(61\D[$_)#%9( M6N!C?QIHL/)I'+XPG:3P,8C14]XR14$^B+$$!0@9/CVAW_2$92G=&Q*F^TO0 M)$%X9>L.2+I@<^*09WA!P^<[1#&IO<1:U+;C*Z"/'W+-+Q5BT_N>3>7K])+? MTS"=7:!96"2O(S^:O3LE^O:17X$E?I5UOY]66L(TR@ECGOWP#C#UU:T[.9]/ MEUP.LK/X=2W,GB-EFSW.K\*HW ]E!Y&%#2W2*S^R*VEJE.:72D,B8W%#B_0R M 6XO&0%1?6AN*2XL5M&7LQF*VASB[1S-0BBFC<< MA+1_2POFYIP12LDS)= 1;657,IV)^=JDV!4P<-QD E8!] M2]7<.NTWW JO+RRCV\TZ+[?A5[PLEF^FM09?HB%LS3:2SG,>=&:K5U&J1=;4 M*LWRN25M;)3NW6U=5Y0LK[.LX&4IIS-.X..60 $/ZHZ69L\]6I-DS6?QRSDN MRR\&]?&9=K[6B<]9\SEKS9%TB:])=+T&5V0BL1*)#J[@BCRD%@W1LR&4EZJ5W=;?'C0XN700&N]ONQJLM&XD,7BP.'X: MO3A:YF.")?7SZ"75/$P*%M(OS@BI5>J7Z?,#[[X/LIQ$7YY")KF ->?'B,J' M!:LD3%L>+&@XNK$3!ZWH\T<1>CV*<+[ :';Y%44%7S'3V0Q'B$[2N/Q^'Y#> M?B_.D&XQ3!=5!-D4)ALDJW G:-+!PZ_9[%SQ*Z]6F=![AC MN@;'I0$@+ TAJUNHV[L#DN^9TJ,XRE'\P+7:[^PC,W^OTT?6"_T3A;+7K]NW M W(?%FS'+57O^9'F/3HV?K8Y-+D+-R4X]QS2N/S/EL+R[&)VV%!OR#.B]WR$ M.BY[?F2G1W9ZH?6WU Z/'(9X+O\LV&YU5+J^O)/Z<1&FTU59.ND3&X(7 MM*^\Z_)J\TZ%U82 ;N_]7"#^9;G0K\L"W-PF90:/Y* 1K$L'Q&UGT1F7VI2+ M8$9X]9T(W2*NH"0J3*]G^X1"Q>6?CSA/F,'!]E6\QC';G 3WDTK;F:?R#YPO M[E%23N9L@5>/1&*3MAC!;.%>ONX4V=>U;8Q2N3,%'Q!=,W.TU!YG;Q1,4E+# M_IK.[E%$YBG^B^F74E6(&9K_1/F!US;2:_(\U^17S94K0K=?\7:BBU[-$F%;TGPOK79\ M:3J_LKW9(Q9LS^=9O!)%6M?$"HW28ROUC0P?[GCAA\1LF'(%]BRVUX\;F_1JE=4?B$-3 MS'!<(QK.4?GC19BCWA9X,RJ&*NM,NNN6GG,:@VRO/A\U!)F51#)FHH7PAJ\6 M(YCGL&M(6":+KI]E_KG!U'Z+:P.MB?'_YBE.7KVQ7@<0]KVEA@T+I M!E';QA^M!TRSL9\!]4?KA:$(8M* %9+(N2M"4.[(P"B=*T=FE?( Q*M< MD85X@0#3>\:^2$"[K#K9>>SS 2X&:*[UZ=1@$((28U\;0#^D,0P\]D6CD$_C MQ$Y7Y"*U1YLE[8]=J\#U;.O#/V,OYP$75=,#*V.7D'J+\@5/?,$3\6G?WO-4 M3K!2BJDDEA.LJF(L;?V$BK,,(WO]!*N^&#K!C>M[1DCN*S'[[?9KS0! ME[8[GMPP3G0=)#^,6G#ECP$I&0E"7LB.5ZK=U4BK9+] .8["9"_5C@K%-7GT M8*K(-2?>EYCKM<3*/'E6J,/G@(!Z+ WMGE5V9LX8RCMA68^TI\O3_' M'X+Q]R("#F^87<'^[,?IG/TP$8@>>*[4D /1EB31*R2JV R-^R'O K2-[&S5 MY:J@T8(1WTE-ZF:CF_,FVM#G'89>'8872?YWV]X MW'-?O\5C>+[DAB\FT>KPGA8RX(I$3*#; S_1.61TV[V,''_,2BS3;@S9$SQ% MU8DA?((GI,0(P0F>7@*C#Z=Z_L@0W'A"1Y+ZC)" \A-* MT0SG920Y:QM(UQW77 B]&64^>-YK\/R"O8>4KY TI_BI*,^(LI>RM9?H;9BS M!9G.CW]_V#+=TA0I57.?5.'/V/@ NP^P-\=G%+J1Z.HB M5^2BCBU"=A57@LWJ60)Q\ER).\.EH7 W79D>/A?!YR(T@?V[<]9/*.G #'AY M0KD(O>#?)YB3T"T >8)Y##W ,2>8\= Y\'E":0W]8:6F8_4_!'-"XF><)$&8 MQ@'K%J9SS$RS(,PRE&=,1CQ+(V._'%IN@]J:X?LN'F4LHM\=L3[(;Z>D5A=O M$%1"J[NI8@CP_;0E0@#U[GX.?A@T=3]:I>Z*4(3GZ7G!-K$TVO KL[+J[M9/ M;,W=D$P$^L,'"-[Y\(4/7W11(JP3#>6C':<3[? EP08-5*ZJ8S-Y2/,A>D4B M Z*_J;%&](D,TT5LOM_W!RU6\^3(K/T4AI1N< MSH-U66B;?8N9$SC#*H;L#^W>I>Z!RD3]XCI]ZA'[Y#W\OK[QP-Z'&2 M&G*^KO?4W7#JKO?$34K:+K]&21$S?A1.O>XPEJ )6]S:@3H49#9&0%J/ZXME M>6#$/##2C[+VJ(I'53RJXE$5M5_"CFI*"884(O0X):)DM"<_S7]F+YUSI8X-[).P7I+U98N>H!56@UIB5$04+S M9R0ZC"SO9 D9ZX,3.ZB71WE&Z&$/;5_PJ(Y'=3RJXU$=M6NMMYN?((;3J5W7 M W[SL9)?RM9YC@:)WFCZ /V=R!LTQJ5GC X.T9H5>4%+TV7_K@.T+0?:$UBE M\4K-$M2?-% S@% M,.CP\)0:HN\17U\QOZOA"F=1F/P3A:_K878X\BADP@F](D4W8M@--AK.']F3 M11!*P]'&P_LSZ8[S9^)SM#QZ9PB]T]F7/3#G@3D/S T"F!LCXM34UO.X74L' MHK_$*T<$*#"[^@/S7));G:$.EIP[=;6Z\>Y,0Z._! D*,Y0%RY#9@3C'[$\R MJ[X,$AP^X:3ZLAD,VG1X8Y!G.P(]O-DKO'F#V/)!TQ6B(:^!>,-?RLWVG6P> MR1FZ"W$\F3&5($!>&H[2Z1T[0M>LZ=0#X;'MYK4A_UWZ9K97V647A&DVN.,@5\A-JHYRI!YU0F'M!]P./S_ MEL;;:T91?/DU8DVEUR,U&LM6HK6 3 %KBM8>R/= ?AL@O[%!YT%[#]I[T'X0 MH+TE24AAJZZ,D1,$Z;ORR$X0GF]I^9\@,-_:,SQ!2+XM> 6V?COM>@(*05+ M3/\6"Y*'R9 DUA:%!(OJ9X=.4W3C_X-%]XL+%AH(6# =-_S(_,RG?)<]]LHG M)>F@R2AX9)1>,$!%0 M>]3$5OSLB(3;O23OT6J[ITYG=Q2G$5Z%R74*#:*U&=/2E2):-"L#3(T&&PWG MXE!3@Z&&S[56U*GEL/Y"'1_*Z":4T7R3]+$,'\OPL8Q!Q#(&?&E,USM=?]/) M#2&J+>7^(ARN2%!@!UV'"7WEY>)41 MG%,_\TJ7 L=?JZ]QKEZ1=;\7^I;LEU\&UW*+E$ZJMV*#;MT^,Q<+\!($LUM:-J1J< MC.S2O#C;[%->SY,PRVIFLE8?.UR\F+OERXJGZ3V*"DK9:S@+,YS]EI*G#-$U M-TVOTU61LY])&K%>Y9MYS5.MDC'^7#O2O#W,]S]POGC#0?:2A9?\[MG9W7-P MG?(;&'G9IBE;,/2<+-DFMT!L5:S9<&P'$U:UM45/D-I)QFK*<";@6 :5]O(L M6Q=\C5YN_CHQ#W)V G+:L%L\RGDZ*"?,!B363"57Y*R&4C6L<5= 0_#D:^'F MNB(K$^$(;61U*"*P'XX8^LU_)KR#DTS\'8Y3V]\R'_9=>B8<.-/!E9^96;]F MGPC%I8E_^+M92 0\GK% AB9%/OQ@)V<2_)I *+SF2S<$0UQOZ=CPFO39 L6? M"(GY19S3V3WB*@2)7 68PS]!L_R%:ZDO.4JR@!:YV,Z6%@#P.W@8'A&Z<';T\'O/4IJH/& MA(:8@:EK.CDW3V#2@=IASD&K4O%T: KU=U)[B(+3]A-/\#2VS"$%BT.[LNR@ M9XO F3(-1K[[GIFC)/KR%&;\8!19\BOYJC2"51*FU8\!696H:IF#4/T89EFQ MW'[;#+;LX:/=0J!THM(<7"@)->YM(AMS[R7-(XT?V1$DJ M,H5 -@@]<&E.2['59MR#VYN%4!9L[SGC$^3\:'Y,*.4Y8GPJG6T.3;95MDN9 M[Z-GD\-LX7>N\@-'%WB-8Z9J[MET%*$RIIX[?FG^3A(V#(\PFI9G_9/'*]%[ MG'VYH@A=LYV8G]@V)4_9 M=%86KQ[U3B:Y7A_H@PH^J- FJ-"'8>G##Z<3?J@WVHG)S<,54:K#&!(/R16, M7CF?@#Z7*_+P*=\^O*<)'1OV=YQ;:>:$JP8[G%O#YH4K0SY.*P)IRAL=4W9%>$SA#F M5^KPO!6FT7!UG#2[3N_*XTY_(#Q?,"4W62,:SM'E5T0CG*$[BJ/.T>8N:1KK M6]CQV+]L=T]Z=" M$M;M_#F62NB,5UZ62N=TQX>%C0/X]/'/Q0'+=J#S5@BQ3W>^7,5$KW9/+T2, M2\XOMU(;0M:GP >8S0>8>Z"3N6[765:@^*+@Y0ZJ]U].E>PHDK)?A$(+7'L@ MH($]+D#>A"/MH^BG$T7WA_@&'>4;>&&GWOW5_N;8Z4A6QR?K+^HWX"):!G"J M$PSWV7 6>CBX^+$2<\IVPAP-L@19!Y;Q:9UPM D8@"7]DTLSU$#T!"S8GT]B M"IN+]8$%_XM3A1][#SV Y?K1R[4]8#ZTS*$B7;-QV$\59--S[A#P:8/)'M*B MU^O-O$2&;A@:W^?&6Q+_EK$.?)> M7N(RQB7_\O%CRP739&]X$U^3ON"]8^_G,]E:$?WDI.D^?VSY5*.3[T!SJMKS M-SS5 B?-W5D_ZK?BVEKYO>3;FJ7S\O'N&?@O^1O>S&](W[#>CJ_#Y-,\?^4SC 8$Z/@W98-RD MO]SD'-'3%K5VC.0T$YAMP6@^[7D :)G/B#:<'>(SI6WG@?B4:;.16Y]*/9C MH,$\ZX@12A(7\)3JA@.;R)YN19I/ ME.XU4?HZC2AB2^T"5?]>IY,H8@HBOJ-DAK*,O?TPN4)OKFG7Z]PLZTJ7Y(

    _XG0^B?]=9#E?P-/TCJ(U)D4VB9ANSG N$'K+H3I@IG&IWPN<1:1@ M'Y;\OW7,=31TT"B90L N+T+\F>2H-B]>TL+L28/]V^<[-]\(2IOAD=PCMF%$ M.$&?4<[6*UFB&Y*Q[\]9$S:5>&WP^&SS6\:]B2FS=9C V5RJ(JC\RMTG9B&$ MT>N79?JQ1F7):>3_YS;2FFDRQMPAN,-_F*3QRR^.6C)FDX(?36,ST2*\R/TS5W##ME0-?[2R/ MX=?RC#O[]YQ]B7.QY&'=#//"G,,(EUJ"_9V@TN))8V;)T!S_%=;8@4VZFKWK MMER(T]GQXIRF ]#XPR',Z/NX(A3A>7I>L-F?1IM'9DYG/$N.I)_8$N:6V1F: ML39L*0@$IS&"K53F'2'3E+N?TQDS,YG4\PUWZ'+^PE9<T M7UC]"(-Y=>=,'7.O\@^<+\Z9W\KHI#)65\=$L> M?H.)-1EB,._S.ETSI4RH#EM'?8:S^/8(R'FXPGF8*% 7_0&&PM\-_ZR_Y!3] M;7/'0V>5990W66F"_H-99B5]'-ZK2)QD&1*Z6,#> UIZ+\EK_/YJAQC,*[RC M:,5,PIT#S._72S-^?J&D7?.-0@:S]X(K];[Y@^(<79!GD>_\MJ&E8A.?45X' MBO/03AJ] ,4%G, 'L(2,P0E4['O-!QH"O]=E0D6+-UHSP+#>: V!S=XH8* A M\%L3N-+CLV: 8;U1_8A@\X%,\WL(2XI9.;2QM#ML8]S9U@M[),RQYH[G@B0< M<[PBM#X%3,!2T^%L;><[>A])FU5>!Z\ &"].,P6'Q8$)KSE()* M"Y8_0KFKZVOMW1TEJO#:Y6R/1M,9SPHB:9EQ(V(*VL\:-SJ7&H'[&2[YN-I. MG>GLAJ1S/F5XA$_ A*CYL*J6"(@7:#1+I[I+%:KI*0A3':2NTYGA"ZK+#B%V/5ZNU,[1&O>^1(@IU,"1))H0T2M?"T/ M57J2*T4LY+-#F=?KBAA\+8]!U_(8XGG+MA!/?]*R4OJAA3@($&QR3ME(YY?9 M0P6NK%UC4GMA*^@FH/8WDZVL?1M"5T]B8;=9;L"'D-OFN3E7;L2%\&&+G M6"$=DX+N\ZQE#Q5W3N6U[)[9,!F]AS([)V3)Z!P-["L;6J" M!F*0"A%P&J ':]DE",6]Z-*\1V\FV@W,LCB%A/RI21'P<<@YLXD*7+V0\JG?I"@G(>DRJO*RK1:UB0/ M<;*?!.J+V1H/;>)JMI;$^KV<[39,LQE&22R^R$G0I(N',RNDH"B1/+NV M10>//LS/#F;J,<6=#FSV5IR2A*LP*G-K)'>UB!M:I%=Z3XNLJ;\/Q]'[<,J4 MVTSM%URORZ1AP)>OIJ<>8KK8W+D>O!-O)5RWS5LE.N6B8Q MPXF.Z>N*/-05JU2.2P\9$0.>&6H#TA5Y^/I^,#VJA%Q<27J!B$&&>KDB!Q-U M#@>>N^/K'.J%H;2]0E=49W/Q2&$ YU2)7#Q*H,TYO:*0APX(9CI:^3[(BN4R MI!ONA6=XGN(9CD+V:U@=JN=^^HHD..(Y7\\(SQQ]8AD"2">,U!@G18[7Z %%!2VS MCBZ_\N0@%/-T:)ZJ6U0KF_HXTN.T?@S86AF7SVAO8_)1G].)^IB MI\:".@P0GK)0207F5;=2S_W-G,'*JWM[L#]4R\*9HE:3#FK]](=[#7;:]>*; MF<;(?@CFA,3/.$D"]F(#UHTM"LSK@H55J5,VPHJDO#TSAO9MF\%AW3S,&/+5 M);D>Y.H5Y+I,4)13DN+HD;U:<4*^K%T79*1KS$:O]J)'%"U2DI YTPH2BF!= M.B"N/*"?93"RE(W[1":[67@@$+++-6X( ?BT)4+@W+_^V2QBA.98#_E@X8#^0%)]7!?KW#?[BJ5LS#ZPG88,8PE;>AQ1X\[=KSZN\$<@4K& M5*&2,HJ%Z .9Y<]L![S>4U?>AB>M\J#5URQ76\U0EEKEY=D6>%4_+S5Z&.7@ M"JO>O1!K-HFB8EF4-60G2T)S_%=X?#'#*\::#S04?L\VM^&_"3U/ MV'*18+@-1A@*AY\HR1JP]:+;4'@Y2%I9D:?A*$/A]#,2)7;#.AG.UX[1K/4: M:SC*D#BM4CAP.E=$VG2'">P4G+'%K:U3!U(R-71/BY$,LJTL\67I3=\Q"3,N[N+9^VT9J2JN:6Z!=;OO7MO&9%3ZSPN7,BL[I M?*1AC/AN*5]LHF;F:5V&] N UIIF/F,%C&7Y;!6?K7+*V2I-/6;2H:OBBBR; M('RD([C)%1GZ[*DVBJOK[*FQR$4X61J#[JZ(J*5. H>=G,LFLIB0-W 1M9Q2 M,/C%9R^>0&IG)S.IG80&?A5X0PE!TX_ 8AKX+7!M=SG]1!&PY 9^+6M+REG[^B%E5[0*3#YZ:6C. M;4Q-90-*L71.[3:5UIODN/ZT\6 +#[7-Q.K/Y5@C^D0<$5K3PN[:WL9@2X(U MRPT#"^IG9P4%2!.R5!F-G! UPX8\/VBF)W^NK!9T-,S"Y3)7%KRC=UHXL M*V^>']%X69'X2CAZG2VEF$^>0QH_LB=*DAIKVQ@^MI?ET]E#F"BR[83MS!8U M0RFB83))XTF\9&9:EO,K=M9H^Z:E'&CU-7T% EFB@Q&Q7;K2XS/*'D/@0'%P M M#'*!?WS )@!M>"39$+M$8)67'"('-+HZ=ICG**(ZXA^7:AXD'Y+P MRZ'2^#:D7Q"OI ]Y"=!N9GFIW9F.JTJ?;=X6G>;;PF%O2.,[MJDK3R+U^2B? M6.]+%K9) ._78/6YX:>3&PXQ?4@C*\,5"=4[%<3D1N&**-7!3XD'YTI<3SF? M ):C*[* ))@ 73-71**ID!5 @BL!7TVIZ/DNKL1Y-86D[66[DH.C*:<&2),EFAZJ+Y+"C2L(@Q M:P(/N38MAQ3):Q;#L\,)SW>ZHV2&157\CEI8*Y'%#<@;1D9UX2"_G;A@4V&Z M5Z-G:$;X>1K>[C'\RF\H9+)E^SQ.0[HI]\W/A/V:YDQ) M4B1?A;!.PTGH:)+*88F+TBS>[:-\)O^!\\7NU# 3 MR48"B/Q%U3?RB0H.5 #4O&51TDD1, MA $&'I8=A/SUC0NEIB4N*4/19_&(MHQ)!B#V4> M/E;"29F9G6_;#E,\JL!!?]4.(<&/2)?,:D)4#%XQ+9G8+?!@N,)?L;E">%%PT W?LNYA+L)C*,-)E M^8E2BA:,5>9*!6C[KCM.G84^Q'(:K1Z9/J5V,"FU1Z^ML@.803"=B2/_DAZ6 M:1AFC&5R35_&I>?JFLX)O&_BRSG MZVTG[CM>O)/]D.<4/Q4Y#\X\DKM22PND8)0&2\621#SR%W\>9HNKA#S_ \5S M](GI ?[E9);SRTXB7J,:S_#V0%3*PS*-A-G^03[S!$+O=%;)FTFPYBTH,OL: MCN)"CLTXXR--7YC/U?"Y&CY7P^=J"*+,$KO0N2DA%43?UDR/J1Q#/0ELU=IV M*H@+320">Z8&\:.R:-F'8!9B&JS#I$#!$H590;?028+#)YS@'*-L]T,Y(&%$5LMN!T'CR%&7YSI36P'';/5!@KB&V$#P]1]5H2F]]"PF\[C&H+<9=(XG69YE;=DB'@2-1L M#+1:PE@/9.P2W'E1/^F*AG2QQ,-UFC'#E:O8>YQ]D:QH2!>C/%PQQ?\[U_MG MF_V?_\!L_=%HL;GAB; 2;O0ZV^'K.ET5>582\TY:L1O0PSH'[[4Y>#\P#CYH M<_!A"!S<'AE1;Z>Z5&TU&L-*88M[9D0^/(>D,1;ABH34D400P.%*% TP8=2@I2O" M4,^-)LZE*]+I8.M2>;&N'&+M5E2U[G)_@= QBZK6+W=E5JG5$QS)G7P=D7J=QP6\F#)/J M4C4Q8?*6'9!R@V?H(<(HC5Y?>W=,AKA5!R1,+V]+H>=H3ODH$CH43;L@AF=9 MWQ9)CBN!RXB1-^V F <>P6**2DQ#?8M.'KW$;..)BX@-H9JERL9=$\16*O^# M[7I\B6X_25Z5=N=."*9K''%]4DX4")& #AT0]L@&7X8)&Y^M9@D]LG;=D<'? M0:5[%>*!M.^ K-^9CT6NE^&_4;A?;E.Y45+T\ M9R[=4/1 MJ%)NQKY3-]:_XH07L$BT+WT:M$A >4BN:%U_N&*8ARL&G!#?X07*9G+F?PD2 M%/+K(LM_@HAD>=,L>,A0QO+:X<3X3/5>,]7W-RO=\!=QCSC+NT^/B"Y?$:/5 MI\_\-\@$ F6TP6=BKSEJ7_&R6-:FQPA_[Y\J]EJE5-7]WCM5]V$Z%Z6=O?G- M##5""=7\:O;*FAKYJ&XH<^"\UEP;;+@0/N\SVL[C;RVMW8"46S8 M8^<:EG[<*JF51@/0R[D8B\:BT?5!G0O&-)>5$ILP'7]X]R'(T+S\C-,9HT *=PL/UJJ9&,=)S0E>$;;WH,TD?JOTM"7OO[FQ5:+W= 6Q].K4_++VMK=BE%Y?5MK$3 M[=P52=[-%DF1'% ?'V/V,>8V,>86WH6//)]&Y%GAO!$=QVGL\M#3S02T!3DG MD]HX/00"&'ND"K9:M"S'L8ND05!7;>XX)Q25%@&BP<[%-F%RT<&DG8MR@D0$ MQ,?'/G_T]"\0+1V[4$QF%HUET0PPLVB-Z!,9Y@U%'8!!_>W8 Y:;01S:.25E M2["]*[[AW^.F$X7K+Q%JT.M:'F A0*.X@PD'PS'[!L\P]P2",+J MYKU.\\$ #["=#P8FT>>#^7PPGP_6+A\,L-C:Y(.!U[+/!QMM/MC+*U%?Q3'K M;X_UF6I.9WSX[ >?_>"S'[K.?H#LI3[[P6<_^.P'G_W@ ]Q##'"/12X^5<9" MJLQ88B ^^\%G/_CL!Y_]< +9#_Q&ET&&M>I1M8'$L%*4O[PHM4C#V0PGF(>6 MCZ])[3*NU?"AMF-=K$5/O/VAQYC7SX2 MUS2HTW!6M0GTM)K(/095MD;$)T3F-%PM.UO\@!%38O3.8;J0P,^--!C:*"I]O7A@M,(%ZCW"J*U!8Y=)C#$$[C#N@!Z M@B:(R/H?.QH#%H#2E!G[5#")2PUT,HP!EQKBZ8?1W0@F,*42DLX3O&9FTS;% MXFD3S(]T0L#D%7:+735ZI&WDJ@71'K?RN%5W13* MHU >A1H-"C78["@=$]@@ZA3MLR"9??04,N(B%&0+Q.VDJ* E[XQN3&(>OBMB MS-K! :8VHYO DMK3YX_[=P/6M#_P&Y5[<'87;KA6.J_>GL!/DC>V0O<]BA!> MF6V.FXF8HR]BR#),KA#(E%X!.-OAX"!-&!UDN<4D7B UY M']-<%,LBX3KMN#X1^SM!-86*A!N3F.%.AK=U3>G#5&SY8I$RA$H[; M#('.R5-6QCXA]+YN:Y3JW1DEMIJ><%KJCZIDW9Q1Q@_LX'A;MNX&AT\X808' MKTTG?1N=C&FV0DB8+9BFY/]P;;EF6PL_KY6?AY1N&-V_ATDA0H"U^AJN>\(V MQ[PZ>L8(W+V"""/10@?T,,X!21]R$GV1O@)!,\.TODUWV,]ON?J"=+5T@\W% M%@K85ZNL5)RDBE6V,KB?46X^$1(_XT1D4+S^ MV?0U8&$ZQ\PWVK_QRZ_;;!\%W3I=#?.T9J^:T(UXOM>_Q@B3Q-;.' MR;J$6;)/E)G" HK5'U7Z G!=(D:6F-8J7!+V]LE.[;,%HPYX-N MCH$/F394=[!3[:_4TD#[$=9I"'PHIQ*XGT5N[O%\D4]GOV65N0+BY%4?6[>' M:4+KBDI6F*5R&.M^7=F4X_ MFL;R>:/14N(F3DJ:@Y,@1AY CE$$?G3%NZ?ME"\X$XSJ$>;1 XU1)R;#&_Y?%-: M4HJ=NR(0.:O'56GU,SU<63Y@&.8D#Q.S9WG@BTF6X^F*GFUYLLGMC1K.]I&LH/%=5V90(R%! M4X+ZV\$M:)Y&DM(+1?2PK=N\HKN1Q'H[O=*?H3#ZR5@33^K/:+!R[W6FE M9( %]I.#&T)]UBU8)#\[*!+])&6PN'YQ4%S0@)1Y M7*XXJYI[/>2P2'\NJ@5?0M-$5)X =<85[<1(M."/#EE*D(.A<-$X94-W6"0' M+D&G;&WH63FX>,80*&JLOYLK;FW3>LBS!ESBR!4'%H:400\HN(*4 ?A]F:(E M/]WJ"E*F)Q9YW2U7L#$]F8"*.KJC6W1$HWM4T15T3',"M:ESV@-<9C/A2$]R MX$-?_6%D%@Q"/1FICU#VAX\-7CBZ];H.HC)[:\#^ZRP@,_;I0&> *D+;WAS0 MX G&;P]H3&.#&P1Z*GLMO75.N_\02EW+.8+T,$/BR8GCD+F:+BKX#)OYS*0AX;CVBM/ON!Y$$1G=$V]5A;%8NE2T'8SFQUW%)/R1WH:I 6/M1K=:V MD2X,>6.S53ZX\LFF16@ZRPK4'Q14+;V*MNE6I*[[+&RT5U!HP6S?'C2KWA* MM1IM.)Q_1L_E3XT8?=-Y.'P=$OS+9I/GD,;,_I^A8Z]4AU?I@+8<"&V*9<4> MVPTV'+[+'ZBS#QAH,UPWU5GW?P7 E M43(%;<0K<,1!2Z"!TH*--1BN.U!9ZG%&4UK2DA/7@F([;EQ-V$WJX2O;VZ.^ MG+V3B$F3BH%)W6CD.Y6G%3P6"<%-9;AG%"D+->G&-4I M"7?RKC3EHA%*- Y M93W 6L*K"CC*0YJ;SK0"I9FK0F7]S9&A2T;I@#JWCTOE(0G@.[=G2P71:<3? MN>U;*CJS&4;.;?UJ?=4R3--?'O:()*:#$?>0FVTWO;^7F2:.AX+E-_ B!_U, M.&% !BRV@=?HZV"^ 4(; 2=,)U:))P!A>1RQZ ++<%+B&XQ3_\9=@H3@P7E?8YS H) MNTP'*2QER]:W?BQK(_ M_#Z?HA^?G9.9M6 &B?O,Q&LQ-IZPXS'>P"0GSYLL(35&.T(BNGA,/OV_NR5A MP!)&HB5:HO;*;',14G?7KRY=55WU:>XN#/2T,$SGYXNYZRX_O'___?OW=]_K M[RS[X;W4[7;?/]%K+OR+/MAXMG7AT]0VV*5RK=9Z3[X-+Z1?:/KZVNWK_"_# M2TU%5YWM*QVLOGNP'M^SK\AOY/KF??78(=3?ZZ;C*J:*U]<[6M3,R+72^__[ M>CM6YWBAA!?K3VZ5/'KK!^%0=-/03?Q_GT>W[UU;,9V992\45[=,>YY:Z-'V()T'U/OG^>6]QU4GUC?ANSL"TC9A;LFZA9N$L[ M&COTFRWHO"#*-G+HUU/%62-'=ZR&++7W8O2RDR^V5ETW MW6V$DP^PX]*1LNMJK7IM+5UB2&EO$Y+ ,Q*S6Q>IGFUC4UU%WS'\=ON^NAH# M)5W=NA _J?/H*^DWV\.P/-.UXT;A?[GU X+U!T591C(!_6+K8LVU=WAXB]+D MZ_?T:_J;&N4;6;JX_ %]FF-%NT0_(/3)U5T#7U(:A;3X4ZK]_8Z(_$_O_>_8 M9?]?M8J^8!/;BHLU-%VAB0_%:P)%=&_9KF*@*NJ\[[#1HO<#^7O_%56K M_AT6V%40'6,5_^WICS]?7%D$!Z9;G9#Q72#5?_?SA8N?W/>^QGE_^>E].-)/ M4TM;(<==&03Z,W)QU='_P1^05%NZ'Q'[8*8L=&/U ?WOWY[E?ISH"^R@._P= MC:R%8OH??D1+1=,(HWQ -=U$M7>2;GY$! N.97] BN=:'R\N/VGZ8_@D37>6 MAD)N:EHFIM_I3Q_HD+#MO]0U#9N7/]#7Y(H[;X%M7?4G\^2.J*[4_J0K0M>^ M)@4O6U6*>%.A7$RXY4/?)"N]NB+3MQ5C0);UZ5>\ND Z45P;'%^-ONRR1OBT M5F_)+?G3^ZUA\!G6"#_H#E5 [AWY)FY4.U==#NXF_?$$70U']YQ'U5M@4R/_ MW!M#>;A OE;\^8*HT0]3B^@(Q9PI!A'BE^P/YX=?,:GAWNB.JAA_8,7NF]HU M88F+RVI5DHE6XOR\:TOU%NL'WI-;6-H-^V MHE*;A,%"E8AA(K>[]<[%UL/UK2=ZINY__&U\'3X_$&T?>H9A?:=:YL8BHL6; MNC//Z*E,2CHCK&+]49D:.*#"!:(#);^N;\/ ]!::Y6I8U1<*D2+!"R(AJ_6+ MRV9M3:-P[*],IALQ&=FG]JDGT^BVDDRF4ZLUTE+FREHL=)?BP^F9&I7=1(H2 M!:IC9W/HQ*[Y8.H&$1&V1[@BX>B::9*C7='>4^V1YA0 M6QN[EOK7O6(/[;%+%>IOBN'AYU\% ZX=B(3!W0W1 N^2 ;M#E,:AJUV0^4@' MT>> F;!+G)[GSBV;&!E:NADT*T0STW\)IR$?1!;AIU'G2XV!XW@IID"E9-*1 M1TFA(T8^]%RZOV!2"V;")I)M"O5-I2HV$PS]B_7D/OU&IUSJ) MAM]H[^R,8[?EZYG<>R\G0C;A4VP/9\,E]<<1]3;&#VSODW(BB>;0;4O'S(%Z M&M<3^*K\U[*O/,>U%MA..?I$^._6ZNV#1O_G+<$*IAM)>A-/,2;87O2>=*?: M-Q]UVS+I>M-/U;EI&=8#V6@.S"_D&L5_:WNHG#>X2W'Y#5TEE(D/H@I8M-FDHT M.+@Y>XU<0B2>.]>4U0H3L6=>7'Y5;'6.Y&X%R36IQL&?F._\^T]+W8Z=?_OU M^?>6MFZ@>HW.7VZ(/7\*\?T3[B2;,!=G]5$3ID%M'1L:)\13"^"U!1BJKD6> MA>2V&)A/O@1[,5"77U\"(C_9PU!=$@/WKZS!J\"OU_.8M%25:E6IN?DR8C(! MONA%O0<;,XT73#V*F/X"3#XKYE_1L]]^!-6WVW.G#OV-N=/DE0\:L7')M"\N MFX).\L];RWP@V%C0>U,#@5U!)W=GN7A[(9B]N#V&:UOY[H?"=M:BN668[K M7"E+G=C9]-/>@D;.LO?DD?D?9@Z7=_[-:/I+Y:-_$AW7^Z[8VEI='O0G# M);UKM AG,Y^^F/GSCNCSZOF2>V7%A I]U+/2BY)VG=H>:LP5Z/3>HEN5%TF_G,>X[C M+=@#'8(+K%)?NF60VU!],J(I*"%C5.4#.:-!?>G-=B+9($?*QI>RH?SKUDRX M;H>ED40Z+E.OPC"<.+95W:'9)K[G+:6GK=6N=#J),DZZPJ)C0\^ZT*]T. M'__0-EN,B*PCOW2#L&7H,J-IE\/9P-3T1UWS%&.+A9SY5Q&G6A_S7V7R9?GWN;>SH='6&LUB_=<[K)=]8K M-M$P"9Y&V"5@H".Z-Q23)J3Z&\PY;M2D7^EGD7O,&=EFL=PQ6Y]ZS.PB5P9L M9W]57'5.IK3Y_=8LMR99EQ,Q#7N_F4O,LAFPJ6*'O*?G$CXX+ N?3!NQTR,? MYNP@#AUY-4S,JMDO]0I?/(PQ_]_S=>IC:QJ5T!L^/\+\)WX;^U%NNUH:J++8RONL+[ M+UB,$5\&CV?QQ? 6X7?A>WJ+R+4.E62;&@>G7V#_Z(=[^3RH]8V";Y*N&=TO M[JY8<)CF _DN]8()@LCM!=L$6<(%>S''T&(4:HYRF/M^-"C6F4'A4Y@V6S,O MO93)3(4H^I3X>?%[^N$U-JV%;D;=]E!&WKK%^^W1OP;?4+8VA)>MC5QDZXNU MB7 ^"K8V\N%K(W-?FUW'G'AK/4-%3%K+9*<% MJ&&XD9@5&(89+V"P#G[6CO]6(P][6AJZ&H;*D*:3;QUB9FX8Y?NF<7$9D6CF MW^O3^\A'K-=Q/9(\Y7Y*8O4T3:?&MV+<*[HV, ,/<2D(MW=N92(BV:$I=+?5 M5VR3'ELN!?6B)U4FLO54U5MX!DWD'KIS;-.O;3RGZ_6(!Z9J+7 I*'GP/,M$ MW(CTV%(0,W9>PA,OPN52!VN&*]V.\!W5-XA\K V?F,A@!9TQ\<%Z.BMR@]65 MH=555%" M59&HHOFN3O)VNA@ZV;MN=LAUK$;3+!93^&Y.PD1P?8L)-G ALS' MR M** B[301-?!GLO! \>#R)R[8.T(23X+T M_PR))?'-4CV,6&#"E("(8,(4DFQ@PN1CPIR$N&#"B$P\L8*(_.88<8(5TKXR M="%;D!LLRKR!B@4 !%FD9B2Z )7OZM='!ULV^ M. G79$ZP64]3G.0$1 3;LY!D QLRK^(D)R NV((B$T\ FRZ3.<;4'@2++;M] MRNF**"8C,EAZ9TQ\L!#/BMQ@6>;HG2P**, B+331=;#G.TQSC6GQ%]&#>Z1\M*"I?#OSBDO4? MVQY^9L9V;OVQ#NA3 E3,)ZY1G^_N".72%C-ZN2M/ER M[$T=7=,5(I 5VM"0B67?NG")KOVJV']A=^ XGF*JF%[B[#1<%Q4RL1,+D'/@ M]+(4#)0 !PJ&S4O30JK_;13;!(Y\EQA26^R/]02>"2+:M+& MXE&?,J!]5LR_OGB*3506QD/SRG-<8M'90UO#]C5>6HXN.-32SSW XL$KD)&- MQ/<8J-2A>*U+?U[1!O+87A)DK]9=0:_(@(:SD44HY9 OR;HPPW$XN\/?_[!L M05T^CNU^B)I.0,##)I4-]<+EYAQC!NKE0CW>&0*A/ ;JY4*]C*H??%8,9I#, M,79O+=7O!4TIZ/L_/-LFX[O5E:ENZ.ZZI_2?-XIN_Z88'OZ\6K_\A:RY8JOS MU2U^Q'Z7ZO5W W/IN0[[HO[R%E]]0X NRXV-__:PJ:ZV?[]QA3/"*AF6;CZ( M":)05\>M[+.#8N\2Q\+HX $<1J/GX>PA%M?!Q%$[8B1[R%X,-@L;= &; 9L! MFV76!V^MS3Q'-['C]%2R^W'T-9=1O[YA/>BJX%B.'G[H1]B>1#$$8$+*'"/Q MI',@;JYB20*D12)-!J1Q1IH,2-MGQ0'2PA@0#H>"64?%!6$A# M*6<0"FXT%1^$A;*AUBY8\ T)YK5+2)D2&T<%W$=E:PT5%VF"6T %1%JV)D]Q MD2:XF5- I&5KUV2$-/ -G0?12FS^%']'5$AK"'Q#Y0)A(0TE\ V5"X2%M*$V M)AYFB*VN#,4)RT20P9D/9(CDE4/(;+,LLQ>Y9**":N_LPMSF ^1;O_42L5U0,42\.*] M;:GDLW+1+W929>(_H)RX/'>CF[J+;_5'K V(##$?]*F!>XZ#7>?SZJOR7\O> MV$4$-15&V&"FM3/7EX)3,L'T-HI-QL^S&&R9AKCW!/+D-MH:T*L24C9NDF4G M:QFY=&MFY25@*(P^*^I?!+ E(J3OM8F:7HFI:2V6GHOML35SORLVWOE!B:B[ M4;GY]1F7E^ 36]$PK;921A&\.[EBD7%@:GB6E)0+Q?Y+<%(FG-<..3351@;=C(GW.QD!" @[F5)1$W8R.>YD!" X[&2$ M)2/L9$ZSD^&?V]?8R>WS)QAHEC":K7USL"TFY6B=V9=C7@>K-T;.DR2[N7B' MMF;CWRUBMQ\?T"\Q_4[73S$BMQ;HEX;_Q.G6 O1+PW_Y]&E)J?^&_:\]D]H" M^,%67,L6U(;92\F8.9RM3@2:ED]/ DW+ISN!I@77I_>VI7FJ.[3'V'[45;^E MR62.[05-'W;H 9K@$H%)&S6)L)?=GJF#DP5% MINS6%$#O D7+IF>!HF73JT#1TNC1,5[HY,?T"\L.KB#+2,V-0IM-!\_KC#4N MT/Y\=3/0_GRU.-#^?/7];V3]K<%">1"VI>LK1'XY@3/6X$#-,NEDH&:9M"Q0 MLTQZ\\98^>[W*681<56W54]WJ6V!10[M[Z'O(5,Z8]T*%#\W_0L4/S<=#10_ M-ST>OC:UH3O'=L']'7OF[GFNM;!H\]D2T'EW M,J"K@<)GH)^!PF77R4#ALNOA:SPCBXE[V+:]?:O/\%C5L:F*7OW]($J_G [H:Z#RF>AIH/(YZ&>@\CGHY> +P1N< M'9AXL#D5T,= W9+K8:!NF?4O4+?,>I?ENW_U#%?W0^UE,+%BY@2:&.A]=KH9 MZ'U>VAKH77#]O&[ M,%3U=(_N1?V$GEQ3?#;B'8I$_RD. .3$,:C:TI>JI:]M,A/L28VPEY; MO^=6FY$+&0NR8P804N)E>_L8DJ0?Q=X&,J]3M?@RU3-UG\'^P,HS2!=8<3P; M7WJN_>&/\*?AA^%[^M-$O#I2S >?Q;[JIK[P%F*R!L7$>J@7EPPBF^,M/M$3 M$DMY*A:Q-L=;?&*M.?0K^6(>R:)?$[.HODGJ6_(K3$0KD:NJZ]%V'?8BZ*#Y MJ-N621>(?JK.3C[B)K=ML'C8]GAC::"J] PL.3:5W M>1@(FQ]A3R_)#^/IH'? YJH$=BTUNX:SGFU3<4KGO9&K.]4-S&XY- 7/ 'H% M&K'3/]Z2C5R_K23AEZLHO&C)!523[Q: ZFA0K5<10$5O*;AKIQ"0RL"5)(8! M!-@J([9.O$&[L\S>DDY"F1KXQ4;-G7NFAFW-6N /NHL7W-PJ5S;6=/=&476# MK(R?%(9=%]O#F?]5@.QK/'6?O5G^UMZ]5#^.72Q5@ M>'O!BH_=6*T,H"H#J+*SWN2J)%?K$N"D;#@)")NA478,9!33(>0T1 ^J"829 M[14#C06P$AQ68NLL0(J02.&GM=+(E-+#H,AL#,3)DW.DJE2K2LTHV3E478L, MF%[4>[ QK6,A_(LBSHO=?96M2W=6>Y@D>E M8L5C_*(<+Y/C5C64S!MKR^%A$<19YU%MDB@C' ? XXWC"$R.\*-E/.KFP_9W M\4;#L< 7%=3[)-C>1W5=U"T;Z^^<^FQ M>8;Y X,!3 4A,-_L'6I=:MR+0KT/?)*P]JMI9@ ^G7(.'91 /0)=WD,>+S] M(X!CP'&N.,XH!RT#' -&3V_U9@< ^ +/UY;RCFG;((L#;']*NQ:ZE_#5C%$?T1TRO$!M_F'$*2[)])EC22 MN6=C 8V$Y*.X/&\@5_$SK./*9O:^*[:VULTC3-M1JB[6V*H$:IR62UK@L4L> M36=\:ZFL;!/[Q97EN,,9*RDE-@"V)KJ9WA(QX^.5ZYXEVRB&M;MV64).G,J= M +ES@)Q0Q4,!!R!+90<"((L/R%)9B0#(X@.R5#8D^056;'5.EO$:/V+# M6M)+ )/I,'G :H(E"; \)UB6RIX$6)8%EJ6R*@&698%EJ6S++]C$MF*0=>QI M"]W4'=8_Z!$#,-,!\Z#U!/L2H'ENT"R5C0G0+!,T2V5G C3+!,VBV9JE!M:Y M66= S!+9,T#,$ED 0$Q1=>9^SNPOEH:UPI@MPW!)K8U"$C1V'N?(H4#4$G)J M],9KHKL&'LX&IJ8_ZII'M@6; ("DXJ#G=.0RA>UGMQ>KA *#*[;(6[RDM:=, M]UJWL>I:-L#L )C%KQL@+BWB_OR-W(:F<[$LN;EBX\^*@[4K:T%=(;[OA#W6 M5DP"/>&[(1<6J0?/<(-@&TEYAU.NA+Q2J]8Z :^PEW7I(%[9.J^]L5S-=3SK/V'5H_[SX6RFJ]CNF1K[_$8WR8+JBA%\ M#MSPNN9(L:!9"G0*CP,%^N:E0F'TWL8. \APUC?@ZE@N16SVXP)&;F(+9=ZT#HAQ#%.Z5HFDMK/JV=;WEA[SW;'5.[*Y"5D-Z M9289T2A85 XT.JAX%9"KD)MA?6TPU24@*&<96<] <0&-A-1C<3%"(%?Q0X5A M6RJ0D?R->ZXR$I@N&QKQE)&LQCS8D5DWKA E #G"KFZSO.K=4K>-FO2K^'2- M'O]SF=OM691K;Q"7 XT+5\>.-"TX.G@$7L/H&EQ]QS)]6EO,;6Q812?K"\F M]'.(.6;VL8@X&(1[ MER]TIT0LXGGH#\#B66-1J"/&@,6SQJ)0YR\!BV>-Q1+;B\7*.18?EJ?+/2ZK M%0D(+05"2VQ; D)+@= 26YR T%(@M+QVZ+UMJ>0SP.;1V(Q=2; ] 95GA,KR MVIN RN*BLKPV)J"RN*@LL%UY#N@Z8P,-R%MJ2P?(6VJ3 !Q,73Q7IV@6E(-!,_T2R[6F=A54# MU!EC*J.BAI">(#*\\DM/*)KT J25 &E%D&D0#BM4.*Q@<@S0551TY2N[P!]0 M&$$ I!*"J^(B(VM9\@5;#[:RG.MJT,'AVUA$"L6.]^)2M3S3M5&H:6R<8,SEW[ 3%+ MI ^!F"72D$!,876F#N:I4-X4(,'A),C(]PARK%!\ 40YA3\QUI*+C._T' <+ MZOY-$ES9F$9Q3;I/[_6G#S9V+,]6L4.(3-_/L:*QT6OZXR7Z :%/] 7YB]#_ M_L^34OO(/MO^]M,2.>[*()2:D5M79\I"-U8?T/_^[5GNQPE980?=X>]H9"T4 MT__P(V)7.OH_^ .2:DLW^.!1L76"QP_(I&W!C8^(#K2J&/J#^0&I9.FP_1$M M%/M!)^_ISRXN_5%]>K\DXSGI0+[=#2;]:S2>]";]\:>IC=Y?HG'_ZMMH,!GT MQZAW=XWZ_W?U2^_N2Q]=#;]^'8S'@^%=<.'OBC/7S0?7,BOH^MW5.R37FHWN MOEGM3.?C\SS8-+9F$4QB8P[!%((9D!^@\%_GY:K.[7 4:LPQ_K#G*R4M'SZ MB%3+L.P/Z']J['\?T511_WJPB?[7JKM??=ZH"L4LPP_[:S#3XV>IJ.'[8&P!=:1:[<< .[I)53D%RQ-]GCNU-*(TW34V'K'M4@,JQ(=K+=EU MVNXM?82A&*B_6.P*8I]4D$-X9?9QE[D/6)E7F/<_'M'CV#96([RT;/>",!"Y MBTNL7#)K8MY\F%J6,54,PR)S?CJ0S0G%Y98D?WS)ZH0LG]Z[6L3*4*SGNC+3 MR_]\ZXTF_='M'VC4OQ^.)NC^VVC\K7O_8YH M21 T\#OX'?PNX]^=V).2DTUW92T6ND,#%>A&)QL?8G73\ 6/?6.?!23H7?V; M'NI9K-9;DM2.V0P&;NWUGR3TUVUAZP9 M&N$'W:'VKHL4!XV76*5!( WI)M)=!UW-V:[[;0'VIPF\=/[FBNUD_7%4#3QS M/[#-5O"!S9REP?;K>6N[N47;V=[2W:U_8_F=_&/\IHUS^,'?M/&#\\!4G^'# M(GI7?A+"E:7AEQMAAUZQM*U'>I^#O2+7V%"^*S:.XX$-N+(A(+(QL\C.S$;_ M]6S=T725;)\C0(8K@J^WDBF23+5;G> MKK6:W0-(,G@W>C=^A_J+I6&M"$VVGQM(V+=I]_HETCV4P/NIUM,T&SM.\.>6 MD%HZD&*=6@/U%<=%7RA_7-OZ(ZZ@L:>3-W*M%AFY2J-2#AO_%7DYM"?6]T,% MP%?W';I5/!L;NR.MQ$?QMA[)Y,+0OB>BA\@ ;I*)@N'?V';P:G=@!X[KWB(/ M-OY_?>G+RX,>6NO4FHT#&"]X!)5[2YO,6E\J!L)/6/5<0G[R,>%!ZOPC7QD> MU9?H'WU)AJ#AM\>8%6]B9T[IWK.QDF"NG69K=Z9OXY?VUB*"^GYNFUTHMC@Q9H^&T _.6B"#;RD3PN$V.92TGFB*[:68 P]&T.J19]O_GQ1OWA5 MP=:EO/7KF/"&K;LZN;/-"(UM8MPN/=OQJ,GK6HA@KZAQ=&8KCO&2R6/8.R+.2Y"F[ MT8'L3?=TA&1CUU+_JJ"E8J-'Q? P^E?M74VB+GODS".MRR36(%GXML@+;RM, M+(U7BZEE;*XYFV5>8XZC;# \?W0'DG5P-YD<33.1F27<=#->Z3^I<\5\(!^8 MZ/>Y3CX9K254"A8*;T>?\=(8PN3;9';0'^/^"PNHQ_XJILBF_;$).@-3HQL9 MHG172)UC]2]JT_^%OL\QVW]2[6 _^TS>2&_17''03#>(7E$,@WQ)(\94W?SM MZ539$!TSQ<$%Y)YK?5.GNU4_@!IHG0UEM08'T43T:QI 11KYEG \O71I8Q4S M_I=DQ!(3'/2&W(_0'3D>P9(SMZCC)HQ?NG/%W1W[=V5[E'2(_H^#.;RM(,74 MT!O9G^.4H(=\/_TOF0&]GEU*?D1'$=R'9?NR0;!!TNU)MX8T9>6\>PW'OA%] MY=DVN8*J_BNU!V(/]]CT[X:>>3*1JT9.!L] MPW<2C*L3](:N1/NC7)??!1>X<]TA(U:6U.>8-=[]\:YAC)VW!X)T8S7H8@28 M%0NDY1.U!!D*,LCO,5)4LNVA%:(((2GE;"JH(C^EF:K5EU_X?ON.B&K,QJ?AF6ZR3!&V*[^(&]\% MNGCQX84_BHO809!?4?E[$3.*X/>ZZ?,8L:&K2YP-R*VU MNHV&!UHS^#-?'VSS=GE[K;=&W'MEK!O43[.YS7*Q#XC;V5=D8@^6O8JPF-E% M;,IJ<-'AQG.4T(F2^INR?4,#B 2 <:R(?&5]V0_#DV#9)FL+#,)^M.P.B/_* M$H8__L)^>Q6(_4R348\ X$L75YFVA;,]]@!U$T>:,OHLRMAF)C81"Z;%+&3/ M\6T)0C,_ISTB_928(_19QHH^_+M.'DU!9)+I6)0U'W6'B1E3,55=,:B&H4%; M>C$]IJHIMN8@&@O1M3CW9_V-\C;2>D 1HOY,=D;,Y'3FQ&19\^T;0C]F]/DY M$OLMK_6&@AC]KXI+^I@<6?S 789<^%U&D/!#R,.E'%_0\]?;=[KY]C;S=!3V/[0_BA^>SV!L')^][7_K5SZ-^[]=J M[V;2'WU BO%=63F[1Q^WQAB>K)03G:ST3TON#/R7Z]'%EB\YR"^@\]]Z:N1, MUG\S9=9G(B8ZZTY?Q)UCR2T=(\R0&X[NAZ,>/\"H)C$KH. M#_?=*P_X16!V8T7]75)V@(K0/?;#](U<:Q!SI=XA_]=LOMV!W0F@EA^!7Q#S MOC>:H,&[2.H8','L#BZ0QRT@,Q]SHB^I.TA"*W]\B<@>L-EN5G[[]:5U)RCUZB\ M+ 4"& 1P806P0&@YE=![[AB$-?19,8CLPV@\Q]AU J_K5O$<].:;J7B:3JY^ MR_(BKK'JEZ(,W*^R(#)R:Q_)' EDLI((/ 24S0>6$,:;7'#L_ZG;!!TPZ,Y M1F%JI3NW,0X3X2@S./I3^-8/(F[S#KU$=!:116 14!.%9!$:.+7QG%8D?L2H MK]BF;CXD91=_L0O%,W41> ;42B%YAD6>YY:A8=OY"?7_]G1W57Z.:8C ,:!E M"LDQ5XHS1S>&]?U9LY3 [FJ*P!&@0T3CB#O+)7=VK6V&B/91B@ONE@C@!G$/ MGLK"BD(!0D4RA(IVEN6K8BH/3/K^Y*!KW5$]O\0=M3=ZIF*L')U9+,_BFDAQ MS<\II]>,L.,9N]XEP6)-T4XB(7:\(-!%%^B1X $9+Z0P8S*^#C)^9UG^0\_H MZ,3*IBY-*K3)!T;XGLI\PW(\>J"A-[4\%]&N,MA%(]WYJPB"G#9=.ST?@B 7 M79"#U!94/#&IW0"IO;,LQ,YV;;WMJ5BC0KI0HAD(9(40"2#2 :1G/8L M QQF6"_(,$R_+-W.A(,E8,S+(Q@C3L MC5+PU(_\S2\\%IC0(+9!;(/8!K$-61DG6)9K/%-8ZMRW):T@B4W=LC?$=2%$ M,YRT!-$,HKFX,@A2+Z*3HG43$TMZAHD!O9$?!R(91#*(9!#)V8OD)HCDG649 MLK+Z ],O4JY;)@AC$,8@C$$89R^,6R",=Y:E_S37I[KK(!#"/(0P5&@OE!0\ M,;E.R_KCP9>[WN3;J#\N!._''O+]]'ZC"\.G=5\Q^B:GKA5QC7T M?\_M5=!&@Q5TVAXV+Z:1K(W-GGEMOLRIJ0U]6*+&-O'?GKC-2]#= .VOZI_M M0%\,*LB1W1C4>-*;]+_NMJ$Y]>+%= H*&D1/+Z^&=^/A[>":C/T:?>[=DLGT MT?B7?C^8AG_AFX&)W+GE.8JI$2&(GU2\=/U&9"RPOR2[8_^=IKC*V_7D*822 M-],-^&]&QDY_&BV;HA?IH/5E"Z>;&C:9#'OZN-E=-TYW3"W7M1;L4NUXDFZW MFM< M*!7VS05>3H^20&!7_;4BERV?$*N?QK8HM0JB_[W-'TRT'F%&($*!4MJ<,U W M;^K*IZ,NR(U":9>-3@K%4_R9W9$O@;,>]X$L=ZACDX^D>"DN@ZU'F_DP^ %\ M"\Z]\9CMN@#)<$(XV'4^ */"'06]H_A* MM9L9HZ+PG_\(5NN>NBA5^@+_[>F/BK%=[7MC>J&',4%DZ'#J77MYPM5JDE-N=VMDWV'2NY!QC#"LY\O]#_I M]KU::U7KM0ODF;K_\;?Q]04RE049NN=4'Q1E^8'2K6=J]$__F6@]]TJQ[179 MQ?VF&![U#!-4DU_5+Y"?FD4>\41 X2TTR]6PJA-L7*#@A?/S1;5^<5EO5QKU MYJ?WV\.^S(U:&8(#D/>,O'H$\N2J)%?KTJF0)]4)\AIB($]\6RXW%3'"CFOK M*FT+095$017#:S<_/46'5 ,P_K. MNO/2KE>JC37=189%=O.L9,&_/E%7>3C,JH/5JOY4G>N:ALT/:^!U+BZ;->G3 M>WKM)=M8'/:[[L5EH]L*?E&&NG54198$R6!-G7PNYBK9<&YB.AJ&6SH@H@Z+-@ MPD8MK: /B;,BO)>SDG'OP2/.K01 "$OH^# MGJFQT^$]1OMC##BITNCFQ?91N7!ETB_G!N;4T8[LP-P2&LSB[U"D3O::+7C& MQ'(5 [18$1D_=5#E>!;OU'-T:H'"*A=N4P=PCL=MJU:I-47&K?B;KDSS+.]M M:TEFO&(;+)JQM:0-PB'?$NXHZAW%-R9S\Y)\5=2Y;F)[AWL+:DT*H&Y?T:-1 M\:>#[+\UHKQ^2Z8MM.4XZI5IIM[MB^"P!8#P!UDEKJ'$'6$L&I[AHXOX6 M*PZ>6X:&],72MA[QHLBY]6>V!^NFU1UKJ@\VB)Z2M1L7E_5*4\XKA@I^A%)A MN!D5^C](/?'$,#U54I%S2PH%?_>1_FY&9K2,]#,45'<)P-"O<&I40L6!\5:? M3O<&(2X?8U*J5>0N;%=*B+*HJ/Z!@5#N*.M6.JVV&""#+/H]*>#@TMS\D_/4&WOZ(E* CEN2Y@VY[Y>D:6.P.X;0+&X*(XZ9GK< MEC,]BJ5ZB9V014]L&E$$5ZU9U7-PD&7+#J<75%L)P,"O<&;JY(@AX4MBM)H/ M+$K Z#:&JE3B,X%D^M&B2UB2"Q!Z:KF \Z M[50%EGGV_)8Z&>"93OY!(+)5[C^IAD?WHD?QHM2NM*2Z&+P(6..)M=0I =EA MK5-I-@5)/SES2_T:S[!M8PVYRE.Q3SZ+SXBI8_8AD0:F:BWP1'E:\V.ZO!Q1 MJNL O'C"*W4@FR>\:$VP3CF<,$4WZ3?K>M.9S\C<7>:79?CO+%-->_2_2?-^!6%-@!M/N*6.P)X+W,[CVN7[9,=Q;#^JU"YM+ > 5%[SI8\+5?*FP>A=)J^734.=-8#;J.9NW+")NR&KDQU0W=U#)W8X8["WE%\ M79M?)_: XL%Y=FVRMR2^QVZOR+6\M\H+2ZQM/T+>J: M%Y>-BC 1$8!99C!+G8=10IB);ZV=4OY;X1$H9- S4)M&74$U@@ AC%>X,W5J MQO9YM=N 5*OCF@2UZ] 5MX0@2YV0D0G(6@U!\CUA-[#6!F'[8[145K3Y,F%3',1GQM19"/W%TK!6&(\P*^9W^[P+2\V7?E5_4:I1 ,XX MXJR3.ED@ YRQHE==46HR@'W_0OXO;6N&'8>01#'0#(-C)S.V3'VD/B#5_0:E M;O!QLE^JU"20_24$6>JS]+Q!1OL/=\#L%TWL7WD.F2JVPQ.6ONFOA8?L;?R( M30^,)FB!'J*6.\F8&M4:ETV?^$EI@L -)9@1U::@M#X#=K%DT=^)U0 M\G (S$D5290=.B"+)[)21WWY(:M1*T?YQ#)9^GZ5%?7E 9V"BO@SJUK121T_ M9H3G%#66*JT6]((' *< <#=U8)H;@)EN:K;RLGJ@$3R7TBN@LHK*\:ECWIR8 M76Y6ZKDY'T!=E0N\J6/IO,#;JG2@2IBXI0Z&\:?C6',2>H).W3Y45U"U)0!+ MO\*KJ0/K,0>:CJSN5Z]T1>D? 3CCB;/44?5L<-:HM$O2GZKH=6_6I3) ].?, MDJG#Z9OE#([DPVZ%F(MB\"& BR>X4L?1.8)+DBNUAB#H.G.3G^;&$1U.Q3J! MA:-K3*F#<,^,_U('R3][CFYBA^:P3'63$>F9>%>;M.-EBTF56@OZ$Y80@ZG# MZ2?!8%V0?>>9[P?\8#M$+(KF].469#]V9R_E57@)PA8E0G"G5N,693\6PU+BY-:WL.T3/2'8>6B;!L9'FNXQ+[C)AF!?43"+"5>F6/E#KNN>8SIBM_ MH^"/VRO]@VU+4YSY[N:^*D8 "0#%$U"I@YCE 93XQG-^9>#(3MLR$ZEBZ4!5 M+'-1Q?*!JE@FJEBN\=7%LI]S)76:%5D.[\D<$@?]FAZ29;D@%;DM12K1"B*O MEYBPPB,V5J!#LQ%Y4FH=ZG/'Z_+NE:P]05+V %0\095:C_(!56Y9 87W5.=7 M0$_3=->OG[U4=*VJFTA5EKJK&"#9LV%".7T%O36M[@FI!N:53ZATE5.)@N]" MZ=02PBM]\3R.\*I+E6X'^B:()NU'V%5T$VL(*[:IFP]%3941GPM3F^\AB?H! MA7JJZBT\UM+D&L]T54]YIK=3:>16.0;D?8Y(2VW39X4TN=)I"H(T,/0W*V6' MU$667TO/6BQM/,>FHS]BT A9\VGJW/P-RK$DYZM-N@U8T=M;RW'NL#N<392G M=,EET$RMA)BKI\ZFSQQSM$*05(["VF7:($QLK#B>O0J#*PH]*NRXAX4>ZKZ= MV90:2<,.==K1L5&IUSK;(8=2Q!I*F"']9J_429W8'Z*/^9E]EW-Z;[/<.9EX MB4R?SBRO\"WP13'X(O71 ;Y\(9UL\SBJU/$I3N!M-2K=9EZ13SCT$X=F,L&VE*-&&VGTGN'0-O7>^_=J:6MZ#O:QXO\U?3'2_0#XJ=L-M"C M8D(?.TK]R(VM\2WW#"'ATFP-"05CVH)T,*I@O<*E&F.,%)4&[11S1>NVTWJ] M#G(M>M*CFXJIZD1ICEWR 3N/_NZ0:7!>R9>+1PB)5$-Q""#OOWS^ M]6(7<;7:CU',&'S"^)Q]=,%NMW._F\EH?<.HM=QX2/#[K1O,9U7;^AY^L_N5 MB@T#W7^Y^_9U[S.B21VB9'=]+R[]9R%4E:KA<]=HWWJ]^7*^M@OO>U_ZU<^C M?N_7:N]FTA]]0(KQ75DYH?RBX#+QUM0_HCGVUU&F#!F8C?]38_^+LBB#KR[0 M^ZA%_^4Z>M$I]7@L^61X=:N;?SVOE(^H0Q?K-=F!?MJAR4\5GTH5Y&!;G\7J MB@"9NU..0KP_].=QOSJF?(3)I^FE;D[ZXPFZ&H[NAZ/>9#"\^_1^2KZP*:W) M]U?#N_'P=G#=F_2OT7A"_GSMWTW&:'B#AO=]_Q?CC9^\&9C(G5N>0PQTLH+X M2<5$CK(X#K/9E]@.WA%!I;P50J:^^68JGJ83N?G*>%X@);$W,@(:GYB*"[CU MYPL:K"6H#U3G^KVS5-3U>Y\_9H1V]*?1(G2_&-J[L&S%=%/#)A.U3VS[Z.OC M5_>CG'::.9R3)[*-!AE_OFB]+L[S=IWDIIP_4<:]G,QM8E9\)3^?.ZA/"*]M M"X%_>R9&]5J%?+3-U3\B[273^#A'/ZZWXH4+V2; ];.,FA!T*Y1K4D)SKDQ>MW8UH)62J7/^5UWYU>>0Q"+[8&I&AX5 M$SW'P>0_+6V6>5VN-)N"))H#(C-"9*,6@4CY&9&R2(B4NY5F6Y!*&(#(K! I M1"VS=+R/M-J> MPSH"V\4VL+EDV>; Q%R2;!MU#A8Z)?QP%G!\NIRC=H6,1N!46T"PL AN<+#H M.2"X56%^3D P(#@I@IL<=@#'(Y@>J^Z*W,L.$"PL@EL<=@S'(UCN5FI=D?N) MBN^%S_' SA?;H0AIYQ_=R,U [9OD2J@C2/:HB+]R4]@\4=;6Q1-"I[9M>'[!9O85@QF M]"K:0C=UQZ4Q/]JJL=#V[GEE1[2BLB,29U?Z6" LW]M"PC%FHH^V)$RXS@'2CTH73A@#I-)"."= ER\', -)2K2)+I^I' 9@N-*9CHH+) M\C(SP'2WTL[-EP+'N;CT7[)>Y!O"YJ,((B F K BXF(R#= MEFG 2'5K.>E$7+U2;^359KU$*EEXC,7D :3;T!R),;G2SBUH AC+#6/MF+AS MNNW&D1AK53HM08KY L8X8BPF$)QN,W ,QAI45S9S*R!5^"RF3"W5 6TJA!W( MRS^>0F_VLA^/4Z4AL8X*4K=/>"PK(Q"_!=1FA%H>AU6YH+9QPJ/0@-J"H9;' M&5@>J*V?LI<5H+9@J.5QM)8':N5VN5%[[KYI=X[MP"^-W@1F?U&Y^KP">FT> MIWL9_>\LT]K>RQ]EG74AZQ7P'#W0_3J/QP%B_H!&#EDV\HKNED^E"F,Z+X-5 M5W)^V<,NPKKI$7(&@6#+=#XSLOK7390G[/2? M7%LARD$W%7LUM42*S0GBL\CBE+A16:>9^ MI=D6),D!L,H1JSR.GPN%59;TE=\Q7\!J?ECE<:Q<-*S2 U&"V !GGSQ6$EN^ M?&Z7O5*!QTGS-;<'?I;/V,1I&X(UVU#<"H"< L@\#IOS!'*CF=<)( !RJ8#, MX[PY3R!+%:DAU,"[)S_V?5A[*':J;Q<"A;Y>_=Z>6MJ+OE*F! MR5]-?[Q$/Z 8:_BGG8?_E-C_'@YAN>Z]4P4/'0+F"JFM=_")0E78XPQ M4E1B8"\5 Z_[+YU\O=I%3J_T8=7XK^(3Q*?OH@MUNYWXWD]'Z MAE&KN/&0X/=;-YC/JK;U/?QF]RL5&P:Z_W+W[>O>9T03.<3'[OI>7/K/0J@J M5\/GKJ&\]7KSY7R]*;WO?>E7/X_ZO5^KO9M)?_0!*<9W9>6$1]XHK$R\-?6/ M:([]=93I::Y@S_H_-?:_J.UL\-4%>A^UZ+]<1R\ZI1Z/)9\,KVYU\Z_GE?(1 M=>AB;;RB+W[8OL-K8@.]D!L5GX85Y&!;G\5*KP"WNPLBE!CY-+W4S4E_/$%7 MP]']<-2;#(9WG]Y/R1#JY[D_XU&D_(GZ_]N\D8#6_(;[[> MC_J_]._&@]_ZJ-\;W0WNOHS1QN_?#$SDSBW/(=K'>2O$E-]\,Q5/TXET?&4\ MW/4%Q=DGIJL"SF1:F"(\.&.Y?N\L%77]WN>%&:$3_6FTN-PO)\?"5 M_'SNH#XAO+;-\/_V3(SJM0K[E/V+\,L=L5#1?3H ?DA8*P_"4W_ ]WN!90^ M\MECCWI8RBI9@+K4;P'4+3%U@7?+3-T3\FX2G2]$;D!!GV:\H_9 MY4.7LGJGR!E8YU=MLT0!L6)![?P*80+43@,UZ?QJ5 +43@2U\RL?F7M#,"&, M=-@(LJ%00,]9"LN1LYW98F4!QNSC(B" M;AU$3W"2TE2,C.Q5?V4MEC:>8]/1'_&S[+M2G/F-87W_!6L/^ NA-_VP-R.$ M'F$6-=5G!/MT7#U3FRA/]XI-J)U.8D)MC?+A,TU924'Q"8G*Q<3GF[T 35-\ M4DR (H>L(7EU<=D^8=W*C*R.MV! 9".@TU3 %!/_EXV:(!):_".-F?+JC65C M,D^D>C:AI;I"KJV8CL&(C!3MOY[CLB3I@K+T6;5.E*3$E2(3"(@ *5CER_T[GTZ:DIRFB.JN\(^0^Z$4 M3YD8T6WG54 5^L26&=UIJK1FC6ZITI1$[AH+Z"X*NM.4@F(BDSYUR')K@#39G&DK1ORJY14K5?+4@[IA]UR M1I%5B_(K3Y.T-E(^K'5JGH+SU#< MH)P=?^T/RK9\G $+'G]C,&5/3^Q/>+$Y[ ](-^?8UC7P'U $# 4#C04 M]E"P1W;W-*ZB&!M4!#L"& L8ZSC&8DFZP%/ 4\!3W'AJ8KEYZJG2[0:@'\ A M*-OSU97?W77L6NI? 0ZS ^,9U8<6B?SWBJY5=1,H6SK*CK"KZ"9UE@)I2T;: MK=Q#H&_IZ#NQL>)X]@I(6SK2,F-J;AG$2G1^.C%]RVOQ0Z^/?1!D+8-!MIPK M_7L+RZ,U<8'^YTG_*V6I9^Q9 @"(#(#^^E0]( 0 @X1P1L.G6!_&='_O[? MGNZ>VK]0C%X6X7F^>BW#1G>?%4,Q55Q!_U9,3[%72 K/N12R\,TK-V^?NO!T M8Z?PM.X?^Y;D:EWZD.U4_*,;$YU>\F&)[XY@XVUGO M'A3WM]M#SW57COP>/C@[N;B4I(JM5:](I^RO'IYJAW$5S$X/39; MF6 SHH3!IB_2OU^ZJC,20++DD&RGAN1SQB6-- _,P/F0(SSK4J7;:0-"RXW0 M3FJ$AG'R<$^<)S3E2J>95SDZ@.:)H-E-+SR?C[S%5<'-$:VR!#W2B@_5O06; MF[746 US%AC8?$,T/VP^EV"6I1/*4V@&(#;V]T)?BH=^+N*UU:ATFX*T(H>F MO6?_MAC.VZ>2\*= MSTT>X[3M/]BV-,69[RK:JA@Z%D#($82O-](] (1'^"H!D #(+4!&=;9-#,@T MKLF#D/A*)>J.!/[R\D$RII=J0AG)QR4)\A+ N07.J$:FB<&9T@<)8 0P;H'Q M];:>]5>]@J72PV?>E(YI.J26J36=$#P(SJ$R4'&/)&W%] #,U#D49Y=207Q$ M"U@P ,X'ME'-_?)T)P&$ <)'0OCU#GX9.: NX#=(['+):3$R5.5$9SW[OS@ MC$<)0![)'P/"VB!+,W(A99#/E4W,Q<:"O_11VRV\JOZS^PM M*-'_41CJK!FAX S;-M:8RXT Q?_"QDR9TX:K#A5_U:GBD+?*=\76P T';K@S MI^(^X*HI0/NEQBM6FJ M\;T$+M-5K^,V4<$^0&P1$;NW7 MLX^I*P7R8@O80I\/8KF$;'D6$ 00 XB3@IA+?/:8RH( 6@!M4M >%FD%\$%F MX^NNR!O+GF'=]0+7(W@C3[9![F1^%)6/.S) #-92M@DY<8L0V!@+QQ9[N8)+ M)#IC3^>&$"VHB@3(%#L$^A>3$PSQ_?A*BSL! 0*-A&_472\-:88Q\ MM^"]9ZMSQ<'HWE!,< EFP]:9GS9-[A(,8< N"D% ,9#RI+1<"63H"6=HUL*3ZZ%92QFHN$]V X-8ZYA.2.[+8" 8 IP8PGW*PW#NJ *8!TVE+.,DU+@&\X]NF\ +Q M7I](O0Y%G( Q#F2,PT*# / < 8TWG,2?RP4Z9:\[-BT&Y=%?15L=4Y MJDMD)L1F 6,Q&\_ 3E*.GF6*.8L9#CW7<163,D'*FK9216IU*K4.%)8H'QR[ MF< Q+IV![F2P[?CW2W>R28)S#*5#H51+C<)C\\&/1V1=KK3:)]Q, R@S J64 M&I2IL[PYH+%)T @=!LN'1CF]B.28P7T\0.5.%]!91'3N=8%+]=3P/"8W^V@X M/DBO^7K046JH3@$Z%]N M_OU'HWH]N",7+ZJV]E!UYZQ*AD8LEJIJZ$2%5&WL6)ZM8J=ZY="&3NQ-=>XN MC"HVF-*ISHEX,*B(P%KQO+-WV$4XV$: -(>\_?.FXCZ=').=U'A.PFA5ZS6^ M3DW"G?X&ZK:X_2,!A!Q!&),)E R$1_@T 9 R"U QM0 2 ;(-/[,@Y"XWU-4 M:7?!KUX^2,: C@WP2G'G-Q/!LZ4+DT (X!Q"XPQ);YWP'A& M>IBOKQ$<31N.)J9%"=PVU"@XGL#Q!%1\54K''+K/U/$49_-2(4\D_G V49[N M+9L.MN>ZMC[U7&5JX(EUK]CDF6!7\B?P>R5,N':B[QKY3N,Q#* -\CX7M8M R$:4XE M7(OFH#M=>=C>@B+J'U8.A!9]U? ,V[1(K+I1)P39?F$15CD6JL*"DP^H>*AF MJ'.)"Z:O"CNQ8CPM[(SW=+C#975@5<;!X M3GWST^/ZL!!C+A5C<\7X_N,5-4':9P+4.4(]IK!W]MY"D., [JS!S24(R;_@ M+. =\)X)WKE$+X^O10OX!GQG@N_#0IMBXK08MO5YYQ*>SE5)6YK1@H/43>F9 MM%$5)K/SVUN1C\@?U]95]B$5R^"6S$; 9'Y<,GG7^]&:].RR'G5+?[$WTY83 MU2UL53I0EZN$R.428^;8]/YUV((==[9@Y7+^,J.F]P!< &XL<+F::D0^1'W+;]09@MW38Y1)FY.U&3 1:P?<2@%:. M:.53OC5[%R( & <"6 NX<8,W(< 6 !L)& /"S.*89]"XJ( WL/3)2[Z[B6D M,Z AMC:HOU@:U@ICY/L=[\EZS!4'HWM#,<'GF(G(:&9^%#>YSS&$ ;LH! '% M0,K41:G2:8/?L7S0Y1+=Y>AWC,4MF&:GOOGIPD*$K4]T@%JJ/H(51^! MBH?K!2[AU/15'T=^O=:)-5&>?M?=^=PR-,+)-Y;-1,#GW;(="4T9Y)!E):_ MIBDC=OFTV>12V1%P##A.B^,6EW#?D64; < X-0 YE-BEWMI1L T8'K?VKW9 M"VHNP<'CZR_R O%^?\L)#]5D=$SR+>S[,V*,P\*. / < 0X)DZ>O]*@RZ>X[ M("O(Q"X(H&RLSTN1L"%+DAV_N(AU^##:6BD8= MME7_AF1TRZ=8'$TM6\/VYJ7(L0Q=8\^L51#][VU&OTXR3I@3S GF!',ZCSGQ M#1]E$>+)-)+V63%H$*>"_NV9&-7):E)+HJ#A&[0#ECH!BV9Y4P,?AI;\++W# M1[K7(MQ)/M*SC &Q8,_0D3K,BRWD5P-B5 &2E2[5K.09; M_RH\ \B9,$#^7;I,DRX![P/W1N*^GQOVQX:KC>:!9K\C=%K ! ML,'1;-!(S0:I0V#'XY_L%AJMO!QE@/\RX[^97@UP#+ =R1*-B\M&;O7P@!\* MS@][\[/;K=0,<4SP[FB=\'R<1NYT3A5"B>0-.*-P;@RVE[_:\?R5B^W4E2LU MH6TGWYW\WIU:VHJ^4\@*D[^:_GB)?D QO/33SHA^2LQ-X1"6_E/HXSZQ9P=T M9UXZ%1M&,*?U>V>IJ.OW_M&'F6Y.Z$\O=E>S5OLQ8I4.7^#-0P1DZ9Z8N]Q? MJ%?][YP\ZW&B@>,=58LN*I'FV'MJ18;C8 4C@?N (& H'&0H[*'@(H;3TTL-T\]5;K=P!H^$$S9@[(]7_FI#'X'TP"'V8'Q@- +"!G^Y*>9O%7= M!,J6CK)AFBJ0MG2DWPO+,UV@_[G2/SBV"0 X5P"$!QH MBK'_/'']+!2<8:K7?N1*PIA:6HKI*?8*2>$YET*>=#Q]E:R+O8<1N]V(PXA2 M59*K=4G4ZE>U2I?\:[3R.NY>ZI/M)SU0NQ>;]5HM$VQF6)BJ!@U.2@[)J&*! MAT'R]#6CY&ZE6S]A'SM :!X(C:KF=QA"3UC.26Y4ZMTZ0+/@\!2G MTA(MOM<5I$0_0/6(A^\K@E2O157%.PRKHA1!JIT0I%#O2&SL[X5^5$&\ /KY MB-=&I2,+8@QDW@0%WHK^MAC.VHX 8D/1@6,('$- Q5?E:.,$CJ$XJY2*82*3 MA[.)\G1OV72P/=>U]:G'6AU,K'O%)L\$]7_JFY\>MLT3NY( P@#A(R'<.I7S M"; +V#T2NUS"29S\5!G!>7\V?5N0'!! -4=4PM*]7\4!CMK1D@XP[:-->9T(TCQO[ Q M4^?(M<@ B?RK3A6'O%6^*[8&CCAPQ)TY%?=(;YE+="VA(ZZG_==S7'HW9V+% M>$/8R6C&QE<;G#["Y/&.[N(QMA]U%=\3-%K:"*O6@\GN\IMB>!BLDE/?_/2X M/BQ0EYVG[E08WVORU-LR0+UT4*^?RJ,'-[\/"CV+BM!BVM?@Y>:=S)PXHZ M_F)O)N@FJLC7[E8:'2A]5C[H<@G6IJG%]Q*X3%>]CMM$,3% ;!$1N[=NC\SE MN.&QM?KR@.]SI9\3XACJ_ C''ONXH\[E[&/J.H&\V *VT.>#6"XA6Y[E P'$ M .*D(.82GSVFKB" %D";%+2'15H!?)#9^+HKTG<[(9TA@2!&PS;J+Y:&M<+8 M;ZN.[CU;G2L.1O>&8H+]GPU/9WX2-;DO,H0!NR@$ <5 2F=DLR(WFF)(!( N M1^ARB15S]$7&XK:@Z@O RA&L7,Z=9N2%3 S<_=596@#?TL&72\B2MYL0!"X@ M-A:Q?,J>9N\F!! #B&-!S"5VF8&;$$ +H(T#;>.PD"*8JSGW%0EOG*3Y]*'= MF[/X=9)QPIQ@3C GF--YS$G\N%*FN6#KAO!?%:+[41WZP6=JSD4U.,XJ+,2O M'WRW69&@*6<)X1C5S3B[4,^1O0L;!(Q2#5!8.A1&-2[.)X9S?#?->JU2;W8 ME*4#952'XHPC,\?+1[E1Z;9!1)8/C5%-@_./NAPO+MLM0;J- #HY'@MKM%+# M$]JYPS$O >&^%^WM>+3GT\&]5:G5!#E>"QWT:L5BJJJ$3%5*UL6-YMHJ=ZI5#RRZP-]6YNS"JV&!* MISHGXL&@(@)KQ?/.0G=XJ#T,5#Q$)\\R1:U7H-NL,#"+,#83,F62<9 M"*$[/ "2%R!CCO8 QYC3Y#AC/2 _S]36"H^F5[O,&@0PXG<#I=-Y4W">A8\ZA9^IT M@BZ; -LC81MS_CPW-Q5 &"!\)(1C#J1G[]@"[ )VC\R6:G*)516W]?QSUE6K M=L*VR9!U)1S;[..:%I?@&K2V!ZE_&JG?.BP6!]+Z9-+ZO//83E>]MK>@B/V' M-56CG;,T/,.VC37FC@R[K2$;,UL'N19B_;2JK"$;4FA=8W!3@IORS*FX3_-P MB6HF=%-"_T_ ==:X/BQ FIT?4\C>HL\8[E_AK2D\FX!OPG36^#PO.BHG38MC6YYT)>3I7)2VB3,LE M4C>E9SYBAWHD';_[%OG(7O=<\WV4X);,1L!D?M@S>9^MU]OM):JZV&A4:@VH MN%@ZZ+:Y1+$Y]MDJ6YM( "M'L'(Y/II1GRT +@ W%KA<#IGR[K %B 7$QB*6 M2XPVAPY; &( <2R(N01D,^BP!: %T,:"]K#0*H /ROUEGHWJNY*0C35,9J,A MW70MY ;R$%R*D.D(5-POR[E$5A-ZU[;L%2;Q>RJYK4VC4H[[%;MS2TLHZI]S M[@61^0!2CB#E( MK0WJ+Y:&M<(8,1"C>[(><\7!Z-Y03! ^V=B.F9^239Y4&,* 712"@&(@959A MM]* [I EA"Z7N"O'I,)8W!8TY 5@Y0A6+D=9,THJ3 S%C@%B63[&8FEJVANW-2Y%C&;K&GEFK(/K?VXQ^G62<,">8 M$\P)YG0>902+A:J&GNNXBDGY-5UL2I(JM4:GTJYUE2[8Z.P=:_"L\ 4B8,$+<_FUL&&;/CWR]=18^ #;J1GBF*#AT0SP?.)'EDY6#C*2-^!TQ;DQV%[^:L7S M5R[[YV:G(LDB;Z%]5_5[=VII*_J.]N4C?S7]\1+]@&)XZ:>=$?V4F)O"(2SW M/"7A[+>>B8*';L%4)<(3V^&2A*LQQA@I*FWJII@KLGSHSG+) UT+75DF"PNP M!F\WNJF8JJX8:"V7G?WC3R%Q-D8;#';?JA$BA;&!^R^??[W815.M]F,49P6? M,*9E'UVPV^W<[^[;U^@;1JUH-#%".NXNQ,4E?1Q"U4;5?_ :;NC3?!TTN>]] MZ5<_C_J]7ZN]FTE_] $IQG=EY82B@=+8Q!_1UN#FV)^53*$?Q%3^I\;^%Q5N M";ZZ0.^CEN"7Z]%Z"39G3==RZ[GAA'SZ[,PI=V:BC_MA>SBOC2$G5OLTO=3- M27\\05?#T?UPU)L,AG>?WD_)%S8E ?G^:G@W'MX.KGN3_C4:3\B?K_V[R1@- M;]!5;_P+NKD=_C[>^,F;@8G4YBJDY;X40*&^^F8JGZ41HO#*>3"C_B8GP M@$=8L$/%AA&HAO5[9ZFHZ_<^WF>$-/2GT5R_G\/W+NSFX3*R1$\L^<77-Z^& M2#D%*.,L+(YW)!*%+"HQBEN1,F-+4F9D(\7&L7-34)\H7UZ.]2?TE?QX[J ^ M(;NVS>%AX)9]ROY%V-4^P1^[Y^.F0!=3.GKBR\W$B0 9I% MZDUHF+:)VL[,&_)LBZ&;T? K&M[WJ35W]P7UKB:#WP:307_,F4 Y59PY6MK6HTXV]&BZ0F\\AY4"?XNL);85EWK. M*6$?=5?'S@_"UFY]:+3=J424UDYJ FY0CKPU,7_1,K;=!P%26H5RI-\$R+"'J8LI8)C(& MLT$=LQ')&,5 G?@V8HX*XI[:? [%$B$EPD\J=ARF**RI8Q'R8V(#/A(;TK)7 MH"XR8MRH&I!)U<4@I-+OMN[B:^M[2C9MY94)#JHA1X3%E&I,I!IX((R:'W5! MC _8)VRH@1O+QF365 ',%?,!HSQ$%RY+SV\48LJ2IE4\ >4 MN_)L&YOJ:F(KIN,_ZPNA(/7I?<:$.?%$>4JE$1KM4M:]:?LCI5J+M: MH5U.05]EQ=U1)3V3JBM6M^,SI=;5!D'3G=*KU-I=,5@8<,839S%5-Q-I$8XX MZ\KE"&Z6:\=RK3LJF:*+"'H M;=,M*8UD?UX]7W*OK.A'K+-Y" 9B/9#_3Z=-3G;0%51)9I"48EHS'J1*3@]) MV*"(IW?H!I3J'$UWEI:C&'23LK1IDHR[8H$3_+>G+RD,0,]DQ-0\PNNA+V%H MC@E?#F?W 0FI@< J,C 2EL/! .CCB3X>8?8\T->2Q$ ?[%JV\K$"=Y;.4FZ1 MJSRA*3;Q3 =UD5681>(17P\)YZ=*3Y0G[/1,C?R](A_J;JK$Z0U>[9RP"P)$ M68H&:![A_&P!W:F5&]"P)=I0:E53*1/+D3Y66B\37V/\[ M,'L!"4=K"J:KC=V62ZW& ^3MV?Z M;2YZC*3'EN@_X1X-PLQ9J24Y*LOA>+64%1XO.["W.IN]%<,*Z*-L]5%4GLGQ M^HB1[LXR Z."BP("]5-(].U7/U%)$\>K'V[PNZQW(<)\-KNCX;H&G4%QM!E; M!OV3E02(RC+AH(!"4M[2][ M:=8$*2L'NZIM=6-[6$/?E8<@X!0<18%-56:*)YN,B;#BZI6W-L$,+'BL&FF'P'V9EC]:/R:=@ MI3[[LY# A_E];]LR2>, M:8-.RDPG99-+P1U_&RD]+4@]/[NMD4/PXM ZRPN=63FP-BM$L4CQV_5D MNN6\PRY2%6=.4_T>=0UK:+I";SR'-5UXBZSU46)*N$?0K,41#3S2. @ZK@@X M[@-L?%Y] AN./-)$LL7WL]G8K-1. MESY_.LN1_PYU![VG>7OF)L-5;_P+NKD=_CY&-Z/A5S2X^ZT_G@SNOJ#>U63P MVV RZ(^AA07<4= [BN\VZV;O-?,?0=2B1PNGSM!,IR=\OEOV7]365Y6E[I+W MBO9?SW%I",&C8JQYMS8 MUN*&DO9WG[*]-4&'M+;EHVYY3D_]V],=?5_#]W^P;6G$3MJUWZMB.,(!?#S! M%Y7ADB@QC3/X7FFY4HZ^G3G8A+EIE7O/5N>T[AST>LX[A:<1E<*3U.D3]&5W M)A;C3AMO]=OMF=I1+7(/AC148DH2=T\F2/ZA*W+"^G&*85N<^:6 M[59=;"^0;CYBW[2!Z(@P[N.]8B4JS^AH13FFB)@00 R>\9!P3_7L,\YKZ_&;$9EU!RM,9- ^Y7R=B?,W"YL**3H,8-UFD&061!H3$@L*** B4HZ MXI19, AAP2OR>L+=)F3L ?=$<$]47@ZGO 7NW%.O=*239;L75EE#WH*0-LAN MWL+-X*YW=P5Y"W#'0MP1O'!K+QS=32R#*".:V=8"+;VIH:O(FLVP33<5UHR5 MYB&ZUW$M]:^"VD8"&#W[W6A-'EV/-N/% \?Q%%/%P]D5(]^84B]=Q=)N16X( M#DFMRT#)R;5!M1UB>XL%TKC9!6I;1Y6&N?/ M:SQU!Z;CVAXE3N])=ZJ4.)0V7_%BBNW]G/M,UN'LUC(?Z&_I+=-4RKF4*[4F ME,@!C!^,\<-*Y(B#<6H(5;J0GW N.Z/[K5V1,U=L7'9K9UPGP0Z(BO \:@?DQIPY?:EE6E;L7%,BSK37%HGR+-7OGZHAML, M5BV([#+\(C(XL!@<>F;445S=F:UHE>IUD;950=7(N66LM'A4D@D32H.VE!-K MHCS15BQSLC?5S8<;RV:&Y&=B56I7UF*)30J9E*<"VV>8LP(<)# '\:A5DQ\' M->C6[/PX2/Q=8#XIVM&5X&B%"%.%A&TQQ<]>Z<,C22,FX_0F1,61E>"D3B4_ M;Q"<>"HK5QX9(=D"?*."<*4CG:QO96&5*Z14"VDS]&"12DVU@ M'-?65;*'H5_T3&W[@XTK!Z9J>%1>7>O.TG(4XPMAH27Y!7E/QZN;'M:"8IV6 MF=+RD,'L *9)PS0\VF45E&F:>244G:"B.Y@:0IH:K[@G%,,HOF-" -'XBLSC MT1;L*.EVCVW=TEZVK ADWJ8<]65KNAY/#,?$1O.%O MJ%5:S;R:+$#^[RG.-5.M2.MK,O6(GY&&%!=-,;G0#(Y$+AGT"JH!,F^1ME=5E$0Y2FQ))=%Y:C^E('(H(B8!+@[)S%__=O?,X"(('N(!0I/: M32R2&,S1W=/GKZLIDF7W!NT^)$OM3*_7#B59:D6[<-\WE]12U=(B< E8RHWZ MH8)!JW")ZC#H4X-:X:A%L3YH;+'2[!% MT,-)K3-%*K$QUAX]^(#TO=/L!6QP7T6F*V:;M6UP2EI_;+A 5O??+OYQDJ2< MM.^ MC@+MY+[SK5NZ>.AV_E'J7/>Z#Y\U8_QJS%QI"^,A6^R+%IOYE[+UR0?Q\$FMZ5]ST]>G?=P?_?0Z=W[@%[>/=]]OKCJ][I7$<^Y\UQY[ M\,&/[FWO,?+$M#:AZ]L$GW99]#Q1S :?EWY M^HE-SC]J1&49VK[A>_:>IWW;Z?U\Z&IWU]K=?9?ST&-BFJD7-Y<\>Z'YG=IH MC3J]\4_@;>1O[7EL/\'-Z_K3Z=@$3K>'<(Z6_0+,\ +V&EAR7 @@EH4+=S?K MCRP0\,\S#%'Z'/\&M#/L7X/M:V!B_A"T+I_0IO%)+VAGX]@P@('"'8LAL"0" M7@93_,4\%PU$[L@DHIC8^'H=E+LALUSVR6#P,# 4? 0LXZ,SU!CKVM@<,M 2 M36;U.57TX;VBJ:K+)B8(A('?]VSG5(,%CPQ8T5<8QI+;6X(G2N;OTL@< !]^ M#K39ULFY-W(8^_H)?WVNV5PZP.1<]LS]4:\CLS_B>SAV;+*FB_CE4P?A4SBM\AO1=F"/28#3CN%QO([L\7A6 MLE\M^*GK/[GFP(37P]8A,82$RNC70.!(*DB(?IXZFN71J6,3 X'<.' MMPS^VQGC17FJ_2#*E62.# 2G',FU)>(0% @S>+6=\8!HGQ"D\)WP?L3[P-^F MO%77OC'8)6NF:X_P%@.&!_)/3".8VL_3?]"Z.*GR-3WYKFDAX83OYIPQ'L?7 M_&1[(VT@_#8&[!K]SD0MQ*)-Q<\*3G$=W)0A[4L*NY/LF/ACSYP">P<;YXT, M3WL%S8AA7J$>HRK<0B[=T.+!*Y_AIX8&UNP3%[OXG.V &(L= M#;T8%D'VTYB]L#%5E3V3,.6K.=606R;F;]%8FC_XROA!F\@1,Q& 1_[!18 Q MS>"4!PR[=)H63QJ/31$.H%JNM+]H%D(8T2L<-@Q(,/DV@M(4KWH&T6W)%_9! MVHH".-PBX/_O-3#9115*20Z/1@#;$=H6W#8V4@#V . M Q.;&\ I:=YLRFAW@E7 90.4/;]] XR.^5) 8T<$TW51>+#?B _!3K4.7E4. MMK&B=V%O1 ; M5VSF1 */7>B2LSYP.NU_P6_YOP=?-/@>#RCZG7A _N2CN,"YVL'<\%2?'-M M1-BTU^G1XR42 (;0W"E#[P4L;<"5%SI*4IV"SN[A1,$""R>!U/=J /E**D(: M!*4$!0'1KK@7LBKP\@H>- 5!/]L& M?>DP>)N(:ST/ S7!CV"60*>HA@ M=1\PH0_^!;+(&#.7BS!X.8BUQ"L_@#B"M0'QA5(P^HM0)-YU?X0BD0^KH_H> M556 !*0F$ XG:=QT: -(AN]C%T@Z ??17(GYAOA?$?;%[>!RG' !XV0-BKID M3B,.(-CI _>@8 5NZI]R+1R5E.$06(3P \)[1/XTW#IX=\;JM"O6)XQ]#3.# M=8T6:F=0&1>WJ:06*EAD\W.)8_N>BS9&DHE#TYY6O*IY3ZN/6?AQJ9MA-&?S MB:1@3@] ?.X:)W>S^KXLOC;$7V ]S(D\?5?;E>9$6+)1L=7@9!:H*M'M.X[- M2KB.A%DLO$=RVXI_OPR#R)N\8UF2Q[(] MKC^,S8E)NK&M:\_,@IL<+@<0UO:$>^^Y0I;T5R0THA3M54\=A?1RT E3%+S M;1*G-*EL ?78K]:KX0Q25%FROP+:U86" N)9*E/X%[E/T5B#PPI-_)#BT65J MQ+16\A'R6P!'%%>+4/H$,"Q'C!VR9Y^F9J#:R091IZSTVXQ1IONPO"R DY-F-U(!Z!'VRZ=%FV58[J_:'9/8*\RM\^51SY;[%H. MFK(S$XHEJ9E6U$H>^N04"5Q2W#4\;TBD*L'2S4*'IJ==2*).G3)Q84-6>'<:X&P@IX"3QZD2^^_,O4U#--KQWB9[SG3DY._$W.]QZN(=F^UFM:R7 M4[I7@-SR7M&!N"I3<)Y88EO3$S7QQ"E_!.Y !VQ2T)0&FC77NIA4-EA5* ;# M4\X^K@5@+'LZKB6,\$]0#=@;^6!!#U_0W#VTSWC-A.SUS",;M&V9NY8& ++C M7;OW0_E!5'X9S/>:,=@OS(0RGN$MW]#-*1MJ!)M6JJZX:]63\]KI/*G_(4U\ M'G<)Z(_4;G[A8I\&AR.+!W9$"E'N_UZ$I;#?I.?R#Q()=M>]] 0[F5L62['C M \1&& U+H$P'7R6_PPPG+9[)N+WD1-^"9&;%'JX^-)\HQ\\5_BR3!#;R\I?8^A MGMOI4Y079:\]!CN>N3T8[&),5V:8YE?A? MS/%[O/EV>W-]<]FY[6F=R\N[G[>]F]MOVOW=]YO+F^Z*B7_[D.@[-7,J^ MFN>Q_#K49]X,=6RBU#LYOS!PR^P$4T&3B>>X*6E)7AA M,D_4WJ54)C&%Q(@1KPQ/MJ'@.4-7I44S]*>(V1S,&7[(@]-3ATT-D7.&#J[T MA>"3J**@]XY\#T8@D]#Z@">F: L*;^B89L>F'@OU;IW,/!J3#R*O@"F?5Q/@%-JH\'QG#\B?3B >,^WFY;X]2%-'6G/"M M@?=@S$MLDNQ,)1,2,7UF;+OD(1B*HUMZ[DT)LN&[XFN/=OVX-4", M:=(= Z1I6,_FDW3W8MS"0<\"M@1+W\_H?*1N*CR.R*#CL?UJ\(Q8=..&07GT MD5'@730B"Q:^-QFT9Y%WPUG(GIJ6X%(8$NP)I#9=..,B@LFW#-A4W)W5113A MJP[^[;L>__P#407W+-K6F$(F?)YHZ_H.SXL.'_@(EB^Z,#'/"U-:N*C5AH:) MQQ7GE*GM"G=J:D*$SK-LPDPUPN,9 C7P> ,E7J @-"=!ZHQX'QN$Q#^T;<^R M/?PMMZUPZS#%B 0CQE>0]P;DE 2Q1CLD['67+=^Y9"KA*L^ D47,^X1L;@R$ M6/VW;W$S-DAU63X0"<+HFX@WGE&88I D-SC$>WS+GC]$=:M1IU[P1[ M_,C#I/(JD+"<6FBZGXJ+/^_ZS0,C6XET!/PZ4XN1W!'-5@VNIU!O<((QN;_@ MB5%B'.@)*.M#0J66D-(/_]> #[EZL7SCBJ]\HIL)5!KJ]DZIJSNF!@4 M,Z9[TW6E%RR2TXW*#[]E@\QGTH70V0/G@_^5&=J1>7 H1:EL)I@EHUD*/2PN MY"G>#50349M,*R7[-U5B2>&2,2W7_"WF!5^,W!5$T-]]BVFULO#&\HC6NR:W M"QF+ S'V9/*BAVR2ZR3#>*+B0RB-;"#*HJ1^.A6]X;4) [V3BE="4T 709] MBY=$&3[&0Q5/I'%@V#;T1Z+K7"J*L3UFYJ%.0GD@6$AA"6.KI MNE(C3[S)?F&<\*2:.(@.(!]*>[>)7-!'UPFEPTN]]U2[CC\?:K[!$$[T=:"B MAEKMQ!Y@[CXWNL)ZA5"?6SNYSQB\F*[MB%1C,0.Y"8-Y&P;-)_@\*NN'8YXH M(S2&&#,_&6.* +HC1NI_D'&2#*G2JJ/*QYPF$Y$&,85/%"\L_&54_Y,1%6F# M16+XG!C$-2[>'QYUXL!Q8MI8EN5\1.)C:D M]!4>L0YRKVB2 [@&34JC02$1R6E9F0XS[<"H4T;S DF1/J&[/@=!:XI<&&-_\:D2NDU>N,9TZ]F_A)POYGR?-TF!" MDKMZI.AWP,@8Q[I.U.E'YO.(V'?J\\A!J,J9%D@7SY<6.@A%VO45LW"%F M^9)?7JAMM*-RA7(^O.J>CQ!N& CP,5E\6'=8["?4Q>7N60. M417(!>_)-3N7.NA1$>X<'FOBS,J=AGTHM(8\E@];-(NDL*!E;X MCT.FN+PIOV6M@TADMF0#A,E_)%)9YO-8DC_8O9J!U]C0QJ =N8I(?12]_'@N M.,B2/I7_B>NW3_9&4L_5Q:T7UUF"2&JDJB+#31'<3"MY%3[OE^$W2PNBO,+' M_H@-?$Q73$%;G\-7[^$9I&<*5=Z>*23(&"P$>D_ 'W'LP,H:9?_ M6"9H,E'I-DI-$B#&6X(GW@/(,T@H-+@Q_W.IP-YW,Y^](5NB/^/I7*JJW.\@ MTY[V.@7DS?CKMW;RJ6U[%('M\W2C=LAAB:QZ."([CI8-\A)I-O_8H> /3WEI?J&5^W/NAO(J M-:"\^7JI \+"Y[E32#FKT."MUT+"J7ZLE\%VFHON@5FWT5RTF>71W(:S\3_, ML0?T?9QO2SEN^JG(-;_DVMKT"MJ9;SP_=+M]$Z4(S?*._5KMV0B"ENX93G,, M'^N]NXL>HP<0:QOU&&V6VP?IQ)M_8T^UUBTRV5?*;[$H]TOVE;K>.&OFF.P7 M="5+END??0K7AG4 /07:$>65E)N_R5/@_M..73%3.WD MN\@W)2B;=B*;(G*2>:Z_)TH,7VRS'V2[\7(;>Z7TQ"P'>6""7?;YX/E3M2YSE/G) ]Q?8TZG$-9>I_#+GS8AQK#C% M^:S7&-! 2-\BQS!C# 1(P/Q- OM/OCO(OL.T6ZYZQQ^VXDB$J3.XL7!@^+?I MC@*8\'!3SA"7T5"42EC1$'XSLVM1P9=V; MCE",(RW6B(#FH3DA &OQP\*$>0T8RTS>%UD!,5U=;!.$Y[!PB@)7B@!2VD: M- %K%L=1Q&\#M#TJWGHU>%DRQQN52<\<.D" UN-.26!R$B9PM!*?-=A(OD?A M.49!%47M=5&2I?D=(61#)&GB422A0^!.9? MBB5*!? M>@1(83Z7.D/N8G.G )5DY^M[C2I@P'U8VOSDA?RP!"RQ45F &[I6G_! +X9C MO0+[SAOZ8ZE#ARKT Y^3R38SK<[:\QG'<#]C7QA^-(EL^U<'P2DL$CZ\:C^X MZ!?T7.#=>#)K:OSJ$4$&#@HT)J5P,.!/+#68'TA^, MEO]023IZ#>[F=SS8W/F-Y]6<@8$^]!TR$+BA+G#OL6U]EDQJB\*UNS6.+P4K M CLT4%$6Z15A_ZZH!?YXN=R:;E7+TIH.1<,/9J"BBIO\\73-<0+[DPH2(C7R M(Q-6X_1',S'_D/GGX/O)YQ.I)A8?<%0^^#LV>X)_C^BE@LOPNN6=IX*I3<(SEAVJ4O9! MXE9PS26R:<:3[4L77CB?H#$?QE--N$9PYF0/BY;/LD.*)U$TJ%S;E":Q++\6 MCAHJ.1&G2R60R(WIC@E9KF(Z?7^"33?ZJ%P_,K:4(<4^(U%*A@ZQ=^;PG.-8 M%VO)X$+=I&MK'M\"1,.;")0+G/=W1#_\3NB''<)560F\:35(@+0NVPN;<>^F MZ79!SOO/X +BS7/$:0@ELGI3;::5;I-:0M]%-!.FRI'V+ONX.>10$-&BO MIL<$<&8Z/E!XW4N$(M.)(+B 4,+F-D$_*.KSM0 "@H-*P*K\B<\E@AA<*%C! M%$U7((K)FWHR!9DA4(D*>P6Y;Y(X>+C-^AC8*)[X[_^>#@,4N4?QZ MB1(OOV.H[ICZS0X=#J^#-BX"8DC4'%2+HK)2L_M]TGG(+4'*%, 2=!35YPSYQ?9'S*VQ[T1=G*AH_ MD5H4O#YR& 'L&SF_2:IPS"79Z%7&=0S<\+&,I43@XCP[Q(;#[:7+@\\0-Q]( M\Q<;STHXT=(J_L1@R]^\ S=#G6,QA-V!4-"EKT/G7$")$2ZVC\(;2F1N@AB> ./5(?U2:DT=)O2DB,P$!:GB)F?*\A6P-"3>-6^+4X(";_4 $ MC/OXC/Y(XIV%;032K>6$J14=U2"[6_BX@EAF\ 81OXD,:=)+K #U(@RI"C]$ MWY@"*8^%CHY:MT3=%NT5+#[ZU#%Y?-X"HP_;H+*)Z4_XQLBK/D#46&U= 3AK M!'14MEJ(.F@6MUV(=RMVF8QSBR8*D8D",>LR+T:CQHW)[C6O[(Y@;?+LJ/"-T2OM%Q:BBNM8HE9Y"7U MF12345HV7[@L>35=N*-7B.E+5S&.0UEO;L2RG%.DYO4GZOO!6^<(;<1ABKY.&2)2#QNLTYT+ MY#(-#%^JJ"C9PQ)&2H+4V(>[GV%JK!PE2]*BDP^]&NFR,.@BO4PH+B >(>JW MV?6:Y]^(E!#RU--%*^8A/+2XH3(T[,9NG-73;R*:WJG6!84R31P$X:8TKHPX MCJTT5=65NGC@,8VQ,&^BY7CZ/2.RJ8R(-D6#.=M$OL7A)JKG]UXTG+,H8959YCP4&@9_CF MWTRT2J/#%&C&JF$)=9/AJO<#EZ9+&\K\&3$. [U]6RD S;),J)?3HMS32S0R M0$]V^= 2011#XZG3D;U'9,=;(("!W^>*+@:]PSA=*DL@3)'^EZTNX*X+Q'3671$6+12.CTLF9/Z?"II)Z8E0LICAIU1^O'^ M@.%M'ZM,XAL:R6_B#QNR#;:[B-NH!48P)CWE\HL+VS.0,H'21N25R8J;_!\!+_A"$SV+./RS799JF3; MJ&P@: U%RT3J3:9].?AJD5:(A!M]2+9NYX*2^"Y63B D ME'KBC!2CY$C!2I MC.,K1=K"9CU9D?IR$$5:\LNV^.7 F/%="E^WXGX)@%NT4)$-@8CY6D?$L=RI*DFX#H&'T%B)E<:=UU/&+ M_; G-KY3)P7!AHYG]>C@R$[^06+6U!?V0" M1SFDXPR!35&$V:+R=@AWV7\BS/4J)L#O/F3@'@/3@?*M=.W1?)X8\D7P"1_C M%B[(D?8H%ACH1GC%"33KSN3)P5$O;6_N)%:4_ZKT*@FG[5+%1:T M0U1*QG@*C#MS/3:)-6SJ_N/N;]U.#PD3-'EJ:MEY_%_\Z"M0RP) &6S3CC,M MB8!FI5I&,,W>#U#Z_>EYL.W"YQAZXKQ$GR;XZ)\@"8G4]& ?0SHH/5/U-5GW MF MDH\B?",T'92C8?^:SR>%?0-X9$N^%9S0-F-!DQ,(Y]=A##RL=0\*)T9/6 MZ75YJC10.(O0/S]KJ=H!D9E33)RRD0X&=I]B!R.8WRNQ'/I#*.F.BD'#\=;9 MFJ X)]P:QWX"_NF[)6[8LS"O3PQ,VAW9ME*7HG7**V=JNU[IE>YA8"9I0M"V MB%8KTNP)=3'Q[G7WBZP7H3-FL:;416%0(3+H3:1YTNLF5+K*M<[H4R@&;5^J M!?/2AG9T0XDCY(P0.F+L8MV'?[)EBGVJ+D]R/-#FA9H& I*B;,H=U8N\9X73 MF3.]/W$7#5;\H!(L>TS"09H##!N%\@=)6:H.V(L6DP;I=OV-[K]4ER+W]L ] M2EWF0VG,/R?1"._#($#H(\5[$K^E[K5Z<*\/&>.191"Q,%\A5B=!UCNCJ$$X M;Q.4)%F;$E_#J78?,[3CB!)R@TI\B5A-W.^S*45CM#[("#3PPQ(%\:NP#B;Y MKDV,ZL )L=)D]*@S(>PW++1PX4-SHXUCZ#82F3UR9.E:^U/84&AA>P8EA&)N MP'@YF*I,""@I%S2+@3V1N$$TI\R_I:.GL$I%R-1W*I'_"D0!:T!%8X MCI:@..@\@!=V99;0-")0:5NB<6,$%83PI+AH\YCT3[ZN[$.<]PB+E;G&1"R/ MH'+$"AF91')?(A5WN)8@]B"&BD4NL%!3=C05\DAZ1X,HA&@6R+.X!B_* EI'21!\@=@7,P&/'> MXC)"E[B\C"#M)E@;;B-5:@69"J(R5V1H%8NLZ<)RN?OB[HGDD1&HUC(:+'7K MPMUDR!:VA;%-V@,2YGU^VC;FV& (;& M3/(G>:;0-<%_#?3IVI;%QJ@79];1009$&J3S =%AT/Q1@M/+XW)&1$7=VD^(3FL/3D!Q'P%9J@EY9)NU>>6EBB%&-Z@R17!1Z Z(P%;R/R<3WS+[1CHR(*'@R"5$WK0T!]*3;=V' M)'I0#M"NR008V"(*@4>W\ L%(*BSN,[_N6IUK;$LL2:I#Z:L*2J.PAS'( @C MQ1*N9,$(22N/%ARI-(K CO;'ACGA^I5#H0QZ.^U6##\XDMD?V;G $6-8W(X; M1&=JAU94&,:Z$4 EY+X9SCUE"D,K-=UOOOZ$5L9OQ" 0E3:/)5E!\\]PQ31^ M,[@\7.3+C+F M<3%R^,?J5N1O!;D(Z8K1\%W)8\X855+#6"3BZE80E_BVF0R M94.PI)4I\RHI^#>W$WAL+T^YMQRPVR'MDF70# M4>YY")5" B>KI,MT7'YAE$PKL]PF\DLD0P%NLE+1KB6J4% .H!O/850)BH:[ M2)5/HNU&-0HSL<*EB+O:G<5KO;! #:X&,542Y2\F;#NW-2*CAIX",5$"*'L" M6<8(4)O_=!;X$2(7F'#""* U?.K? L)]R5#"G2^![T2D(2)5Q3DW0I&1#JGD)"T<(CU"F MLN!]CKD=O-F0S&>4\10S2.!P^Z#C2CB^X/L1I0M+1(A[ 7@Y!]9#V;QJ3Y3\QBMF(ZI6I'J)-(RYJ:R*3"B M/T"7&8,NA 4>O(Q:_A6FW$A@65N6NT7JPGBI;E E, $C>+W=H" 359YD42V)$_H$[/8$(&NT=89V#QK*KB' M$[0@D!D%*?#=YB<7)M6O?7R4%"N^Y.^C+9,YXO1,N \\K)62)"3+L25LIUA8 MQ(J;FT2D;=! Y/N7)L8O461!!3PS;HJ,1+Q)KZ-1DS2_6B*$ M(EH'L$5OSP Z$$ ^:6]>IXA.&#A $@$W)48NF"\J'HD3$D> MI,D$'?%$,-1;+,8S-Z?HH.C0"NX% L&*Q49> MA:@AUTZ?HZF#, =]%-0]7+\S-_\%?=72UDV)-_QB#WT-F:OGI: MZ4\TAZA3>AZQ"1*)]YD;O:/3:E.PK#;Z4KV@2<23B)UEM8LMB&9)$:NLNC"BG7- M2(#]N9JB .R(R.[)!HM%_ :V&BSODM0@)U,0J9:W *"B ,U&(DL2[=,XM+9;=2,*> MKX2/ .;27AUL>RB"2=RX$0TID:2$ 2/;]R)1IU"RHRWXLCA_.1[:CH:>.E&L M3>P-'!XF!=B)F'&$1,X'T0)'MTBQ&&*GCZ0 ^10%V=!;K+*!0M" % MJ%"EI,"CU$78BOY,"Z!<5X1I)X81X8\0/TC #0;[N9[[B"I>XJ SKO9!_*]( MK)7F^@H94QQ85Q2ERFR/>8TV>FU^3%.@YH!PMJ%+%8J\5FEIU%K6TNC9$)48 MP=5YC)L4<<+_VW)K@;N>;^(G6?9GF;&VEC"K9X:_'AXX_?$@FIB 2W M#U?PR8M,AX>S^1N\",;'%E'\)@Z#*TJ'LY$;.?;R0^F"O3I@WLK$[ M^=PZ8B#FWAQZ;Q;=HS<:D M@0N5XY<1@/L'+"/Z& 1W/+O_"RQ=++66SGSRT48:\(6-LZ+\'_3PE9=LU*$? M@LB %#A:D,_=WBE8NB1Z WZ/E6 ^,,E.L)N/'@&J4F\\C U]P^ 9T+(%IM2# M1((\_BMHK:U.*0 (T%5"QQ)0]X/=!QN90.)Q-O]K.[^D(X*RQ?TGUQR8AC/3 M)6*4SJUK$>S+\F;^,&8:L$LK;*<>O^02,"\DLX7\#J;%X;]&C%M#^)6Z-:8L,YOTRU= MPA3OAL$$.]: "/!N"!/#>?U@B/65GBD$Z_8^AU0=$'5 SW=#&@P&)5HF4B9* MEH2\4491HY&2400G,&+C*3I_R ,X[[9QO9@%@C(0;SX'Y)DX-F&VD?N)FHUP MPN)^]2'Y12.,FGT0K?F#P+2K6F$.H@:7\-G\.6#W^H!V5^OL'DGM7#G7ZPD6 ML5P\(3$S&:9=26$8D6FY,X9Y0=\M, +JMAURJSX$!=X;<42E79MG";%WO$>3 MW,&0'GFG&K@"91^H\$3H3ZIWY W^5HR.2_*0%!&JYH$VR55?'B\3FF6@G$2# M9(3B%W?]<55S+;P%E*"$GZ5<%BISF)]!H# " M68*NTO"EI.[&55U2F)>[EQPV$377D:BZE#CA91]>(%>+II#,V^!J?$HQ*Z5M M+-KYV&9S'0.)C2U)$V[7%_-265Q1F<7%RBS>T-9^1#=' MZ8)"E9? W\QRC54:;423=,]-[ $;F%,;2>6;27HRW;!> M+O3TU;":)260_!4UBZSAZ4@^5-.PWN5JZ(.5[A&%K6U1^X0 "!(H:6<'/ M.&M0_FE@%I(_FWX+Y$I(_Y0SXGF.^>1[E)>'NJ/(P.98D]XKM8X911M2!G'M M9-LL;AD&P%,+EL3]0:83*4"B63U17"Y4')=LB^B,Q'M195SELWOLGR$\(5S+7AXYKY*(M: R/)HZSQ6M59?XC:7FX34& &HLB M4)J)I(8 DBS:582,C8'?%_@V*2>>MC:PWM[:V]'UT4#BPU%6XHH=UGCA,QS! M^Y9P78/ZR;K:/0B>2Y["]8B7:*:X"YZ:\N */L7](24R"?N\G_1DZGL\I8O M89$@L.:[.(UP3:F3$76@<[DK $F^_S M["%4+@AG/JIF!"&K2&8GEX#D_G!(*L[$,_RJR9@,EV;"&@]SI"+Y>9)=IU$-W%XK(>N9#P@GAB&)8DX3/$7AQZ<)'*++](!T,CZ,EM!DEI M8/93*Y-DR!8R_C)/[5,;D5AYG9$\3MG4P&0!7-Y2$L$K0+R, M1?F4S_")]0V?4LDC5/1J),CH$A]V#LBS$PR@EW$E7K]4:Y7CVAA/(I2EC'9R!Z!460 M;?P_)_!*M#2GF+QK/0=_8\N(X&]NDX+*U!..54ZWG/!*#K>D*VA6BX_0]/VL M->K3T !NX]?9;H/_]W^^[7U)< #_\(M&UP/V%<:KL@Q6.Z[DR1[,X'\"5T"B M^I^3YG+WRT9OC)\0?<(IH<3W M"GXV_:V1&UASGI\^E'4-_^\CNN%V$3L6*XI)250.GD!X.6!$_N !I2X&E&+W M^[ET"O+XN8BA;^]H-,$1T7U1%+!7"G@T?Z]P_MKA"."3YYS_5R'%3_7=$Q_> MR445+>IT,>E G6Z!3U?Q;I%/]X"\N^*=GQ)#Q%VKENNZ5JVUX+\:C8_;T@Q2 MSDY87?7Z'UL]H-AQ_+FV3R#UN&2$](^WD.\B%MS+X#AZE!O)(MXN,R)4^,)$ MD&:EDHYX5U^(>$=^@Z2W(=/'YP6>99 P4EXQ8>3F]AH#_'JU7M$KK?G$ MD9T<7=I.'I!2"DZ&U738POI"V,*#D6%9;S9J>K794F18/#*LK8O_>4 R;+=; M>KTQ#Q*JR/#HR;"^+HCK(:5AK:%7S^;K,@Y"AF_4L1L-4J]WK6/O3*^^SXYD M?=ZRT;,'ZU6-J$94(ZH1]SYB_KTU[9W=)$$V"+XB&CXO\7?^7#%A)TQ:CF;N M'*DK9V6GYL&5RY5GFJF#-K?B&+H)X3%Y\A77/CN19-N>39]1QK[HGMX)<:S= MS133.FAQM=:^C*,TYV^1+*;W1OMI;4#6]T8=BO8KS8K>J%44[2O:WX#VTQK( MK.\".Q3MU]IU'>A?T;ZB_0UHO[T5O]O!Y'Z[IM>K>=9Y\N^>.YQ1M20FOG[& M>T'LK!IP\L#V,?,\[T)G\52SI$ZUO,L0_!4GACFG_\9!^&:[J3>:[0-)F5K! M;]CB4WM:PLG6(OU;IO:RWJK4];.VHG9%[9M1>UI>R]82"K8NVVOMJMZLS&.[ M*6I7U+X*M:>ESVPM;V'[LKW:0FTFQ]2^_2!4@M3>UY_*_%QL?G;6+HN.%T-' M"Z%7*W6.]5*G6G)EL1Z)G$_+3UO?8NT -4AB> SHJBO(ZAJHZI)P+(BH[H82 M^^*>.30B->D,Q@&* C1A@08;(FI;N 1F@?G:FU^O[*F+:W/C])*!Z M/E'<]%S.5R C'1OBUF[;S'0%S.*0VL50D_3.P)YB4+$S8=: -[OP;*WC>R,; MB(V:)VF=$+#SF^A,__ZZS"Q%$:^6*TV!((X6ZW4 QK9OD=T21'BZ(4-_Z-] MX'V6^E^N.X\7_-^#+Q\UTW5]#/3&SH1 Q<7V:]33+(ZC*H!-$>P4X4&73/D6 M>YN@(8]MGJ+3AHE$@"H#;$ZRQ\-6C=1L-I@=O5[TI49H0<,RL?-RV$C9A1T? M,T0R)9Q_^"3XV:G6<0D7#E$Z)?H_GX QUD7S[N!-'&4MF!&A&//WAT-+W+DG M!J=)4/S&$#'WL[;C"OB!MJ/2B/4-Z<5?#R\9&WVQ,4%76\*7Q4YIID.(H1Q- MT![;SS.!L2QA^[]U.O>RBV;T5X0@Y[ AMD>+ ++&CG0Q)+,F<&Q+8]O^10"+ M*0-$<)H%X1C6T(SP@79 XZ [S#/ ML0/(6F,Z=6R#T&)YNQ-#$\W)X-N2:)(\HB&V$KTPWI"[JC6$(^9BDPQ%'^YV1+VN20I/9;5RUOQN6 MCY"YE5BW MK;@0#83N.T@9G9_": =Z66'MB^7#;P2^G#D0)4O-=VG^^R"T%5 M=2'8?1>"E%X$\WHAGQ!_R&O?#+%Y#1?"/Q$#_RK$J4^'TJR]'4HSH8X3 M$6R$;.G9TWCL0@*^-+)B#]J<<- YF^@(X6\.OR0Y:JFL .WVP]*>JQ\70O6( M61N^9^]YUM>=FP?MGYWO/[O:CV[G\>=#]T?WMO>H)::::KXK55K MM2RZ7B"K:,0KV@^.5X_7T4=L*0'[8KHCU'^B725&)G.PT1MODQE14$*\>U"I M(@^0BC7@D/L^'U"B]H-$\B<"-9IWC(#K$I;VBQ'ZNZ%]L)^P#X4 Q =[V_W( M]22X4NW7^ ??&O^UZ?:7?(ST>")_DES$R_$3F8FM@8F-8,:@*&>9X8--[R@ MTX+M1!HMI,[X"]].PI-0X3*^1ZH(N0_=RA0:C\+X8Y%M,7C98<4#0Q"Z!_ MG'W,L[EK%;XR\8A%X^*0%0S1XD V1,2#8#KN/OMM>O+/ '\]."/>$XZC7=-! M/D5Z)X+:[N*-;ECA85)_.C1='3 MAMCC-'*^V D$M%*\X+#E ?Y$.-(D7Z90 MD+ 6P\;>J-'"*BE0//_[&)G""V-];@(Q ])^U0V-RZ.5.E>6/),:OJ6(KA29 M!)LLMGMH8YL)^.9SH4CW.[)SIHK,=_J?LMU&1";[%K<3X2]T),+_$*V*7N%D M?7$:$(W0B?JQ4[+HCF''6^0)W'9N+!&%"]+$1BA]&+=@4F/IUE<7;WU\OZD' ME@DS-)P%>SMW(GK*$.$!K3*>/%HZMJ4-(84A+"9!?5K1 <)?+)I*@KC"+NL@ M(/L&-6@-KKWP,M0U9HIF4R#KT&5*^H;\ZYU12&TQA43O?MS"F!Y$[3DB6RW\ MF=@."$\A72X7:V][MKAU/29O4?P[;"MD1K5/3JM$:O%M'8-8BI"G1GW<8KH; M#5.Q":EI!%XK(=@<.1>H_]&]_\$P[3TYK!XW-\4P.@JTL\6GY(U@* M<_JFR]O(^,2C\E6)'G"PM&=JF.QZ<_HZM@9YMAU3M&Q:3H*B[W$GU4'Y5Y9M2S&55^*#:!] MU<.^P=BB4$=U'1L=^BY2JVQ]*!H8NBM MC@=4/-. +CU[PARQ=PMW@;=7@E='+'SL>F0#P2\D[Q4.3O3[7!K9H![:?F84 MD,-_XZ#7P.;9O4&Y:?:F/,CB2UUE:;;S7HCH]']!6>&1^2%[W:? MCI6:W=_AAEWR&7P/-6;>X_Y?@0_Z8A;\\V_R$B3FH$&"[VZ(#^B+VOP0$2E^ M[?#.F+/X\U$Y'UP$?*#TON'267Z!_ JZS:4]>1*JRF5 I)=18I:+G(E%;]1? MO):"?R*BC"OW"P_Y-/M8FRG'6BU5JJ5:11WKEH^U6M_D6 ,97.,RN!H>+98E MB,Z@I)_2N6ABCMKW:%O2M%NK6+I@+^J76N#3HGLFN+9B'EKR$T>:NGZ(6/@? MU[G<]^D2VUX8,,;&?*UW5L!-B+*;# ]V:A>=3JM;+U5KU:%U>E>KW9+76NJ](#^+'MOO-(139(-KZC-=2KE=]]=)]T;H/U$.RWW M77>4O#AJBBNJ6%%GS!T\%77 Q3Y@U5.QX =\P+:*^U4!#M12#[5L\H/$7%@[ MV/!=, ],7@[Z-%>!]KX&5INK-OR075MW/!6^*UE3TSTG^88P\,=Y3@(4I_@W^=G)?R MT=[H5-W,)RDJ3W,>] MFI7?><4<\X4P46Z"8H8'T_U%(D,>V .F-?8._J M[CL45::EI[Z!*G=NZZQ*V O4.J7-%9ZBS_)#T2O9,DI4*\)>B;!;^2'LE2R6 M@HCJ/"&-PDM%AK<1T(?*\E99FRK+.P?)7"K+6V5Y%U9>Y)_BBBI6U!FK+.]W M<< JR[O@!ZRRO/>4Y3U7T:XRO8]M8+6Y:G./L^B#]*(V\R+K$QN35+(YCCF'>CSP[=-=-J*=;D,)5%KH+5 MN>*F;(I/JYO8(\6K+')%\?M6H](*)_9(\GG+(B^X)J:RR%46^0'NU;12%2ED M\IE%#M-6=]_14^7A;*>TNHDW4+S*4%?<XD3PP^IAZ'<-M,02K;@_?@^JH?7+M,JW^4VF5$4PQ;">&E0@KB M$A=WT%DI6UM,ZX?TI^F-YBY--WYKNO$[-I@?C76,WO4MRHBC=X-/0(NA+H!P M> Q6+-K!]453\[%H?D2=JT7_R^.4%:O>X=ESV(,4676FA_-HMD]6T>-S+=,6 MB+1OAFE]MUWW1O1,N[%X)SM[,G78B,$\T?R'?=Y([H71])3^?;NA^C0E:<+ 1"^@_I:4?360?0/;1VL\(:8/J>>M/LLL,7J6EK9Z M#+)S)_K@WC#[DA*QMK)$S V$!OM-MQ/\I7T=F"]2$;C_=MU[R'2*R!TLE_\X MP:=CCX^&)<=^Y9\GOT!_EW;_[?;GC^5.EX7.JZ3T.SG'-VE:B=Z8V;&8^SOY M#[]^@KGQV=;MW3QT.W\H]2Y[G4?/FO&^-68N9)[/VMP=BRV M)U^T$>.>NBH2A;@Y_E*F_Z1=*N*K$_2^),_B;U?I9X$T]M:3Z-U=?C>M7W(# M.7TLVQRBUY!THH3$!Y!D%OEBGL;YA/B+P_=&7OMF?^\WVQZ\FN-QQP+URS.L M9Q.XC<[LE-R!JBBHT7Y_./V2P5ITXZZ.VT$,GIFWXGKWG:7^[N[OZ\^;[=ZUS M>Z7=W/8ZM]]N+KYWM<[C8[?WF)APJH@N0,2H0J_[DVDCXR4SAN.-',9X%,>> MDD)@/3/@;1S! Z+#^R+(QV9/Q!LCWC@T&I1O[XE23[$L_,0,&EIV34_M,T\0P M1@5FJC_V9!C,")--"].*NA*XRR>;LYDHAC-68 M_)J3QJ6@C%Y(&#*\V?E M?:&>'[O7>_>"W> 4SLH\!7]-E VD]<[L2S6?#6]LTM;*MV3FTL\_TV#&8 ML)(10BLV,%Y3[=:VLEM5JNV^+NRU4E5WE*6J3FDKIQ05D7LY*06Y7=RT^<,F MI:O3W?GI'A"(^3C,8JD&-9L[]%TGPHF%,8US[;'.ZK'TZ!D>A=\DB,ZCB Y3 M3EEX7'A:J^2/OGU6C,?/FY%CCLCQW9&R4O.R+'6;.>#'-]YR&5QTLF1 MWB YB)EDJJB6D04DQBRH646,*BZ7?7NDY20> MZ;WQSD+R[33$W=5N(7'H^V7YIEYO'*IF994 O2+U_))Z%M)N/DF]LB_CZ "Y M*"D6T]8*5@]8['KL5WG/1@/P.4A\/\Y+_%UGUK33T'Y59HVBX..AX'>0 JYR MP[9>KA46KFJ\T5%@R)]:HJ@0[ M6E_@MRZF*MOF;?^;5Q'M F] MTBXK5T,.]/MWXVK(@0\ADT//RN4M&/ 9S+HCXWUO:K6RT[/XN#-!?,W_T'D> M*8<6SQEX_B&3X2M;8/CHN6,$,,[S&R:8EYL'2S!?4/:J>M0K1Y]R]*V82'16 MSDAOWZ^RCPJ"7JWLJYNQ"O5\=CN&QX;:%X2L#N ]=X#&)5X M[+@<80EHY55<7U>5Z^N+;KU:ZG0KUZ7Z)?Q7IUZ]*I4;E<9EI7U5OKZ^3KC% M1/]=GPTZP'7]!NQ6[;I=+74K5[52_;IQ6;KHP B7Y:OK1J-ZUFYT+]ZE*TVA MY.0)2TDA7AW#*2G$JR.DDAQC(BG$JR*?KD*\RB'BU>?"&.HYCJ*=E=.*:7<% M>95B@&\G&::FMUO[Z@E;Z.*T7)-J6CGDKN"P=D:J=;U24SGI>? /*ZBL?7-P M)0V=: ]063MCYA:V5LT#*RLRW2:9I@4;]@"BM3LRK>VK%XY*:5#P6L>:VI I M$M*2#7<*K[4S85"IZJU^R*NEMZHW$H MU?78,N_@I8QVG<%?VM>!^2)3H>Z_7?<>,N.^<@?+Y3].\.G8XZ-AR;%?^>?) M+S#Y2KO_=OOSQ_*X\L),JN0=>W*.;]*T$KTQ*_^N4J=T._[#KY]@;GSV\E_A M/T:! G+?^=8M73QT._\H=:Y[W8?/FC%^-6:N9*//&IP=B^W)%VW$>-I8%8E" MZ"=_*=-_TE07\=4)PI4ES^)O5^EG@33VUI/HW5U^-ZU?<@,Y?2S;'*+7D'2B MA"0)+/Z#W>=X]F(]1(FM7&WJV"_F +[P'0\( &2%9YACS7BR?8\R/N<+JPT7 MZ\**V(!4Y%(:H1A?*9\RGH/9O:QT&U=G9Z5.IW99JK<;5Z7.1:=1:M7;U]7. M=;=U7;E6*9C'D;95*;_[S)XD+^<\Q^<(B4QECWUS;->-89*>7PJXC_BG'8($ M46F$126$3K_O3_PQ59S$3WF_TXA5S2IB*R:Q@45]##+G.'R]4L&LMW>8W'J= MB?B4GNN::QU C:A&5"-NOT+H@-F6[9T%O@)_#G_%I>_"4AG6Y'*\%G=D3HL3 M SMP$O6A$#//:EGMLS/J\"]F/XQ_V\XE3IMR!21]/$3)8Y5L@8R7D*&V:0.O M6GM?O>H*'3[+AL"QK;W%T!0U'XB:ZUE-J0]-S9OB MKISIC9K"9LN;,A=D],V.5('+07+FX72V>EH'ETT$Q3U<3C#,("2'@REL5;W5 M5M6@1\D'V;2:D6]W6%K=IGY6T:OE?>4E*^K=(_5NRSK>.O5NJH]5]&8K)_6/ MRKD6Z&.R L6OB+]+=Y@C;1NSH-2A%M(PMV6^;I=PGVW M:E>1O%J/]M![-1RF]*[CT[O.MI:,8$^FOL<<20R)!P[F[JJ>*>_!4;)$-MEF MH57FAVRWZ093A%Q(0MZ:W;M30GZW>EJ1W&,]QQ@P.O,CU=2*A^AW.+UO6QD/ M1%2W0%.'BVA6ZONZ&15DYK$Q6#83;*NN8&M,L$V%4;&%8HN-V**U+9_ UM@B MQ^IG/N!C=U%[OV.B?;3A6:&[A5L]49!2*D1E0C%GO$ M_%MU^XTTP+>_CM6.*Y['YV!683NK,B6\.=?P*!%AK=:@*'/T+37PTVOM?2%? M*$?KL;'=>08Z?4E@T2M*492RQ/!L9\$K*"&:=X_]L1NXJC-:87I'M85NK+I?K]@&,]NDZ M9'LPU>JK.%V85*NO\[D>?*K=UPX(337>4>V^%"&H=E^*V%2[KX-??*J1EQI1 MC:A&/+8FU:D[DL$JB5LV["J&S5=/2 M;#81%/EJWM7(29,_Q0=;O-2J:2DSN:#5;>;=M%LYJ994M+M-VMV6;9RCUEVM M9DX@N//O3E.MNXZ&C0^FBM72P&(W%Q&J=98+4T"-C#D:=JW:4(=@G! M;M>T+3 XG')VJ=9=Q5>OTE!4W^(2/WSK+H4:=Y0LD$FF]314T\.3Z79;=RG" M+2#A;LM\5:V[E%=+M>XJC-Y5WUHJ@FK=I:ZS_5UG:1BJ^2-;U;I+$?(20MZ: MW:M:=RGWF&K==61X;0?3^QK;RGA0K;L*=%T6C\&RF6!;506J=9=BBP*QQ;9\ M JIUU['Z#LL[TTF_J-9=1?4E-C-2.@[A^2OKS:;RF1PE#6?364:E03XTK[)> M5]ZZ(E)>AM6\WQ1_3F65O*1&YM_+ME.-1O7N4B.J$=_[B/DWZU3OKO?K\CF8 M67B659I2C+8SS7:.O4V*[53O+D4IQT I64(T"UU!"=&\N^R/W2XIT5>2>C1.?]A344'QTY'V73>H9/X% ]QUIZ MHY'G6R)?/<=VZ$)L5.AU?S+MF5G,,<;CF69PX<4TD+!+4D' SW]/61]?X]GP!)*VZT_80-=L!U]CP&8Y!C(C3-IB^'[3 MU35SJ!GPY1A?#Y.4B^1-W";,&]D#K6]8ENWAH X;FW#F,Z!;>& "XPQ.M8XU MTUP?)IT]RJOMCP^5C5_8#WC;:,.>,GJ[E1,0G/SGE.R:]QN*]_=Q06_7(86Q#QJPTB\&8!;@OSQ1C[H,QTVID M=\28UZ!X;\27S68S3UR9%KH(G8$[]T"F>W?%#[4UO6R+64.Z.1E%I1C\I7T= MF"_2\KK_=MU[R&QX+D^D7/[C!)^./3X:EAS[E7^>_ +=D=K]M]N?/Y8W5%_H M6TQ*H)-S?).FE>B-&5[EG9J6E0;YJ_DDOGZ"=?.=D?\*_S$*1/]]YUNW=/'0 M[?RCU+GN=1\^:\;XU9BY,H3Y60/B8[']_J*-&'?25C$@)VZ&OY3I/VF7AOCJ M!!NT)\_Y;U?IYXQ,\M93[MU=?C>M7_)P..TMVQQBN) LHT0JB3?RT3Q[\JGP M5X9OC+SPS<[]!_;"+)]=._;D$IY&F?6GZ8TDYFBZX[[Y=L=]0A82)6SD1_?L M:5QK$$/6&UFWOC8GXG3.A[KFPE8.OR19=JG$^_IT_B$C ,2YZ2.WO8?.9>]1^_.F]S?M\N=C[^Y']^$Q,>_4 MZZ7(84)7FSKVBSE@&A(UWNN4G\VP!OC&@=_W-&\V9?1!Y(>82\R\4ZU'8>+D-%8: M$6.8&+O,H%H/#10>M\3',W[IFK_Y[R;D!-08L''F ]K??8MIM3(H_N5J5:.' M1X:K/3%FP?Q)^II#,Q;G-EUL/,%W U_!2;KL&6]2VJQG9C\[QG0$ M'Z&B=.:[X;BGLB(YIZI:.ZVS-<]%&*"-@4[;_W/ M27.YYKKOJHSM6>J1)8D5)2\_^#_RPF@\>*%U46[19??DH(H)WTM!Q:_ !=?W M%C/3*D1SB@+V1P&/YN\5SE\[' &LZ&,[0O%3?;?$%[UGSB+$B'=R447-^SWM MR.E6U>D6^'1K![PFU/$6F7F/(] FS;!Z?8<9I7@7RUXVK'BSZ^VO'5QW_G:6!=B^KJG/>0<5(Y=,9) M.Y&A*5WG];CK_%\KG=4#1;<)H]2Y>SE:.4L_6:WFA5 M%,T>/K'*KW4J7X96CE.&UMEZMY43O. X7VLZLA[ONCT\W0%?/CN'91VM# M; >&<@\29"LPE.WVQD8(''?'&H0'OA+VY+[$0J6L-_=V32IHUB+Q1+MA^04!_KA8N#W3?!$UL;_%Z1?='3O>',X06)!Q4 M\GB7-&IZL[$OW*3-$>>W&:!*<-7[^C./QN(>XWUS:?+1^G^5)5^<\=6.JQTO M^OAJQUZ/RT^IAYQ7K6?PD5T&1IE[)"PRRHN&=T7!:HE5*4LF1TG!#;S=45G+!:;B2 MEAB5D@5RI#1CM=DY:Q"@B/L+4^G8E+4TJ)6WC>!FD7-Y7C/@($S4.8(-, M'1M(]UC[MN<@%6P)0Z?E8:UI>=SS(\H9([>4R5%$>DU+.5K3RL@AO;;U=C,G M]XXBUVV2:UJFT)H&10[)M5K1F^VZHM=CI-?#V0YIV4-KV@XYY(5*$V1W3GCA MG<@7R*-3H*6?-933 MK( TG :;LJHI<60TW-2;-64.%Y"&%P2.5[(OCHR&0=%J-=J*B(^1B ]G="R( M2J]D=!P;@U1!RN>$0=YY].*?YH#9&IP-?/2LC)#=7'[5!='ZE8P0.J$;?D!Y M8N*J7J_EQ)N@B'6;Q+H@-$B$NN"J/!*9D5>B;6AEUO*!CY* M8CV8^5!=$&Y>R7S(*R/4]6H])U+[G0PGWJ$87MLWG;YO>A2^ M8(Y*?-K5%;<@,K^2\<#/[1Z/C:"HQ)GU^)'EB=KV2$_!@1;[;)-\%P?25 MS(GC(=\JZ&PJ+ZJ Y+L@?KR2@7%,Y-O8&R"M(M^"F!P+PM(KF1S'PQHU_2PO MW93>>:Q"T,\GVQL=;V.TPB'S9LN(M]2+RW];@SL\\=Q%,NMHM;0KY1R#Z"K6 MR"]KO*4,/>^LP57*O74#4JQ1*-:HO:6Z_0A8HZE7S_:5J*M8X]A8XV &7>TM M-?-'P'8-O5S95];9 3H>["3&=,2"H>A(P-F\O%JY?#X84W4\4'2_+;I?K>P^ M'W2O.AXHNM\6W:]6OY\/NE<=#Q3='T''@]IJ. #YX*FB=SQ("5[EHO/ H?[, MH[%XR(X'\.TOYJE>!\497^VXVO&BCZ]V?/7QWWWV2Z3&^UBS7_*&3YRM_Z]V2/K^X[IF,YLOSO]!:DJ>HB*5EMZJ*=B@HM-R M6B)62K;)D=-R4Z^7*V1$Y_1.X]>7+$A MLUSVR6".[4Z-/E.FQ(XNN 7Q^S5-"7%>'7E<>>+JFMYJYX2K%>END70;"T+J M:QH4N25=#L1;59[@ I+N@M#QFF9%GDFWF1]OK2+=(S$N&@O"TFL:%WEFBZK> MSDLBX3L/8GPWATQ[[ ,1 _$J\V)'%]V":/V:Y@6>E3RJ/'%S1:_4:.6&)=QZQ$*0S4Y;$CNZV;16 \V/*$Q.W:SGQ""B"W2;!;JO*.W\$ M>Z9RG8I(L-LJYHI.J&4ZQV&,[)>4Y9X_JP6"=%7L< M-WMLIVP]O^S1P)2O9EDUX%3LD;-6:LWME,;GE_6H-KY9S?/-E,?@T!$+AZ*W M&V'VS[7_2@\A_34QL[^N'422 M4YGB.^"E[#=N/(._M*\#\T42V?VWZ][#B9Q"E 7Z0#O,^:+)'2R7_SC!IV./ MCX8EQW[EGR>_Z+/Q6+O_=OOS1^;XPB;G?!)?/\&Z^<[(?X7_& 76[7WG6[=T\=#M_*/4N>YU'SYK MQOC5F+E2,'S6@"Y8;+^_:".&K_RL59'@A/'[ES+])\TN%E^=:)_FS_EO5^GG MC/3[UE/NW5U^-ZU?\G X[2W;'.*%D"RC1,H'D"0<^6*>?_B$^(O#]T9>&WM@ M-9TA+M% C"&M.@8*F ?3_75ENOVQ[?H.Z\%0%V.[_^N$"])JO=XH8XX7 XDV MQ8UV?(:>"61^<<[_V=^4[ M".+HC5B&I#UWS=]T?-H$OABY&@,:'60]H/W=MYA6 WT'N4[7Z.FO0/^6?*+D MLG[)_ U2=P#T_EEJ*&>5DW,0DE\_X6_/M;Y0*C2CWPRZ9PY^8#RS2J!VE:HK MZEU5N/GFDSS_T.RA!CV86 MH[5@?U <@:.%VA8(ZAYS/>#:9USW:18QW=J<^&QTQ0SL*0JUU.M]]V(N*E5WKT_< M6+!@SW9FR_2(MM(CUM4CSO*K1]S<_K-[V[M[N.F^+QU"DKL)0X[8>* 9WNJ2 MD LGP\H6:%>L3Y>A5JMPH<8?>V4@C^U78)#/65NP M?0/\;4+CL3]B W_,[H:!^+CT'0?^U4-R20J09J/>N:XU+TKM5J=1JK>O+DJM MUD6KU.VVJK6K5@7^N$A(%YJ5"9)XT $]H-^^;)8OVY7K4OGJZJI4KURV2A>= M3KU4Z[0KSC42@"$?O.-"\Q1'[-NZ\A7K;4@?,OM.BMG>M1Y8D5C37A_[I/! J M7/1*\;O7.2!SQU^_M:-/3;]0%+;/TXW=08>ELNKAJ"R/*3TI-"2ND6;SC]U5 M<3P8K_!F."43;.=CK>98IU5G_="UBJV$;\=<.1 CL/5O6::M=71$IKOUG8;YW2ZK6F9;HC MN!V>;7MPK#?#E@I=]\"_6Z@#;U/&YAO-%WGLW_#4WZY4UO16Y5 %"ZIJ^[B) MN?)F"VGKQ%QIY1G YCB")CN[L7JV9XPU,TP3.=9+:Q>%20?@^DT*\H#MFV^^ MPX#3-^KE5ZWIY;-#88RH\KI"4?'9FR^OC:@8_7A5O='<5]^8 A2TB70U(SQ# ME;)6G)2UYKM/*.J-',:T'S8E]7IX<+.Z+I+05-:5,4<"C^7N%\]=R MG^UUA.+G_>8S1N^9,Y6]6O#3SD?6J#K=W6>>'_":4,=;9.9=1PE('.+[^O,X MW+S27JW7=Y@;W_V-N4\:UO793\!"S&.! WBF]4?PVP*Y@0^+.Y7M\*JDX>"N MBYL9IK8YIL>N[%=KL[SEVKZP 0OMK\TUN:7!M*X+5[DMW-%#2=0$4MT%N%!3=5T1TX[!1-(*S\\!1&#XZ!(;< M=\2Z9'=3A#L"<^H[,USFIJ*^8,N<+:&^K*&QM'5H32S!A6AP3!JWC2 PQR0L+YYX-%;.%N7_O=AXY)LS< M](J-#--!+##V8MJ^.YYI ]/M^X@(B_5RM[:7"7I5U3FPU"N3:%0H&0E<:DR\ MA8/@-\[ L/H,C%IO1.@OS[[)/X'O.X^76L^> D=G44^]>LK?]2?C8]-;[.'0 M[",@T*OAL!&L@&E#8, Q-0DAP[8/!&7 6]C_^>84LZHU*EI!E,]2'ZBH*V$_<-]7YP4<+]P"8COXWY> M3LQYP_BA6^$2SB$5TJ<%"F3W^JQ:.KML7)?JS:=5+G=9U ZRO6N6R>WG1:'7J*C_B. *4*CJN M\B/>.P6H_ B5'Z'R(]1I%S[$JDY7Y4>HXWT3\QZ)%I"+1 65(''P!(F[A,L& MO3,J'V(/(9S&-O(AXGY^].AL%#&LEQ6"5-');1OY$%LBM]K>*OX5N1V*W+:1 M#[$E%2J[1ZXL5G9@FI+Q]>#TWNC M:IL/7E3$MC-B2^NSMZYBNR5B2^E9IZBM6-16VX)>NR5J4T94T8DMS46TKE:[ MK7LT)Z(M3]@PNT]<[$7;R&FFJV$, #>?<,SXX2'5&$^V[T63$@T7N]"MG 'W MF;?FW&L*VSRLCDH;RW<@HK7+0,2#83U3WU:'30S3"B,2:,&YV@?3TF;,<-R/ M1VK"+1F\L8?+9K?DO'Q:25X4"PZCMFU@NY2 ^(Y/(R.MVA;"?B$= MOA>B,WYOA^CJ&41W=MI:D>B.R1EXC!TS]G*+_[)LN=B?.#@Q^$ M[CWVNS_V!UA$3I@'\A3NOUWW'C(3Q>4*R^4_3@+(!/GX:%AR[%?^>?(+=/MI M]]]N?_Y8GHB^T(>7O$M..%B#5J(W9GE4,:D-SIK_, +I(/\5_F,47+KWG6_= MTL5#M_./4N>ZUWWXK!GC5V/FR@SWSUC$S6)[\D4;,>ZPK"*4NKB3_U*F_Z1= MU^*K$ZQ62Y[%WZ[2SP)%W5M/HG=W^=VT?LD-#.$NLC:'*#8DG2@A20*+_V#W M/O@?AN<[O-K>'@HK;FP:3T$)_GJN=EYLGJPA/Z[J\7F(D>]B0V9BMV:IE>4< M=Z3Q=MP1Y='?DEI=VZ%:3=3^@3M X&"/U7%_3#WB01E,:QN\4E9")EO?&S-4 M?MP'>9IWPVL3=<'_17M]DX!R^RQ7$>5WFR8)Y%$_4L[,02.[;&9L;]QN<25F MO/+9+0S=>V7C%\;Q"39"<*OH[4JN,-SR?GWNDAD;BAEWQ(QI[2*WRHQX%_9> M[0UYL%P0'BS A=A4/+@C'JSNA0<1L&DC+CPK" \6X!X\4SRX(QZL[8,'KVU_ M,[OPK)P3].IW?@WV1LQAQM!CSI$RXCOKAMZNK\O6E.J6R=,]^X+=&^:@@V3P M)JYNUP_5<+88?=';.V/U(-S!7\&!?'F48RI$^K$*@*-RW+8;N[Z6-ZMFUX&H MU86<@PL9CUDS)U/?(^1RD,CL>.O9BW'G-SD=VVY'C/1QKN^!NOGES7^L\F0IW]: ;P>VCWD&"<8]I$JP^BPS MI?X5D5EC"5YP9K9# MN8"?>9N0L8D)9B?GEX8[TJ[']JMV$Q86?_V$ ^ NA9"FQ[]#Y8BE8TQLD/C_ MX57(]E![N/NI&7#E>J[V:KC:?V?Q774!R-D;(!P?4,;<#7^ZK(.3Z$1FU_T] M99:[F19?:\\WO*2F*MGK2T/5>AN(VX[6=]:JSJ]OO18SHG7,;CO-Z#S[#S3W M*8-9OK#Q3%]^#K7R%B!N]D-GU?8&=%9+PXMZ&WK;CM;7K+6.@M? G+%\I!6?&.,97!4>MRU M7DS'MM S@Y_V1Q88%<\FOM[(=/G+=6RXYJ"N@B=FB%YFH*&85M^AV<& .)O( M?4U-OA-PUM%$;7B!,9TZ]F]@: \X8HE0RC#9MW&P&\NRC93S%,W\5 N8"';= MA0EH\%K3'M#>QR@^2[*]VJ)%FP\_Y.@S>M8#MB4$(77*VP(OW3LV>CZBF\WW M^%^]V93=#3N.@R7_>"3T^PY,=&(#53 :\LYBV^&U>GI!J^"U6G,!KU%!^)+; M(&][UGNUM[1GZ7@=8L_J<] )D3W322"QR71LSQCG;I0'8F6I<@F].2/\X>O( MACUWF/9DB#:07=\!T9$IFIC+ OJ."J1N()L\-$;PJS4D5#TCD+^SHWE3;V3Y,K4Y)53GU7@Z\*]C#B,GIJVFDRYIU]OF[7JUA8EK%[M"[MKOJ._/@%B"Q?PEZBNDE756R/1_]SY],&QD@S4W7]4%D MC\.'^_0PEN*AW(?[AZK70/I,;=<4?6IE@UUQQ6"]L L$+VZ#4ZTG[H:Y01TQ M(KSR::9-QVSPS'B_7G,(#./Q:TN\"VXELS^BAZB\#7Z"JJ^K/<#;0')@V.\R M\>B5>-3F%P[(%HI-&?C;)V-,_8?=$8,;B&8IL-3$.@14H(-]@^&E/MY"\)<% M)^HM6I%'3WE9R@JV@T==96#,L.VRB=:QC2.:#F\VS T"WF48M]?U^W@CX6T; MS"]C?,OV^ O&>,][(Z"8550G!!8!$O),F=T0SN54N\-&R[[G>G!/\PLZ9>7; M[2<,9]>GJU2K5;C1SA_#,S1=/$"N=6@!_N-1%(E24M%C?\0&_ABTB;MP4P7' M@BI(.YI1('JVX"[;3E4HB?.=E84FA/_;BD0W?>E\[&V#P.2R0>5^U;: 9++J MN_;YJNIN,%26OG]AL>Z.0%W>,*%J1O7PFUX9$U::D%9IJ"MB\E-_<-_$M@F3+#:\W.)_5(S!_Z4HZ-&FV3Q128OH M!V'?S"WTSURZQ-0TX;=BI1W-??W6!JH[H*XY2KH6@8>#RH2#R^DKE?1QP_@W:X-H5(>NI>[JHY]\-K.OXZ:MS5^=^6.UN.VW*=Z_=Y5FY MD^ZN^!DGNMOG3HU3!'>T!'?%^J?H*)TCN&J>"6[?=L,.RQ36\P8>RFSXX9UJ MWPW?86-=N_U[GJR&-8L'CM.Y(Q:98.-H4 \S/$KF[]+(' R8]5FD,E2JS9/S MVJ=J^U.54'!$)&^)AKB_+55'O(4C/CLYKW^JE3]QP#EUQ 4\XE9PQ+5*UA%O M4 2TW&6VM?*R]4\MHXBL^K8BLDWFDI$S5JEFP(/^B_MII=^-LK^X%U?&;$6B M&.8CW5BNY_A!EM@/CU^[JV2')0+!$1?PIM6K6'VVD]*S3;9_;W2H2'Z?/<92 MV2E9F6/RZ-J/CC*GCD41JU5. MSBN@AITI>ZJX9UR%,ZY^JE64057<,ZZM>L9'KEYN!PYH[XKG-H#[*K4,X+XW MZ9#R[GYO2N0F"("*DXZ#DPYGZ:7!\VW#TE-VN[]E8#EYI4#EX1?M ^A"6@'- K?Z7 MR['M8GDZ)E/SSP9?/L[#-<'>=R8!7Z\VNS"ZOORW/2&O@/3^VWSS;#^%6Z%KT MG.FAX'?!QF="^&V55/?,&0A-$5\S@BEABV_$?LL"0:J4TSJ*54J5CGE,B10*H>]V.,7E!<#-C9FL)<#QWCE@&,63%;[$*4Y7(*& M:PCY',EVV?:G85#)[4_9R@.ZK!*C*]9/SH?G"Q+5=(I 5I =+9,[7 MW\RLPD8"),0%!*B:Z)ZF2*"6W#,K,POH#MA4T<+,,RQL+(94:3P:EDW-F\8A;ZWU_$9::Y%QOB*NV !D_.6$ MP*Q+]L:F^#G#%FRY9%U>. 6B"U[2_#0E7[@87#1,N)Z%);B@S0.A%%:V#D[I M%VU "#_+\WDC:^*&K(F4Z7+Q#$I*%!<:-Z6T_T"TFN/:G\M;4@)S(;#3YL9* M M7RHFQ';B3WGV4D+TM@,'9LA.,RH?%N?<-HYGRC#[LHXMU8H8]Z<,CP7A/J MP6N"/8&69MR8,&NB%+-&E98? (/](O\7.\AB>]DH0GSS]N; SWJ)Y>L+[XBJG-.,J?M7.B4/Y M@ZGNN=&GY,,D/O^_N?AZ>?KQ]O+BS].++_>7M^] _CP9"M.]?^[3?_+._ 7/YU@R?$B+O[^.1\7& O>%A/WUY^ \7Y& $PZ M"Z\"#O%10CII0HH(+/M -;$=8#;'M&:&'3=] MT_1"ZL+-[T@47;Z%[QDU9'4?F><@)2ACRX'Q<1$>ZCMT#_]JW;64!WJ$? [1 M%Q8[=<=AT;OK+[>)QT!W)0Q!HIZ.& Q(_5=]QD>WK9EDC7$X:5B M[U?&[2)8GLU@0N,!G(A+ \PHBM;D>K0@&WD_6W2I9Z1O<-4A==MB%CEFKZTW M2CA3^'T5Q6S'O?>X0:JX#HFN!<#YR#\17> !PG>=7/WMRT>HE@*W#"25X L0ZH\=;VC\TNV.>P'P(9A<-_ M,9,\6!B T>6+"K6!'Z.N\9AIS&!RQB,L^2J%6TNX9 Q=^+$VXJIHPD8/%" 2 M!I"?B=&K(D(J-!*#>=SO>68 @N 1^GB:,&$A5'BW7CB]&2Y:!^(+7 (%X MRPE_B7X=\;L45KD7*"&]?QKX#C? M&ED ;,;O4XC:O? "5D M^C9GI[L2&[Z%75PYEPB7Z_%G#I78SC_52QKZ^LF'Y3O:7B&]".$I,!0@^:4T M)9YD1*C(R(V5DE4<'Z7YR1B/+;K6\!%(VV$/](D(21@ @#T35#Y\#C*L9L31 M.J(E:@J>;K2.D0T\7 '@(4=E?KO\>'7_^4*8H-PS6N^F)W>4P.\9$>D4\"V /LQYZC=HD8"+Y\H XK@9 &?_)KRB)A;G[ MY/#&\Q'/I*/UR),F-8PG,PVT*'):%2>3W1I&R(O.N$$C>K" U5&!\YQ;[XCQ M]?/TQUI&8>D6&3;ROWCN%!LZHLR['N.P]V+8C>*QFIX?C\VS@H'5..,R'FE$ MJO2M2-C_ [017F\S1T).(@'&$-BNA?=!\$C50MK$*DLJFR(1L8?E\R@9CWSB M7UN90J-2]]HM6-&DP^/\AXR9RX_@0!_ZJ(Z8#U*4Q_@,QPE!X&4W_$2W(@BS M%NT"?K4A[JK(%X'?N%A#X9&YNVAE&XK"B%@M"#ZM&/-CMFG=>!E=%@4V!49) M0*@_7SWBY9FM/ 49.Z_<1 X2+_&H;.,U@C9.U]$'SY>T>M[]HAIF.>J#],?# M$UY%DK9W\N$\]P1G T%[ >8Q7B-F%@G:D;7R'I384TFYOL^2Q!ZSC=C#$:** MVX8[E'%$QV L;73J@'?[X %U>?&XZF:WPU/I8<3CV3/%HQ)/O!)A%^$#N B* MEL$8T0.1B\>F!H7S*'8(6VZM%XR-$[[WZ6N&%'[9#OD$@!N16"1":>(>51OH MY92"=^3UT$V,&+(4'H,#A/N,H%HC+C:*"#VYV^A[#)*L/%YQL]'Y]K?TE;OD M2,.3CGW=<;3EK4;[*ZI\3D.(\\Z*AA!;<1<,2\D+K[GL ,2^V57/AKT6Y6S9 M]JN[77G-]KWMNEJQUEQSPIWBWH2K;R.W"OC[)@KPW48XO1Y_L5"+_2](L(WJ MKL'5W4_I]?[Z:NVO'5:Y->^/6[L-Y=!U@Q^>*?/R\W?-E%?.#QC__HG9C^P[ M3#;Q-_*)NNJ>"LLJY\B*=.D^.;(G.7)/'+G"N=PA1Z)>O']R7S@C'H%J[#>4 M$7?4"JD"?MU)&['NBC9BNV;KB7@VFK' MLG4'71P.P(^;M3OIYG4,>S9#;L1F6E=M#P[%9XUIBI#$!9=GYCFY//\N/,SZY?N#?30R/?<0(]XV0Q?EAQ<%B M6)'2A)\=6GR^_< IB/*JTQBG*]8S 4GZ)ATD3-/A@I0-W)D8N-,ZWV.0[OWP MP^M5">EM"E&_P3X4J1#R(A,5+EYL>7^+O[N__O3GZ<>+N\O/RJ?K[S>7/^XN M[J^N?R@WWRY^+-R$E1^7B,B,=6P-+X MT0^ T13CR?!&/..0?\$SKGWEP8-EL9$X,J3?3OEQE)GB9V5F&XZ?294U/6L( M3TU=#\OB,$O+BC.&&SG/O+ MNWOED^O-1+^8-1OH\ W<$6:N'#Q@Q!._&P ZKQ1>W76.,OF38?"UA3XGF%UC M&Z:H9_SB8MUS?D7PRH5JW?1"G[F\Z.7,\EJKWOWA\C?B,FU.Q"9,.V0+E+MF M&=GI^7FHMJ6-=^W\XT@_0R/RH>\+P)T).3$3XQ-+9-ZGDI3/!6$^G M-?F%YV$F.W+CQ_F2*K] C/P@^%V/Z5?_(@PFK@?2;Q1;?>V25M_5CR_@7?7R MZSY57H'R>OB&G\X^#VG/156:6J+\:$J1>R:2C91H&,XS,B/:D/F&$L0+MA&+ MW'2M!N>#+1B #\L;5J@T/ !IS"C)'@L9$%0V_XP'Y""914U14D2!U?DNP0:_ M'@=B"3L'$J;)N&' !6N$Q1CMG).7B"%!/H!KR%\L#ZG,ZI(4XJB0V JB]8*N MPL6O8M]^8:"RINP;00ZTZ5HD>$6 M4(5!RC3$1#3'CSC-8Z;[X*#X1]MM'&+YF$C@]3$';66.8S^OD4>4,K8AL^2$ M)BZG,]N=,W;'O$?+9/F<\\,5""4F\>]QX^G?T;<%<_=_&4P3;7FC.$=7U?2S MG#8'*-B>&&^ "0*-UUF(;D18=B$L.\KRBG @/IHBE7 !'_X&'O\SP5X1H'GA M$X@H\14^IYUD:>DL@P-LD/!N%'J8JP44W=*6PB7IUD@52J=LF?Q"'?4&E?++ ME=A)B7;%]?))R?R:JOE!JFH^4QN^\$?F\R$KZ)?0],PB^@V0M%!*GZVF+PFT MA<+Y!?+++:ZO1H'FYFZ&4W@!!O1%K"!'YSQQ >=1Z5JIJI, CWVX+D.%O*I6 MV_K%GYM2,H;"G>5GMOU9,T<2O$@E@,>61.(2+-L4B\;$NT,(KETEH9;2$Q= M'B9]NAXO:@(*-.>&E<_:VV>K;G_6G:X4H U)\FU9)A9G.5E@K7YAV'/ M?Q$D'[8-HC8X8I#LF1(_WL6#WDAPEIAD=^(D)6>%GEH,+M,9K\*3J91+Y%^* M* \]E.+P>\RP"X%F">Z-P'UG_:H2V-$Y]Z'QI3<57SS242/*;S(D=0E)29,U M@^3.:'(QI:AKN\?@=#4]NH#\R)V3^LX$MEO=\LFVW>GO< MUV_/WDBOM>J2[^THG*='90F\.(RH=P0TK<@X8CH>$N^>2A(^+A/5\*:P= MK13&0ID]D'!)_V%%H5&ESE6&0.Z8;>/!@CASJ-S"?_Z+=>*@3C6FN$#2A3/Z M;G@_60"?!1LICE?#@#=D7M[.$,V$L'/C-^/PSFC8X9D3X+;/"<[JP6]-#CPWF_CR.F_OP;RM,_%I30ZX-9OZ"H[8 M=FWBUIKZI.P[$/7U"T['=FWEUIGZ.OMQ[YL?LY4) 'OGX +SO]V M;6/7G(#K>X8A"7@- 1<%\4BQSW9M) MO[8I]5&U7[O'*[S7=N([RPOF+=NO.V@=MK93R2=C9@6 3_CV8HKMWPJ:[%'3 M*B"C)V!?YK;),9/YL"M;?=KCN&M;^[;HN5(TU432?3\$2??A M/9::1W.17!QA5R-"XCO>M=*VL(/5R0?>>O>:-_UY_Q9?1/;^D.FU0?_Y9]0; M*9\FL-U@MAUANOD@[S==) ?.VT#FS!&P MXVW?E+'G3C--/FG:EB+B0O9<70!6U+ZW>'D@:)G"_HV7]XIVU[DPC5M)9]K, M1BL@+J2YL"<4[_M7:I/:R83=%O)'(*(]E:NLU:U_;)0V@-$ MZ")BNK=]&72A'ZWZHVV8/T_OS(EK8S\M3H"(('Q@ZHZ8S?$79-J0+35?-'P_ MG!Y!NZW\/K D681@^0=0!%=ER9:+;X0]T^2-L-FP:/DI%U=;Y&SL<,2 U7\4W2_?X>PQ&WEO_S M=(R]^"S$%5HR>"]]0^_DJ\%E>VOB(QLEY\:N;6('+,5(;L(=-I[_ K8G&AHL M960@I7P!0KD2='(+9!([QZ=ZR0!+]^1#IS7("[!428C7&RWV9D M*[CQ;*-DY>/B1KV5>_!Z/-SXPF_8_6P]6N UC92YQ>R1E%+[T>MG&W54JH4D MN12W4D2$LIDDP:!WNW7(6[6E8J\=RQQ.L6_4'4JR8[/8L1EN_/Z:!T37"65N MI1.'&/R,X]&U@19M*Y@K8R UY/"; O]O_YP1S\#OFOUSN+3OXJ8K:DWN-)\4UMMC7F5UIF3E]?TYGM&RE,MW:FGG/= M76EC+<:"8FYF7QF^N6$VA2V49+ZDYYY60Y&7DI%-+ M;YBWVXN<1>X.W=KL7SD\WS2R.BXX"NC'S^#MQRRWV?W.@U9W^7B-DM56 RJO M)F%9 !T1H+JMWC*@5+S0$<6;]B%WB0D^$Q2,)77V9% F8D[E<0 MO./78Q]%+E^:"=*Y?!<"SBOR]_3%_#U^<:Q,XI-)? U(\P(^ F,T>]DDF!?$ M&;[,[CM6M$<*.XMXH;ZS7UY&2?DW&+"6*8$U2 D4RDEQP\ /P&X$P*G*_QA. M:'AS11-F^NM2DM?Z:>G_>C:@=1A($Z2,;/]I6,L&#*6]Q^U_33CI:R MW_=BN5\G1,.%_V:V>>^\K79SNWC*F%G#B?.\%''NT;E,D>B"9QDI(])%FQ'N M>2NWHY4\T\E9\V!O9SJQS\NG^,JKY:2^V0]+GY=+?MNWZLD&C;YZKN]O&$'K MJ.?] Z;.2-VS+T(MZ#.PGV"POTV0

    J2$N?MS1:%U7@756FBR+$2FU4TT/9 MURLE2+FNK6M5'0:!K^A8[3.=JG$9P.-BZ0AQ3"T;B@!-4\^/, M4A@[VI2'S MFKH>3$-&U+]')7E^T/(GZ:_EZLA/AF.";&ZJBBP=EC^X,"B]TM5*L=REFOOV M_[ZXWIA90>@E\F(SF:"#_]<[6.RQX+!":M*&:=(Z)1ZE6./"&5W^FEF\@]D> M%>N@U:Z*A?(8IOD>Z5X-Z/PSODPB7JD3OG,\X3L_4P?GVA&=\"VJ16S$*GJR MUEV#%R]UI;#*.S&L2&WOZL00N+&O5^7J+HJ<3@F1TR0.J %EKZ'8O&/$2G7J M7H\1M7:KDW>Q2%UH.3>#GA(HCSN+_ME-89/6U@KO#TLDM'5[6"\9EB?F&C1L MME$L(AS^RE0$9]J:BMZ<29=8?C_CU 5;Z#^,?HLFI?:F^ 4V.\7$8=[CM:7< M%JSD(6K/^MSVJ(.<]JBT9R:*77Q:9>D!!^V3#Z[#TN/1< @&S$6=,4I(5486 M #UP8;)5SJXVV*C31_ZU1_=6@(G"5R!$'JU1:-CT[%6RJ,_1FL0+_^# I\<* MY!=-"P@U)^S:6;X=J;!_P2;%0?1_8DVW* )]$+:8%@A"\/D]"W3PO)=C<:^0 M2IEA3JB)\(KL\>]X':S2T51>0E(JT7SMDW=L%A (D\?7U*8HGYDIWM!$)VW> MBYD(SW*4IXEE4C_;N?*$S=%%*]\WQUAK<&4B? A!/ #C1/!]8LK$ M>,1^A*;'#&P4##(DZG<,4H=H"88]Y;*N2!(^4>=Y!'QH\U[$BD/F)=4WT4$+ M_ JT1>+)!#'RB/F-0Q8\,>:L;%<_R#M&;I^VSX4(H(\=K90(N+$-YP=P8]XC M@K.NG'ML_?Z_* ASY(#X3)+@&MWY"$#?&0[FKQ0!EA,$^^'_;RY0]RV.L&'W MDCQ)@*RW"C%YIW,2,5G$_#6;;8P8#2S37AYFA(PSZ,J$N!\]> 66@[<^XW(( M>]:"B0)RW6*/M!?BRQE,-;:RC*Y,.;Q:BMA15'T$9HE@=BMM;YBV-1['=HJP M<; #FEB6Z$Y/!D0LC/,F5+!2<@HR"/ "ELZG(F-L<2G<>..;-!2\KQ!1<(HF M(>X>GBBPIG)!%/'[S/>3QNMBXZ1!/39#TRX[GS'Z M%TC@N$\^B,+ G)R&,_$#HD;%*P4TVZ].Q "9$2;C4\]]BG]:_ UK)I6; MKS_^^KZ^@JNP '+1?A85F_B_TVC>U=3(:2Q>XUM89+R9U!^9SY/X(./FXNOE MZOE,,^\F8^U&D^)T"/,XRL/I#F3!>_ZECZ$><5Z#+(&S(S7)Y\NKT_> MJ.*!+[&,3#WP!1X@8P#^!D$,(A/$B0>V#RHQ/PX:,0>E/FS0X.H)+1T&,/X\;EZ?GZ^W 9".+[4Z(-,Q%4](?1V M0:RK+HA)W0*WG;_T3)QDFTX\YV[!3CNO-T=\7]?"%5?WI-,CG%$8U5G7=B&8 M6-XHNB;. :!Z/MI@2Q>"(?*-'*."V^BF&]K U0@W?@'72C(I2(JM"YDT-^"! M!O8JP!=D:[XLP.\SH+$4,H1/^;J..^RE%7>+*VYJQE+@U\<7V:V*F$0*.R]\ MD?(D,FZ2!^\[T;5R<<0E !M&Q 7(70"7C'E3RX&?AG.:.A, @3^F5A"P^$CI MHXLN/?P1'UJTE(OG>1T+$>#D$KDH;I!(PTSH8"6/%"0GUI%'FA(76(KO4=BO MI:RU7.<1^7-$$X>Q)WNN&+.9:XG( O.MD:!NI*M+Y]'R7 ?W"%/=,W/B@!?R M8 $1^.QAEV9H0<;>[BCE)MK;]3BSJ_2FCL'Z[*GM\^4JZ.<:GP67I!\8'K0,3R]%:GMK>7?8:P[LY!N>\2G/3 M@-[8"_0Z=;%">[O*:%??IR M?8PI%QNV=PP=I(@5)M3>.CY&(%J=B0,N A][]4'.4MO(K?LY_G %9!:$%Z_5 M+='!L2-O8);-&YO8Q4\V;WR1:']&\T;R4)3/=%]P^GMLS*R0PR(;.M:@H>-? MD6Z/3,H5C1T;6K%5AWJ5@]UVMYB2GFZI5\8#.URP*3:NMJG\TL_/U6Z.3R7[ M=4FF6<$T^LZ89A]%9N599T^W(YRUSFO"4K(QBFQD>03RIESGL'KKZUT<#@W. MU&Z_)CUR)?* M=.ICJT TYVNL87!\[4X/:&84)#TVRLR("7K+&J:.JI\=+% @V[!*\V.=^7%^ M-.9'JD'LWJZESJE'E/U@:^+^K$X12-?H-%10'6-+U\,)OD'.V6DC3).=)!QT MM/P"E_JTYVP29]: XP[&29W%U@=;<-)19B$,6F=ZC?DLMPWND;? Q0(#JJ=4 MQICF2=5\4?5*8?UEU&@1?AC1A5?[J25(NM>7:=69-'YZ,OS5Q8C:OB*-AXHP MWB,&EYGS676%JM;+ZV8!0%\-R[P8AY[ 4G^!L.SF=/M6D9VP^9?UR.RYFBK9 MC(JWL(C27^RSUTI$PG_E]^.N1A9AWR;>GRGIS92T7]J\,(?J^BY%+VBBA1M0 MP!/ (7;URZ_!Z6Y?@[.@:ZAMUD8E,8$[RSJ(8LAN;Y6#IRRA1^6MQE3%!PB. M_UC49VNQ]7[XX?6J7G<:B<8WF+V?0FR![C7"P*UX\9??;[Y=_^_EI7)W?_WI M3^7FK]M/?[^XNU1NOEW\4!9J#G+UM/)?53!"!0W#4"-;SOWEW;WRR?5FHA&] M$O&(:#P?<8F";**\1CD"Z]3;FOG'Y=W-#?\\^N,-*4-CY,Z"I/J2UU=:J\M- M+V:>9:/V%7VO_7#X+Y!>6%UHS&:>"Y8"CA>WGY^X-C"?'[4O=4TS]+SU5:VD MY[%72#(3&!WL<2MZK@8JP1A3D\A0%;6B@,DO[R MO!.JH[@S[)>**F:.NYA%$ 3G ,P28>($$\\-'^!Y6/\TY 65,V/NN;8-0GX4 MFKS@E6K=L?$EMLK 1Z+!J"]_:G%#9H*<4]AXS$7_.GA]R*[75MLY'5Q2M>7( 1ERCJK C4?#LDE)8N6OY?LA%7NC(<3( M)>8DNV(D0>$T!KU!HH00&4V2O&W$6U6&88#@I=MQ%;KKPC#!(//BZ*2:*C47 M(W@LXB>26:$?U:^[ 'UQ T;KJ)CBXY0/2W)O"@?> MR.\9G"U!D58Y)0!Y+#L$@TIZRL]0@JN.0+$;0% MN:^$B<_IGD"3/+A1_L)9J[]!?*2SV,O(V@V35[1K76]UED7C8BR#F_R@M>%K M1O:PL5*C%/4;VI$,+&S"MXD-]UD8^5\\=_J=Q!<'JU@ 1L4WNAQ)R[L<*?(H M.*_QN&SV%H[HB;5Z1BMYL]7V>F:[UDP1?"]HFYN%+G.$+KJ]\R;L[ MUX"MC;^\YIZ[DZW2^ ,8ZWD& M]E[TU^&-OYQVN+LW_HXJV(C4S&^CBD\E4E>\<5LI,IZ>&UPT!.%BH_A5!)KG MG6BG6OM88HJ=GMK)\TM6V*O)]6.9Z'>B8[ MNTT 3>1 0IFK097G2NT55!>V[9HH?_+UU"476!O!IK<(> MXY4(RD1R&Y*SR;-!*Z(V ";/>-[.59PY#D MS K<=ML\/^GUSS?*#)4N'5-3/D?B84YZX D2.?:H%OW#VO$L#']G";&>TY! MV]K, &6[BDC/>? /KX?G)^$/C%Z.\U(P\\1 !K1F:'.)S>0D_%PYV-45C;,[ MXQ&8WJ=4'U)L4[S4-]YM!LJ^,G)MV_ (@.+C^E0*O62AZFTLZ#+:#_P5P."? MI?VQSYP\/J76C>\*)>I]Q^W!CC._\\[VF[7H7]&A/P+B[S[>;H$)1VG=J$;7 M*$^-7]8TG"JV-;5*6%LE2PDW .>BZU4 RN]\O3R':@U<(]ME"R=LV9UM10EK MW@)YTB4D0.(@^.;\YNP25Y%T],')AS'(@^@F$N*OEA+M:&&.Z%9BU,NN8WCS M%EX&O/ZN/8^QZ*Z]E2'[G:2S/Z5LTY74U,FSW8&$NCNEII*\^3D-UO1#V[CP MN5?:K NM=4JVX&LL6#K=?.,]?5G]-)JH2?$KS<=RUIG MDY213LFJBV:"I8OQDYQ$QTV(_T@B=]R^7F'N7DR''EZFC;K/FD[9R +S$E3L M&L,S>BUM>4;VYO\QIK,_E!O/!8^6+HI 6"?YYB?1NQ2Y>0-F)@83:$UTP1 2 M<<;T19RQR"K(1YYBC ,R&> QGO?]#$F$URPQ[]$RF).R,).N15]O_"- M8N E.WY>_C@ ;FK\9,JC:P,U8W?][)+7F]>=@OO,RJLJL=1M+>R,69C^T4_9 M@1N;VJMNF,Q:U1QDB)4Q&S$/K.X'- 7I4K"LTT@&MT]>#Z49$R:,?.I9%W3N MEDP[VCL:2C@ZUV/Z<2-_I^A&,F:DO,;?_5PR3ER==< LF5]4!V#NTVL$*<,\ MI."-/,5N@6V_&RB65^6E!,..'<0:6:7/=$49N8FZ]?[F]77A27.F,[B<\8H]649ES9$H.?JO '4V>@T:?DPR0^';RY^'IY M^O'V\N+/TXLO]Y>W[\ S>C+F?M3(ZIT"6&<9F/RA3!B_M%+'+BNBD]I_M^E_ M>4W6Q$\G>,'<(B[^_CD?%]BT95M,W%]_^F8Y/R, )N?#JX!#E)Z03IJ0LL?1 MJ1\.<2Y]QQY0FMPRK'(&QEMW!-V71]#//H+NU/P(^N[RZ_?+'_?*U8\OU[?? M+^ZOKG^\R//G<@:52&?!NF/..[Y(9J737MMWZ03:(X;B-R]'CZ$5X$6,1MK9 M?Z=:#\>IFT9[ 9U,+>!O["*#MAX^Q?X?6#(=5E;$]IUN\ M/7<87;=]:EJ>&8(GB<\RSW^C*ID+U)7T#>JY4V*2"D"-!E!Q;)/Y? <^K '/ MI^$[7)#_AKZ]$4^L'=AR1#L$$/\_0F]NJ<*-BQS2>18<\%9 :#H63\#N>"2"RZF(T MT6"!NP!UH+)P#%8+2$;L5[&25BQOQ%4HAD[G'&$4U_1A3#S!G+BASS@X+^XO MLV/3MQ1300)F\#XLD!=7\)Z)Q<;*=2P,/H.MBQE>RG?C)T L%4GF?0\H M\>3KQ<6-JC#LET95,(@H&(%,:"_#K#>RV^ M!L%BBC, %CW**3CNUP C&0Z/CAM3E'W_H356;,5O:269$S8*;78]7K27KASN M_\"./L[%C_F6TUF!Y5327"K;U7#!'ECV$M)7P>?<%)^]3UY8(\NVV*Z6D['? MBAHNITVCTNT=U\^H^XWZ(.E'($C6\MS[F\X7(%>U<[9TM MU\;63:XTYSCS:$)=A95)=:.-@XG[C1;Q4L5NR<:'NQ6[:1I.DW"=)/"YJN5< M,=]@)JO%(B2G'XS3"ZXOVV\\J FUR1O[U&3VK-ZCRXS[>4T2JT;J\M;EI7+7KOB47(1A%R//+JMTSWBO]:MV- MB;*+NER$7(1 SSD#R"N'KUT6=>U;? M7-^/3DXL)X1IKV/7ZB/=.,^?NS=^,?_R5^ 9KC>R',.;TXI_N YNU7-MF^Y4 MYW?/;Y9(HO:[,H]$BA\I?K84/WG5V_5KMEX_\:/)NQZD^)'B9UOQDU<)7K^F M['43/SU5UV1["2E^I/C94OSD5977KW=[K<1/]^1#5VV?'TV',GD(N[LXG&SQ MOI=%O%3IG%? 7^L6[[42U'AW6%'(L\.,^KQJYU(_A:R0,PW#2U?59_ MPZUIBY 2X6 2(:]4NM8-XVLE$;#MH#KHRR M;E$&=V3[>=GEL0D"/Z^&O*;MY^LFZG6U-ZB_J*_9(J1D>2F2)>\VLIIVJ:^A M9.G+! 4I6:1DR94L!3G?=6QF7S?)TE/UONQ:*B6+E"RYDJ4@G;N./>_K)EDZ MJCZHO\TBLYHJ#7SEML:WUK69J!O1R*.+)LCN@ESX?3:;KYL,QFNNY7&DY.FC MX>F"!/-]]G*O&T_WU/..C#)+GCX:GBY(2]YGJ_2Z\;2FJUV96RR9^FB8>E"0 M6[S/5N1U8^J!JO?JWU-#9OY4G?GSR?5F+E D4]BO&7/\.N?]2!%[4!'[>J6, M+$;>:=]3-?0OS'^'EL=&BN4$AO-@X6V>QM2%O?^'^*0.E"F%?N.$ M?KD^WZME^&.*.+%%5N=C2OU_,,KPZ"5_*VY.VRO%VNB7:UO'W6 M[TG>EKPM>7M+WB[7H;I:WM;4=O],\N B,S_ MV1GTHS!?E/Y3!TJ4HK9QHK9<-^=U06Q.BI><$C<3KS6M,*J#<)7\+/FY'#]W MV^6Z,5? SS6]"%#RL^3G)O%SN5[*^^?G3J^>_5TD/TM^;A(_E^N$O']^UL\D M/\OLCKI _SJ8,"_JX/):1#1J+&)EZZ[F4-HV%:C==KE&QJOE]0_7<:-25)[( MMY5G-:AG&+K&)=Z278^(75?;5^7: U?(KTE*K59/OJV#Q27EA907!U'OY7K^ M5JG>P9FHI9B0ZKU&:SUB=EVMWLMUTCV(>M>E>I?9(;6 _D)[W$O#C;2DL*DO'TEALV]AHY7KU=PL8=-1=;W^;A0/K[T-ANYHCG\90+,? MHE7_"*K?; M:Y^!.V"@5^*_ Y1;QV *P?9@D]$LN!WLY45;P MZUBF/]7TTX[69*+7 M5"WWYM:#$_V6JK>*E-ZC5+W.HP7$A^1HV*!]S8D#4'VP"FYY;+9 6C=5W610 MMS+%FZ:"-!'L4QQU3SYHYVK[/"^CZ^#B2)+\84B^5YG:/2#)=VM)\M+Y/8@& MOO%<$XA3ZMYZ":)^5;I7X+\J$83WOO14K9UWY];!19 D]L,0^UE56O< Q-Y7 MS_MY+7\/3NS2XSV(OHTO4#Q")5OZE+MFXJGTNE=*L?/GJ^P-;]/<0A[I [6K MY[5$W#]QY!WOOQ2-_+(Y8_!\_5X]9W35=F[GJGHRQ@OREH]4(JSEM:+"G#J= M8I5?\RH!H;>+5>?>^%WKZ.IYKQXU+Y[3VJU65^<@F('U&*Z=!3 MWL)2DN(V92HT7M([MUIS'I'UD%Q,6:WNZ(8RR M5.X8QY<0EQ _]O$EQ,N/O],LJ[WIO+WIN;]:=ZU=)3KM]=2J')0*SY^T[T0S0 \60* M_AG=&[\V.IX:J --W\?A5,7YP))<5Y%KN?OK&D"N6E=M]_>24"?IM4;T6NX" MM0;0JZZI[;:4K\=.K^4N$&L"O7;43EWHM1D!K+T9\U]C=L_VTE!-LL.QLT.GW*4NC6&'+O47[/3VTNAE M1^Q0QY.1!C/L/JIJ#L"^F]71=+0=W&U;E:+JZ&JO5U7$N/)*,TGW5=*]OH-K M5BMSWP=J[TR3="_I?GNZ+SCM?M:-GU71?;\+CLE>ZHPEW;\TNB\X-G_6Y9-5 MT7VOH_9[59W<-+VP>.O*UV^N\_#->F0C7AG^C&+7\[8L=I7%9E6=*)8J5-CI M%8P22WO"TLYO35P'5UDX>M2U2;NYD;!D>%)BM^K*,UEX5J[P;.4M@+LI/+OQ ML#],,%<,9Z2P?X?6# \U9!W:\8PO(5Y^_#J>1,D:G9TGY6[9(V[[I-S.JJ;^ MFV?B1L+\Q@8,7SBCRTB>_V#!9H%ZM:=7E5=TU*')6A/CJJ;[M2+&?F6'I3+] M6Z9_[[<#=W493:NZT>\@C6GG?-X?R-P]2>F;4/JJ[O)UI/3NV5XN/Y)I>34< MO([-KJL[KNYNW-=]YTS7475-YMQ)HMX!46_*Y4P L " :"%?O_S/_W9//U_] $T] M/?5&#Z?!!/0V\T;NE)V:M@7+./68[X:>R?S33[Y_*_XXG013^Y399$*=3H E M;61+-L)BS/=OV?0#7\3[M[!O#IGH4_)A$ML2-Q=?+T\_WEY>_'EZ\>7^\O:= M8MA/QMR/.!/O3'-8!MY_*!/&DT=T)#AA:OQWF_Z79X6(GTZPW?$BGO_^.1_/ M2+_;8OG^^M,WR_D9(8?3WCK@$"\D9)DF4CY 1,*I'Y;YAR^(3YS,FYKVV>D\ M"Y*#\)"37<.WQ]E;$&.QX1BXL^@5?&Y1/'5[JV(7RI(T6+AJ8I&%RAR$X6U3 MBMY2LD=>A2LTPL"M>(7?+WX RWR__''_^YWR^>KNTU]W=U?7/Y2+'Y_AWXMO M_WMW=:=K^^B9V\N[O[[=TR/7-Y>W%_C#7=YV MN:@6Y)H@-)+9]+D"*5TTRU:AJ_B&C4X_/@+%<_F,) #%ZO(+,]XI)!MM"R71 MR8=;R_^I? '5ZGH^'9=^<;TGPQN=?G/=GWA%1^QB^N_?XK#)">HQ >W*45!> M1/>%3"P? (+LG;Z31%4"^$'YOZ'A@5ZSY\HMF[E>@!>. -2F0/>G_Q>M&[IH M!$PARQTI#%O4*W%7>NI _)J&@3WJ;"Z M'MF\$!_#,% \9N.\@+49+-\R [P"QE-F;@ #6?#&. Q"V"*F!08H:'< -DV:[O V(<%I3Z$N=3_ F@"Y!IS*P ]L9^ MS0""%BZ'K]8%7, "+0=6A9NW\,I!-4%T?$5.'ED!YCSX@D8U X/O@7(H_ #L M\H#Y+>4:]U]((; P!W8-$%.&#/P*A-S8@AF'+7_]9-GV\K?^)/]I3B)+7X\8 MH<%YR'F#DT/.2P $9AI^WD\^8S]SO@919IG6#!&Q_".2W_*W[I"(\9$M_Q2 M-&1!#E@C9.U M85T>:$_^= A"P$/Y&D1R(^&V< ;S(#3<$'[R_7 ZHVE:RATNO6@0K@<8EW(X M&@I$&P"'$BYPWU6LA)M@90MMGG+2"Q_5SJLUR)$S>N;XCWI8XBGW\%\A$/IX MGETM:CEC:-E6,$?-RGZ!5@^0C4C_]4YO7"!2L TYVR]M*F5O2VS6#IL/X.IS M@P>L!H;6BS#I;&L,8LZT\#M: )ER(M^&8:^Y>"38,=35!=M M+,'X\$" SB,G$S:UP&D;A1A1X'80;!7M*" C,*F2=.S$6;VXOXS]U&A0]%=M MFYM_-O<=$N-X:HG'HMZ-*4G\ MHG(,H/=-[FU$>$_XE/?()/KKC?X1^.^V.Q/N&"H4<+E&N9A.1;\XC<1/C=@4 M7\7X6D;(2$53<^PO6)\4TO,".ML"OQ^_\@U;.,WXQ\2:H:N.V$7<&PKXX:@# M8'D.\R2VZXUM?O4VMRG0,G0="HY.78]%9H:-@2.2 NI/ <:C8=E&XFF@ 8CNHX\18&)SF#P<&R8Y(-P7 M)8Z7TKP!V+6F,X.?Y$31TP?;'1HV^!.S&4AJT-S P7BF! Z%12E&H0,O MY %0XG/T.S*O&40BZ&B(*^Z5L2$5?4-(PP_'8XLB2,3WIN%/0-/;!H\HX:DS M:083C^H"4OEXTD6/C3UW*N,'C<$V*&/S)XAMRV3*V ;1'4J\-0%OI)X3A@.'H<./YD#@>VS^'P9'N!GR2QUH+X8+T27[,GUZ-Q-O"B)H-Y$L.!;8]@/ MQ++*?3!KRO,Z"M(,ACPD&%OO$M?UQC4;CS$! =4N^R4";X1P*;6;@T1PCQX\ M$:J/@B.IL)I"OQM3B<>:XY&T;YS&,XI"WV.162:]X :A<2'&@;K38R)9$+_X MR>:8L^>[CL/L*'*;'G9&M)[-8:NSQDA?EY40@J2LK#'!CEQO " MY4I5J-!"NU!.E9-T.OU)%-[" KHX0_S/U@JD'WUQ L^D+,AX!):8NNAY(-@I M R"T1SP>R$4G6JMQ/C=80Z&-.>R8JP FKA<'F8'3*)843%P?SPU]T[.&'&7N MZNQE=&8I"D6JV$)WF,_24BZ<>?&;,/6(H6,4"I?*\J/B "O)-;7Q-"2=P!Z% M3U$T<&5B4R)[R('CSYCQDS9H6IX93F$Z#*/QD0P_RKP?&3PS[VEBF1/%HBEQ M/2WEGXP7>P3&3\P>5=RA'27DXRPS>G,6PK97?-S/LKY#Q:39^$W@Q'^Z81<%3T7!F0$N_:82#4"<-O& M4^OH:E&>5\!S#J4%!;3NIH#W%*(26T@?"SZ>'1L('% MJ!B$P% $G0YRG"2Y'Y0TYE+= @CP,7-\]M9@6!%@F"R=CZH6):UR"9I.%"%Y M.#%P1Q./(=6@J"*9Z[,'+INX#"6HV+Y+5, ?PT5A\;O_3KG$M#3/=<#:NT?0 MO!:"EUL&/C_1RJ3!91/?5&5L$[4#/(=,)-2>DH@'X8W/@O9[HRJ7SJ,%T^ K M@)S[".A8&I W)2K-*89L80 UQA5! =9@ *0CY_(-?7LCGE@[L.5$Q_(39@01 M2A\!@ZYB38T'L14^=-5] M%L\KRJG>.8TFCDNE,Y_3'P]9Q+X(]6>6L3\;Y@NE[)EB]A+ 2GW:S#,I:N4A M2'-QRP=0#!< ):$#Q7DLFH*1C"01.@7#S0+U&W,^K\5Z(GL;UJYF$CP2Q8M: M.G-ZT%(^AV3T&HH34KM]3$SG'I2:B8GQB6$3)#QM#'Z2#?Q .H7O)JK56G#7 M5%)/[!=8)C:68J+=,06*I!P&YL"+C*>LIO*2 M\'$N/BDO%6"8>BG.HZ=UTQ$XF#TL2 O/E!/ O1!R/R.MS.O0%%CI*$[8CJ&H M(#K0_P$[?L1X51U+SY_@AU9&>74/H%X=OF5>K4PS>%BJ*X TM7ZE LX^JOM1 M^EU1Y(Q%G^)@ 7%OC2WX!KV:IPES:*,&@M-XP/KC0"P+O:MHV@N?TK_0&^ X MSQB":03#?^9H4V;GX0DIW"=82BXNW .L*K#,$.L0Q4+*<%H##3WL#5W>H_C. MK;'8H;".K]S_(BZA1S\C]$1JTJ(?$%?3^-D38$0D?9 C A%%_@!%I8?I#1 U22==<:([9HWT9OI59!G(5[L&,Q;3F):.8JC2WM&N,F(#JPSQ1( M@_]P:>(9,VN4>#S4@H#+%S62X.0D81X,E^5@4\?5^%C10*^(&69&@"EMHK$ MR**0RK.I>0%)(%XJG<@VC((8#G=F22H&<<\N1V3$\Y+\N$L!#LNC+Z!;0I;4 M\="9?A@73V1T*\PZ)@680<%BF05O,)!2.Q39BIVZQ&B(7XRYMY=,(+! , #D+ >61S;0& M&G&G#J!"ZJ_BL"?*CR=)0,$1]LLB8*@+ XV-H2?*K- 1HI'B&)@9@8 X^\F M48A(QBLPL\/QOH3)*+^7=YE9.K9.P0P 'P6)N)T%RL/U9J[P'N!GT>X@^RJ: MCD/.L)P#DWA0(OO43*H#/ P2)4O_MIZLEX*D]LR7D43HL(\29F"ZILL404[^2( MT'D1!1C3"4Y(Z&3&D%?+BTOXB3WUY^&R(N[C$FF%U&F]QW 70!?F3WLN@LUX ML#&QQD3M8CLJ+2+//5FA9I3OF0I(9'\\TT(]%Z0Z&_%%#AG?(LP_IT?%(33/ MH,^:+SX0LLC:3*$,&P @)% 'FSPG.ZFX20-EQ$.XL/,)7YNJS!FX2XAS_HD[ M=Y8O*CN3<$&T4?37L'$)CR(AKP.)B=Y16$QN^(MC1 M%/2#:Q,Q3XIW;)@U+,X?V@N&4P2LL=0ET6YU&7ECA^0)C#'V/:27SN MR*6/S!T2W805,I<6SBH$+$56P).#YVS\#'1&'XNK7\E;!?.(^]S_YNW'..]2 M(>4ZTA8REGF(&C-B&VS49 (_+\1&R&6/!J%F.V"@V1R&R7&E;TX GC;!TT8+ M2=IZW;V)!$-4JQ@NB+N#D23YH0:1:QJ9)* MLXB8/*96(P+1\6/318T_7E=V$W)V?FB5,6\M,EX6LNB"%X$CB+ M4D;Y;.1&46C5QSDQ0L?3#(@AA;C,WR\:C:)+GP\F*0Y*NS;(""B*'XN*@11] MB"V*23*!N:7WA?A"LTY,:LX3[1O)NC3ZEL+*V%"+ #%U?:H]8BD@C/&@(B8- M8;['60\P<^A8_T:A*L!]&L=X4KA(638BOR6Q;I*E!>EP+OQAI96+F[C1I$W MS[\EO%$W#,L7IAKH3A%H@0D<%_-I1K'+P^NJ8[.I(.Q2-NH"\I5%A^Q1&[(H MK@%2(A =82) BFG17V1Q,Q!\EZ1=DC8I!%;T6B(>4L)J#(R0@ ;C$6!P@MR+ M6[/%1EBT( J3F%$89@E7'.PTX<08J>* 8IZ$33 ]T\" W/)Y0V3-.04B,VK^ MEK'@0"5A*\0Y*41AS='VA'",(T!H"T:=&0G'F+SC\!5BK\+,$O&WJ*.E:&QG MH47#IK",&6!ZYEFB.:8QPA2W=)L7RKA*SAZ<=/,>'D(*\0B2#[\*PCXW>@0Q MLD=J^WA\RG=ET/AJ*6@<)>809*-.:>M"R(8=3-SP8;(D:4%54//6=/U\*NR* M$C.OBT_'+X8J0Y,\=RH%L\GA:RD">2UG&< M?A?'">@+%!$9@R;NW(I=5TI4P&AEO I_4QY42FS"68_H\J,.[FR 7<8V0S*:FI:]C M\+)YCF_AJJ<#[69=ESVYTETGM(S7UH3=T>#Y,A0C)<$ MBJ*X#76+2GR^- S\6!$O#B]326J32M*5J20RE63;QNI)Y"KJ Y,U(D5KZP(G M-L^C7!1JD0!R&.H?'G4'V60S$7[,.(;+,K&E? +3AT?,*)K)HM[H:'")$R;V M:-@4;5APLX0!A58IY@FB*YFHKW@J-6G2K6;C1FA]&E2IR;5KTEN<'U3&>2,K MX,-/X'*/[M"2)#\V=HAY )C4,HM4 !F8:/$N!C#Y*Z+],S_GI9)OJB /+7NT MU$^4A\KXZ4%*7V!;96-H6_Z$O-OHE\7ZM^.S'I^7@W'+L9K.P>!)W>(_2!$\ M($-D*9)8.2"#B;IP"P&2.C7@8^CJ@*)GQD^*G2;]Z=$?%7SXFK#MACZ@J_J$ MSF>WF18B>6PY]_AJ+.^S>EE;4MZ$ET@'#-JOUNG'E?=);=O76EP[F%?457X1 M2^N/%=RK=>5@.YBD> Y0U4C&?SO!6UO7V2<[O@PM<&>%%V^6O)\S>HP/ON8A M3(AF>$F5A1Y,#)US_55Q+=L&^=OL*=2L1)Q$G$2<1)Q!T6<;'-V:_.Y$RI]V?9C#NR=2JV+C_1<>>>+^0UCF15":S2.5DW__;:?]%N_9K8X# MGH,U22[U)!==DLO>5<1:W!_4PGK^*G_;MWE4@+'*S#-),3NFF%<'Q5L]Z48J MIES%U'G;T:0=(\6,5$R28EZJ8GJ>[Y^3'HK;U=M=5=$[Y_!_O=Z;74<(5NJ6 M72J-1141IX@=3?"]&NGQXF*I3=R.1%(#MB.1U(#M2"0U8#L220W8CD12 [8C MD=2 [4@D-6 [$DD-V$Y=D+2;0$VO1S&:8PK4W+&I5>*R*RTJ/]MH;R7O^MIJ MCF7XG7SX;?6$&(A,AS@I0VC7:]#.U?-.I^J=[Q_>]9FC$C3VSEKG52-Q3RS_ M2O+[/OF]KW;; \GO3>?W7JLG^;U&M%%7?M?5KMZ5[-YP=M>Z4KW7BC;JRN[: MF=H_E^9\T_D=U'OE0EOR>Q/Y7=5Z;E3&PX%L];E>-06D#-( U='72DT=-T+ Y:E8>A)8,W@S1>:]7'+/=$ M&V\D;>P63Z?=EGXDM"'EQH[QU%&USIDT#!J.Q8$\ZY"D46 8=#K:D="&- QV M;1AH[>,-&<@$T0)(782!^_;R'Y*9=DO7FMKK5FYFUP7"1X/%;JMR:UA:4LT@ MC8[:&\B\L*9C4=-E,$321H&OI*OMWK%0A_26=NTM]B)34B5IY/M+NA0; MDC8*$RDT68_?="S*]AN2- KM@K-CH0UI&.S<,.BU*B]4;%8@]0A34C^S,7-\ M]O:">:[DJ!T[Z.KY0);^-AV+FB8=)DD;10Y35Y<.4].Q*!TF21H%>-+5;E\F MES4=B]I91[8HE,11V(&K(P]#FX[%GU]7?!R!S,)M!&J>=XVV#(5,P M"R!U'4R8MW=.4F;&:&0Y#Z<

    C=K6*#;6=PK)&:*W14NI$8=4WB2Z]M,8:FY)NJY",>M7-'(\5K35: M2ITH3-.J]J^E9)1TNP.Z[5=\,G>L2*W14NI$7Y67<$JQ*,EV%P:C=BX%X[$M MI4X4!JZTE(QU)I8:+:5.=*MWI"-];$NI$WV=M2JN7RXXAVC6*=1>4^TS9TX5 MD/8B0CI5'0RMI5I8B3)RPZ'-%LGVM]IQ6/%:.[K:ZU5<85Y^==7+SN-92ZW( M3&L?W,0M7MS1V+@')=X7(C#U@=H[JS@/IE9X/MJUU(K,I,"L/\%(@5E*8*J# M\XJKA6J%YJ-=2ZVH3&M7G9PJQ:44E_MPR#5UH%57SV)5BE M3&3T3M';KQ:@WNFGCK?.VZ]RL%0>P42XEC-B#N'S5W0*]SZ!99D3OCV=W?76 MGMWM8)+B.4P7$>;\[4378^RD.=T$J#%O/ZP>N+/"\^:2Q]+18WSP-0]94^,! M5F4Y5F !I4?0.=-V6[*7 I^ 7H:GW@_QGSOKE_(=7I[XRB60YNC]6_B:_BVV MBG9"",\!ON#/[5"40WG/.UH_3L;;[1Q 4=$T2$.Y4^V8K:/I2\]?X58EYB3F M).8DYB3F#HZYV,#L5VY?[L1VS)@+%1N)GR:&\\ J-PVEV7=<['!($NZ_[;3? MZFV\^Z@B*I;8K1Z[^HO [M$9(;^]/"NDPBA7>E45\^6K0_)C PHG*I.BB[BY M98_,"=D1B#>1]Q#A1 MZLH9A7X O]M'(2/KQ$\]=="MN'=9C4!\-&@[Q"@]Y'%0 J6_6F"EWIL4]R6+-QZ-G>--A9&TL26BSLYE:*3Q2.P><6A$G@@50.HS&S/' M9V\OF.=*L;CSF+',A3D"-&IM>2XDB:,P@#&0Q7S-1V-/LKBDC2+/5SW79-9Z MX]&H==K2P7EQQS=WS P]*YA+J;CSL.Z@77D92&U ?#1H[%1]AX\T?!I#&YK: MD2C+ON42-HH\GL[LI2G\4CL#(Y7BV 62.\UF@I=2(QK=VJ.&!9>FF-M0PEX59 M'3VUKU<<5#I:O-9H*74B,9"-%2\+2_G]V6N)J&.V8I:M]JM$_W;Z-.&]&QBV8KH.18N,@(T4 MC]^:#'CRE&#"X%^/,64*PTY\A3DC>.1_0H!\:8SPX,' U?Y31^D?HD&]8TI4V;,L]R18CDXCJX8S@C&T5J#I:=SEO#= M\,R)TM'X&EK*/3QF.:;'#!\_+.W"9[#)D?+OT/ "YBGNF*\=EIY>+!#<9.7Z M\+>QY?G!TD@SSP(P X)@ZK'-S,!7)L"V\,2(3?'5L>=.Q5*F%A+]3Q;0NCU& M(#1LWP5\>Z[S$+\"BW=#V@#B$60"3 R8"@. CA_O;20*? WFN?[,,)D8W:?A M_00POO*$L\%V \NP8:GN>.RS0!G.%0-&,6W+R0(O6K+!F\K&J_XG?!4$GC4, M \2.Y<=O)V <.*K1(I#R[:".0Y-Z+2FP-T(.9)!/D'6#'W@=0*7;3TR;Z[X MYH2-0IOYK=4,T4"V>V]]> ^8;(CF-\V4$"9T!]IH]$ M9CB&/?\/(_!,@ M(AL%V1!&&BDNYPR4P/@3 PX8T4KB\8!'0Y\6- 0& 095 @]628S$AP4N!,"- M0QOY;&8;CH,_HI 8AP%"9>:YH]#$W2H.8R.^53\PQF-\T(8Q;?[=$T>!Y1#8 MZ 5CZ(8!K9&>(]C!YB(0N" :?B*L3,LGV<2?!TC#4PAV0*1)(ZDHC>P0];MB MS&!)(#%PUV)Z&-=R0/H$+DB "-)^+'N'ADUHS#P&RS4-#SX '@QGKCP ]!R4 M,JRE7#@N2D_%FLY<+P "3% .E!'12X@X /C%>!=\AM\9J"% ]T0/3V%6\8(# M__"+A%"T6J [@(^Y?K*9,:(E<#%-< (\V&-0;3B"JMC63Z1RE^NKIXD%^@QV MPI?'DB5D-B4(9 : A4%\+IRG;HC[&@-6@UAV1U3)?LU &2&&0 78P).TGM#! MA2#A<00F-$+Y5P1C0WS (&@Q87P[0GMS2((P]^(#J%O',"* M$CPQ^S$R(EK*9S8#1!'W"*4$*E;LG2VQ^")WJPE7PW+G_$?"A=!TL!H3"15! M)) /N\37;4(O_C5S_6#F@F@Q0\\#;-J)RALE6A"Q .N] ET!\\&HP XJ+JAP MW@F(5H9D2PNP!4+ @++&\&UV:\MR"V *K\ OXG4N>HQXPRWE*T< D@C92\MR MDR1<#I_QAQ"G(+\G[LB%9^>$?].PS1"7FHBS]'@C5P$^AK=8$%D\EF/1QES< ME.,ZIU\O+FZBB52D8UHAHE4A^P2E..T%![B[_ 3/H!'G!%8 \SYRD0P*P[82 M$F8&,"6\C9-[[-^AY1'+H"1]M(#-J[9,1M:C8MJ&[__MY.;KQS]/%AVQ=OM5 MGC\EOB$WDKX2)YC9\;[;KC[^^KYQCR3G,^)6+=L;)!SZ7HISJO=-HXK:ZLF8^Y%__ Y)BV7V_H$B!8)B$@$@ XB HGF5Y1_\3Z) MS93*[=AT_L6-;)/^L98Y8H9?FPRR\RF+9P1!AO[FWTXZY^NE]RZ65!BN#-Q9 M8793R22HZ#$^^)J'K*GQ *LB8P,8+(+5N;ZBZF>KG6?86A%\K>0!.RU&3SZ\ M'^(_]Q0H^\X#99?HB+Q_"S_0O\5G0#M;?%ZJ5XJ\GH-$(6FV0W4./3\S'TS* MC$UEQCYG!$J/)D7*SIUXK_))+*9?=C$'@X)$N$2X1+A$N$2X1/@6=G__4&9_ MRK1YIGE?SH!Q\)<\DIE>Y"%XTWX98R[)_,VXM,NMJ5.H-$1WUE!ROI,20BFE_Y-5YV]&D M_2,5DU1,]14=]90<=5=,!PI%[+^MT7;AM2I):8EL>%'."SE-.838DV'M(]ZJ M1.X1;U4B]XBW*I%[Q%N5R#WBK4KD'O%6)7*/>*L2N4>\58G<(]YJ/9'[S'AB MJ9O3FI$ 5=-XXAV;6CMNM[D>S+ON;_A\X*]MG=G?KJ/A)BO2NNJ9KAT6*E5C MIJXS'@#]W7YK<%CD'TH&[;K?;_V(KAD"2.^K9YT=MDZ5 JA1 JC?WV6G<2F MZD1TS1! KS5=;6L'-H$.181OCIX(:ROY3KM=:7O5B09>GNC3SM5.MR]MKSK, M> #T]P:[O !6"J Z$5TS!-#KCMK?Y>TL3:)!:7H=SO32!JT=7B'<)*JKY.I7 M>3BR!8:N1+-\PY8"XF"6D7K6DW9Q+68\B%O4ZDCM4!\2>!%$IZN=OA0YM9CQ M$ I'VJ-UHH 707,=M3,X\-E;/7'Q(K"O=3O2RJD3#;P(JNNJ6E]1BQD/( MG(X\<*@3";P,HE/[6E>*G#K,> @C=R#SRV091#TC_1?\OG"I&@[G >MG,N96 MBQD/81BT6P>V"VJC&FI! B^"Z'3UK">#;K68\1#5#C+,7R<*>!$TU].EB5.+ M&0]AX@Q:+[2P10J< YHX[:X,N-5BQH.8. =6-U+BO#B:TU1=EI#78\9#2)RV M3&20R?SU#/%_L\9,N3,MYIC,EPKB<"+BP)76]<3$B\"])JOLZT0!+X/FU%[G MP)E.]<3%B\!^1T;YZT0!+X+F7@\.'>:7=?0OCNA.I>M=+QIX$52GJ8../-*L MQ8P'.5^0$J=&%/ B:.ZUIG;TLY=)=M*\.J!Y=2[KI63Q0CU/-CZS,7-\]O:" M>:X4$0>L8-"D+5R+&0]3P7#@M(?:Z(=:D,#+(#KU?'!@6[B>N'@1V.^V7J@? M)"7. 25.1Y/Y&[68\1 !/]FEO%8D\"*(3E,'9]+(J<6,!SECD(7A-:* %T%S M6,,@C9Q:S'@(B:-+OTK6,-0STG_'S-"S@KG4#0<+NLC+".HQXT'*%Z3W6R,* M>!$T-SB7EF@M9CQ$]P;I^]:) EX$S;WN=5YH4J?,KCM<=EVO(RM#ZT0#+X+J M=$TV*JG%C ? ?5O&^.I$ 2^"YG39BJT>,QXB=*3U9/M'63]0SU.%ZV#"O(KU M@C(S1B/+>3CE:(9O9[\.(#" RKP1\]*K4'S7MD9$9&U5P7_>U%6NE%X]WB]X M4(-GIW"N+0'4=F'UI4RM?=@.+:476AOUV22ZJ^W"ZLL0757O'C06]C((H+8+ MJR]E@J@^Z/FW%-62(6K%$*_/>P>-(->>(:H^4I,,<5@Z.]7;AXURU9XCI(IX M61RAJUI?!EXD9=:/,L\.>QFSE-22'VK%#UCTU0R.:#0!U'9A]:7,WH&O*BTX MJJN-8'ZY56J9T^/*N6^1+#J'.<%=RUBP+F7DAD.;+7+6;S47"<4K[VAJMU,K M5[MXK8=6"\>ZLAJ3I]9NU\N]*%YJ;=18HVBO+MAKK@3OMM6>5JO4AQI1Q M9 M68W)4TIP*<&E!%^Y\M<#M7U>J^!^_7CDT"? ->*1EZ(Y3O4#UZW7GRNDYGC9 MFJ/35L_UAO!(L^5D?5=68_*4MK^4X%*"KUQYO]T0P[_90K*^*ZLQ;>H'%M[Y MYX*UD=2IXV+X.'1'<_H!/AL 3/XY=ZF_+RSR]S^2!=%Z,LL1JQ&+X6N)"&O& M9Z$)!5[_=M(^44QFVP)Z\=_^S##COVW#]V%1EG./KYY$JQ0X(!I\I^CM5PMH MZ?13I\7G[5=%H"R!$T'UEC-B#B'\5W3$_3Z!99ES^&T.QE<;\[4378^RDQ80)4&/><\!=7C($[JPPBZ1DLDGT&!]\S4/6U'B 55F. M%5C(=P(Z9]J*6O:%39;AH!3X!/0R//5^B/_<6;^4[_#RQ%3XO*R8X^3&W3V:OO3\ M%6Y58DYB3F).8DYB[N"8BZW.?G5&9[2JWJN=&I>56XZ?)H;SP/9L+RZ;AM+L M.RYV*,D"*:ZIG-+[;SOMMWI;[QS6.9*445O*T"5EG.@GBN<^\<_:R0[F?B;^ M%^+* FF$J=_V8U^LQ4I][)OJ@VKET58YU[ZJ';?NHQ)KQR9*L2';WRT*%Q%V MC>3D5V)CUL?!D\Z;E8'?VOQ&;='9?V826;E%=#IJ>Y<]R,K-NG^ UVB.2O#8 MZ^RRMV*Y.??$]+O.GI8Z">#W;8NT<:6(=! M(XC%'5ZU4R^Q*(EC6^M;[9U+'F\\&L^/U_*1M+$EHKIJ1]MAK:QD\<.@\>SL M>".C\N"H %(78>"^O?R'E(D[-WLZNI2)C4>C-'LD;:Q@\7[E?F]M0'PT:#QO M[?#V2[QQ)$D;6[/X6:]RZJ@-B(\&C5WI-$G:*'*:]';_2(A# M>DT[]YK.CC>B*@^9"B#UF8V9X[.W%\QS)4?M/ RM#3K2HFHZ&L];E2-16E0- MH8V.>M:5.72-1V-/UB%)VBA E*9V9>BS^6CLG+>.Q?>5AT+EFR^8H6<%AJ/1$V>!DG:*+1ZM&[E!PFU ?'QH%$Z-I(VBDZ#NF>5]U"1IT$- M(8[3KB:/@U[<<=!U,&'>WGDIM_%V)>UM-KYUY$!\6'K!/;77KUB8[Q:8-<)K MC992)Q(;[/+6W9VNK+$6IZ3;"JCC3#VONACL:/%:HZ74B<2TG=Y(+F6C)-R* MJ..UKG;:%;MYAR;=_<<*).E60!VG^J#JO*P"O[5948N]GO)F8A054/41KJ16=:>WVH4WHXL4= MC0U]4.I],2(3^VI6G%A1*T0?[UIJ16=29#: 8J3(++/8UQVUHU>-[@$@$?!RZHSG] )\- __G+N2WQ>6\ONSUQ)1QVS% M+%OM5XG^[?1IPGLW,&S%=!V*0AD!&RE$%SZ@R5.""8-_/<:4*8PZ\17FC.") M_PD=IG2 /O2VWE&>F,>4WSI:JZO ^FS+=6"\ZOVV=02SZI\7MYV5WS'UPI?V]A>RA?MI:(?$?HXES4U M'@"ZQBP(82\!,R>.:[L/#APR\.87QF&P!V6#B\)8#T9 '\ES>*\ @ M5_2F"[_!@N'_@2+_'<+VZG95O!''3T5R9&"-E8L'SGJ"WD0N\*38Z,WQ .X<@3#<$^ -X MB4\\"PB=@P0)#6@%U8XUA* <7:WK,\&DT,3^QP6,"29_!6*,(_H@*SLA^ M1@(0W4W=D,8LX/Y.:[70:Z!HO0BR@I*S"\:M@7D05J$S!CF7E;@HDF:>.PI- MI"0 I#&#/W\!"P8,L/M;M]OJ+XM98J_%)_NM=ORDD5V+D+7=7NLL_?H>'#]S#>V/*FRBR$52.=\@6IP%+Q&J<&<*@! M0LV&'0OI@%"&9=H,Q03^-0/6G"';F*$'JB*P$PF5DLZH'/TL3'#T(6QZ/.;R M93CG\B5BZ)2V(%[V$#&P!W_B LO9#'@W((HS'@W+)@4!$GS*18M%>TGD>TA_ MQ7(*QAXQ%%8^+1+5&E<;R>\1 T>_DP8 V02P2TF=P'TR/'C!=IT'@$YJ5819 M@"QMBM$F4\/BF@0@6LH%#LF%=);,800CI/C.CD].O!]^>&]]>._/@$+%7&3[CT"X HD";[X# M40&4:UL.^T,Y^?!/@]CEKY^H<+B]\=5VAZ#3[KA.^D0ZZ5.BD]Z_Q=$_O'\+ M\]#%UD<&PGL@4"!?%VD2J!F8,GABH*-O0]^W#()0!*W(2"2&3#0A_O7 @6@Y M8YO ;@#7$X=7#Z>+_<1%P<-E%AT:J,Z<'UR"E"M-']G^"PA"U+M^9E6BFU.!S ML"6KEJ4CZU$Q;7!]_G9R\_7CGR>+881V^U5>-$!\0T$0^DHY*1 MGR)V8J(U[R6']S!)E!:0'F R/O7-"Z-5@C07MWP W9?Q M4I_(>'YBW GE(0<73/S >D 98V0'8G\8 (4\S !"4[.A4IOHV=(JR(?!J1-+"K!+T#U^1]T$T)'J)\@%LU" M&8+I,L)I'BW/=:;D20L-#/:Z;R4*6)B'XC50,#8(2'2E2<^"_D,EYX$%;#D+ MAFK*$1&[(G\A/XR46-,S\+610L S_XD+R%@$6<"!]P#LR#4J&M6D[?"_4=@! M_LM\QKCM3QMI*6C-&"8'7>18!<9/QK%"ZHPOD<2^2[]ET P#@SL$&_\9!8A8 M6LLY0'B/H I<\$K0PTPT%2EZBK*@#9\F"#5M]E-0R($A M'H@ M&/RLX,!]CD9H#-,KUG1FT(HY;H8AT 7^AOR#KMTP'A4LD66N ]%AP\)8PE4Q MT9G@C/O(OB!8R(#V8.-DKXM]TJM\?@XM^#T.XX*8 :OP@4;+N(W^\?F--S9% MYSPV9B1;;S".IZG*5<"FBG81@83"/5]@,-!?IW\2;48\.;)\$TWU1 =PF9$* M3L=T'Z.84QG2>3HZD?\B2C=0.*EWC@\-Z+Z7]]UO12 ;X'T= R5VSX_4-?>2 M32>4$(<[!9V*7X"6?/: LLTG5?? '#P00,&U$&:C(/(8Q #JL<33%>KA&L3E MHP5[\!FI4C"&W$=0KG=L9I"43(B?:RS#,>RY+\).S !1(]8A1,X0]S%C@85! M*JZD4_R3C& )E3-V;7"Y?1%T0TY043+'YPLH.XWLR1N/:^)0<;0URZ+1;D/' M^KSI;_,[/%B]SSC<_ MI8XRUCRLIP-M0P]=IN@_%K ^*;(6_JB(/RC$_UM'3P7U2Y^[9@Y9]4'.$#F' MK*CUDY,=((7?.LDQ@8IZ5VN_(K,J.BTB=9\^"@J]2"='AV*%1T$=-,*F/,(K MCN&X_1 1,AZ366[HX\$5IW38#Z%'X>$2\P\!*?[GZ(\U_+T$]:]T^O:=B(6# M_IJLC!3;/? #.GJ$$-+MOR*K5NP2OB4VB\,R:Q"##(RP%I8\'FCB^2D> &*\ M$- &3CDP9V+MACX77-S.%88B4"S2*-A)8&\^T6&F(R;(GJ]%9VZ1B46S@/W\ MP*TJ,2 @^5=TO&W%H]-^W?$8(XG#>88XQ'K&UB^RS)T0D<813D8:WU[IQ_-( MP7"<_]_>E36WC67G]_D5*,=.V5,439#4UM/C*EJ29Y21+464)\E3"B0N1;1) M@ . 6O+K#7< I@_H5DF!;?0C;13EM+&!!5ED9P4HQG9,+D& PQ];V@)SY+)40P\2+#EC*^=R;M[B'-( MV)AT2*CX@KKLH?6"0U[-$N*X&WGY]?W[D9??;&ORVOU0FV4()7LYRR/+5@B_ M^P-)$RDVRLP %G/33!2Y''(__8E%-!=(!"9$]31&Y$E"6HNYA,(<4(&==3BD M8FL8X8G1!T\ $6P8NJLWU0\*PIJ5?3J+3CB.X@@]F.05 M=JC>?BYPGW.(??O!Q-Z^-['[AMB;159:(@IGF,T2LK39[4)VN)B+*? (@1+T MTI.E9>D##,.0#$8$;XR0\?^Q3#9\F:4I;!=*V:#_KVF4$OV"Q7$944@<,-I\ M$VW_Z,MQW$>%Y"*X<4GTVXKD1G(G1>,DI#VCT7(836TO$M/V;A.)R2'-.8^V MMXGN%A$K![%P0$=TQ4.028QWQM_]<+^KXN]]6/)1M'=-J!X9N];J2Q>4*MK' MQTT $,/&Z PGRD=70MEZU'3P/,'(P#^@B/D#M-(,PS45)Y]!4&W 2VPFW=[! M0NY&-ZO:QPL?O:=UO-,NBQ^&#ZW*P[=;)2KU:DS<"D9F3GX_XW@0I6#\67-^ M,?/X^6BL\OVOZOO?K7S_+^+[7Y"EUJ1WQ5@B0* M5 L M7[ [+P7VH QEY&+.Q,J@&\>&8L]=$=B2.B9IJ_!9O"F(A)F9U6S+;QYD14J^ MQJN6PDSVUZQ/U;TC^#]L T8J+!G" 8."'IP61@B&R0@C6&%I8T;U;UEOI@P/ M#KC"9].><5%(W5N= ^O@=\7-YLW!G(69[R,8#67@B,9&T!(V7]. FMSY..28 M9'0!HLRQ#A=C#N3CD7!QFDQ9#OU@$N52FR.+@92^AV!I^W7_09K#[FJ92R6* M@T'C66^X@PEHXVI2WRVC(XYM5(=2@$T6T$'M/D":ALXL2$U&$,RS+WD$*M^3 M.;=3XR(ZG@27&$_'/4905H;/Y& 4GR&#>57,!G"O:T>+?PFHK56&'=R!^EHE MF7 KJJUL \([K2?!V6C] P$7>1)$$@C'6%6"$#BT&BYPE&EIXNP1QYM8$1\&H\$:875/J7:_2M@.S*[F@V[._GUO3GO;>$"V'QFU MJX%B'D\S3#Y*IRI.#EA=_]<6@QN.QTN^Y$Y!R_R:2MRK+6#A2*(CC"ZS1+;^ M.&X+T#E,4'Z=)H<93DJL:%!*RR5V>VBT+YB"?& V,/]ZK>8P*RHG!"0".^]' M$_Y:&L1\[^C#.GTKQ N(?J,\R*>\J $8RK ?G$Q6RF(JH/,I@,[%]W,EF-.W MU+45H,[M5O/!4"<\UTORH8X2K%#*-2*Z.T76G41P'4,5@GW MH1W+F10LQUC MYZB"G5@;ZA%N\BO81)1LF7O3B20-68< C[YS<80, M"#/UT93/L@,QTI@CDN$^Q)$*:,:(X8AH2DTTQ[PI#N\Z/I!&9O\6C.:^ ME+A7"::U 9.* PJ,I0Q29QKCX!>,K_*O,BNX7@7AUN8M&M.[@)/V@VSH#3#N M#39U,,"DSPT,,#NE,!U4!FZMY'L9/H\[,W)H4=JUN'4RP%X'MNO]DG&.,KS1 MBH?$F%D,FP!NYIL8A6G."13TY $6G\B];](:MY+R#&%3_E^-8M:G<6CDEU1F M2>K#O@271;9"8># D<9(:B9&TSIH]+%;&U*V"ZJR 24^;R%ZP0.D@D2HLB9G M)DS3 JV$GU:31^..RWFX<:,L?&OT-<0;E 6#$9>4V6MB3+%-9JD&HH1'?>B M.%"Y.@R59$-)6_ /')ZK362U,HH@"04<+S:MUAD:>"&5R M3C?@U,V#9 Q*C-?%\W>RIC=LKT#-^1[<>KYOJ6="IG.!/DMAPQVXJD.Q]9VK MP1P#]1#JTJ7D_,YE*A@P_HC2YUWAM^\^888QOD%!R%IW01HDC0@#^8#>]X&K M[>[O F<(4J%34/I\"GP+97XKYN9>PO"4CP**.P,QE.1#VF"S805[J 1P>XWT M4?R%4S1(ES1!\35Q:()U2IW2FPEKEN_]?J-#RHN MCH%U_25*EJ)L##*D+.XP[_-O_>(6F-LFWU)'-RUZ=CE/P/N1P'W8UQBZ[5P: M@-2(44TD^UC*'QH&=(-S@?F?-3163D'G1/#5WZX9/0O%ZQM%A[0.0P!7$Z#H\=)O 7J9#*B6TT)DEBA!%,(26+&N![B*32T&74&?7ZX]RSIUZ MOT!\>D:\ T6Y2\@\',,5Y]MSPA\FKDDKE72''K"T6-F,!Z.$(/%#E74'1B2! M#+/'M,/X.^Y<)H,"G(E+L -^1$Y$":9H:5XG-)=G9R-5 ,#< ("]*@"@2OZ_ MKQK7Q8);Y#MKRC K8M\JQS,8"VE.S#!H, F(=)'?L,Z'X=-IZ'7P'7H$?MF1 M R"O.1"7_3%6 4(:LKZ(.%3R&\*\>1KO'"EUPNJ[[ICN*R_\(@Q1D> M2L%RB(+%\$2_4_=^:EY9_IV:K*4"1N]T#+9<$*OR=7:9 +ADZ&0L8[R6AQSU M2%OZ43R:51!3&>MI0&4*5\5B&KT(59\_;- MB$>N)(&@ ]=IE(%^FNK\?9K4KBMG#Y2D.R-)9\G)V;)X,L*>\L9I4^DL;^6F MV[+-%OBS4Y7%V6@(2@(O.QN$YPHH ^O@?9GUP8X[3*UT[L;\S671#Z_%B B, M@(N.5)D#?&F>QC'O';-R$NUQ^2K0C4-^%U32L@+P3)<2?D15,49^[WUC31 F M<2Z+W@7P2OP+M.P!Y9CU*,,'_S89H8\JQIH(B!TB'3+_J4D@DT!&3LG"Q#9> M?OG6&!V0G?KD&AM@U3[R^M7 Z+ID_Q\!+UI=[2=7 OZ=.RGF@;Z29!:PF65K MNXR;A**7RW \[>CK\<7AY02CU1&*"]5F,#D1XQ=AO^Q2LEA.+)6!$Z#2@6)Y4L 41Y'@@(_2RHFHVQLO M4USF="J_671](_:GC"(B,JX6R>.RUUKNMCHN;6L4]%GZ!&S#KKUV74P\8)2XXX WH$Y=PM>%IAKS@)ADL*L M@-\C\[@,HA@&'HRF_7P:: >6\\7,C8^^$EMD(:5"H2AT'VTWK(RE<(N)T-K9 M ^XNR"DN V.:*FYD:I:*[4S2(0*Z3C'55KWYP;!8"0,;#KB)E'DH^E*KW)\A MS3TK+.[NM*EK$!)MAA%+?B+/>Q"G YC)TY6)UX]'%JI^=QF/!?XX6Z=W]XT1 MS.RV4-4+ECYQHE4YK=_Q1LMTB7+@1B9S#@R80G5KJ7BW5O)FRG%B\)"E&1^K MTU?.^E4#JF4.OXSDX[ @KIK,,+A[DSX!&1) *>]AO?%B&RRQL54''%I'O'FW^&]50\G?3 M%<);H5GEX[:A7-)#Y/$'[B=X,O%?WS67XU^OMXNNM22Y(H>>,1BE]T4Q"2>, MY MR#"[>) LX/?K1S.G-6A'"2Q&"5H]:_BPQ-->#&%Y!1]W9\Y:<>X=Z[#Y1 MQY^#>8+TR7M6O4Q?M>7]TMI/WW#JW9?6;JW=>N9NN\^QX6_Z4/T6'&K[Q0_U M<7C=]C:QN6?B=4_&W_[+-04JKO:4%P!,PZ;?>O$+4!WJHXJJ5LW?:[[XH;ZE M3H0=0ID+*-+[MHFRX[)T_H?:TB!8 FV&8J1CJ54=8G2M1&$48 >V0D2O1 67 M!->R(T5'X^IH(8-' <\-^N3DTV[<%; NTUW&2GK2 ?5Y@G'!F*(?A64!XLI= M$\.U\/)K,;K257OXU6R*L?B1].AC77=L0%6(R"X"2$[4L@E3["?I)"$LU7Z M_5_SUQ<5(MD>%K6V>0#J*?5TE&43%H7)*Q^=BC9%/XI-8BJ+B(N#:]"<,C>0 MVBEH-KA-D]'(S5*T?9?R6,1X,DIN!0;$Z"9K%-DJ,PP'2>HY)?LI.&*:V8FT MLN@]NCKE%XW76_HQ&:#5ZTE4RG O-]XK*^!^'/QBK[Q.1%>I #H[9_Y],.YD M3NLEC[L)W >*&PPL8K<_4@C^F+[M9FLA6]QERS U^C M* +:+ SE,%E"-=,6%A]-3!GCNIM@9[4#F6U.P/E-*JVV- Z""(GB'1PW-XZG M?>F-IL\>$2'GF\OXMWF.2'S;^#OA=K\*LJS#KYTA00I;R#9WN MFYR;!'MRJE-O.Q@&06H"KK5^KZ(0J!/J_DU4W\$4T:K#K*7&Z.B*1D_4T638 M8X6S:V0)Z)89Y-#J5[%\9AR4'&_19SDVD2?6K+>=\C).T;.9N#49+J="*]_O M[G'9"K0\[.<*.[#QU\IS9M!M%+)50W]*M(M[OM?=I<'L[K+H8=]T" M?3A.;0Y*F[:G3J4$!H+BI\NJV-AKLRO>!-QZ6E7XDR-@90Q54(/:$NQMXYJ< MN<^KJ%KS5&.Z2-AU;][O[+M=A>9I]D2O<2]THT9F+BITR@I6YWT 19K#N\"&)WM0U>L* MG4IX*U7$-07B<)_4XV!QTOE4Z.=C9-KU1D>R1AMDW2^P3+BSH-,53KA&$X,+X4,,Y/A=Y8S[B2$]_,@IT6^L%>Z5:4<'1!]9I4%":7N+FV=M4)^E*5F(I"L4[ ML%Y#X]PZ$OB"1%+0JN Z>K27[W<;^QR-6%KECT3%,.&.B:K$J\;WK**%!LQ MB1N1]B.NF:8ZU&+PNT+T&41!N 830A7DSV#R7JML5(<[F=>E P!+(F.U5DF_ M9D2#GD3QQ5'WPCN0KB3\<[4[,[@PM_UG.CSQLU0]"S8N!W6&X:! M0:7WC9^1;J^"(=_OMI6ZSLLL;(8\603*EWDG@6 M'U2,-1N*S2Q@>*=:CB<72QG2;N_B8W;^T*-A/P MLF3WQ95)>$?Q(*&L3RKMB$W?8W6A(^U2T/:S;.\L%7YJ!BU/(I G$9B3R-1) MO'6J/4@C"G:SR?1(%?.;6_^0DY>Y*ZZTY5K7M_ZW3. ME%:#I:2Y>MPO8145Q//]8QK*%K\,_E-13 F\(\F(4&<,(4HBZ[I97+-F.@A( MB$&59&2< 87H*,EDF4.N#'[)A0C(=X3/6L-QV4\LPK)UF>"VF;*? K2MJ:JV MJ5=AYR7GP\1%."P[NL:>C!$):;6.RR0)T;Z&03"S!-@TV7DFHQ>>L::,IP$/ MRN.Q18=CVUJ%27G*=)DP]P<9._NA>TK>6S4>8[N$(6XFS)N*J\?&G[0GM;=$U)!LN0L*2^ MCQV1.<[@%U=%5903])(ITTP_2--;_".N6U@D4SQF26TI6[HPNQ#-)5AA0 Y2 MMJ_)/2D+-=:]+NZI+L!E<1V7H.V]"%2)8;"C JPAFPFJ77R%V],/IID:,$HM M0Z@O5N>O'+=A#X5ER;-(>JFX_307[L1;@F]PV5GFN&,R;; ^ITC9.@IAEK1Z M*KF.:BY5IZ15P23 F%?F?LELN,P0<1#!Z;FS<5R<#4CF'XU=EGG+'YH%FB>3TEP"^9'V]J)<@*7> MTZ+S=.D6 2,X!M[MM>K+4M3D!(-IGCSS!/_S9^?'Q?%%Y^+XGT=>Y\>A![\X M43\?'G^7'W'V5K>DMAU)0S;ZF_\!,K M.Q+.(-^=E\$@(^HHA.HVM^?!^N)5N,K:A*NT&E6XRD:&JU0R:;Y,:M>]]15* M!Z<_+LY/3[HDD,[.3P^.#E$&O76)%''D454K%J[CR';Q^/H4+Z;>"+7_[H_AD M815'-ZQ2H]\(I^OOM]HUJYAES2UZ:#]N*A[R@7R5]CI;PMQL#/^)98&B<92; M3!X,')"K\++;#*Y%1A:!\ZL:VB9C[(67H@^40]T)6&6H"<$;;A,3H@(?*X<@ MV _D(5; #*T&X[PSQJY4I\D:&?^I#&D.&&A)>G]PO9O,E(ZS)\4VMLA-WZ72 M%7+^"@,_@8W,&' 'SU3T(TRDV)+(#RX"G:,!6"NW-9E5@.6389!?87(-0^,C M5,?11DB)J5D*_#:"39P2 MQ, F$P;7H%LN(Z.I=TO!#=-,DC<66\9/)E2(.9G@?G.\,/?:X'+QP)M3.AIG M3^O>-XZ5K\FP#01,"-LJ[OIXBM6MV.G/,$W0S_6I26I31IH=):1V45A90 .S M$S1N3V@ 4DA\-6* CQ$LZ@K&^(M9DPN/PMT^.N6N/-].:UZ8"-9)52$NE1.S M_!9[,D:![,DX,/<$]]"R>8U:2W%,$S)\<[I93 >$V<%/@S28AG7OJPNFS;V9 MM-HMT\.I>">QTK8!QD+N1:DICSY&V!L3*37-26B+0Y%S1 QA]REN'!)EXNPJ M18"9FGM#L7;&!R78C=>*Q M; N)OUQ%=O6^$""JK2^X^;:PZ7U2@]FBHZ;\X^47BAJ\V!=*MHTBMJ_\%03^ MZZD*% <2*.8(0ZJQJ3B;W0U OE!<\&KW\W=<+Z[ZJRE'"^1EYE0KSIYD%@?& MXJ.U^TUZ->9!!&PN;Z \3B6W@COL;B*AW\6?:.#$8\5P):53:6%559C:K$F& MN_G L.[=!0J8O+,ZT'=5J?0QF-$_,\43!ES>W-\.Y4_EZN@G*3=5V6H+B%YX M6Q0.;4#:T:UT#Z&JB*[ZK!R:GGF^=K=5UUC<._[Q[?3\>^?B^/3'"]S("NB8#W3XZPQTG(A+ MN+BR01JFXRR!.!Z^_ZN4FEFR$0NJK]P)P'/(>(W7^^@'_XUB5Z,Q&W?X?]7I M C0CBF@@,3 BXI@8XI RB&LRJ/P98/\I&L/3E,TJE2K.22@R L.D T9;^P+$:>I!5'73&]+>^=?0'>*53!C;O")$R,.%-E9V1_ M*17MJ"V@ ]U@$U&&[]3>%SM?<4+BQ6RXF98H*DA&IVK@&1!D"K."DZ9X9=-> MN"PLK)(^E?0ID3[-=18^/V/@0%'&/6"X62]Z.H/[IUI]:)XP01BY#R\PO\$#0\,!TNTV"<>16UOREJ[Y@NB"](LX=@ MQP2IYU+E/S$YU)LCPB\0;\-2I?\C\IO+" MK<=]>XV=IY[,GNA,TFCD^5NMQD8T8EGQ&_YSM.EHUOR]9V\H]='_M ;[^^Q] M5Y[E0/W]>J/QXFU77N69KM.]W*J.L#K"JJ7;(RH1J)N""N%7*L3&T?FK/,*U MU2"J\ZRN9'6$U1%6$(2E/5 EHHU!(%8&/]?E/JP\X:>]-F7@W>:RPS>JH;RQ M0ZY8044EE6;T\'.MP!8[%I)CCS9056H!NPF3*48ROA(&.7_&3^_\*=ZFUD9S MR;55F)[>*?3&#GJ#F<+SBM=[T3#?RHI_MDBR@]G<6JSFM+*7BY9*J5 M.,'>(J7L\5-6*!!C[7*MNH5^0'G"E5BH,P/]-AEQ':<>'( L+F9JO&!_J4SD M.;=$X10<+D/WC:7)MM8Y3?904('1 MS/N)722[(HZ2U$J/K5)AUV^]CTX&/X!YKK$XK733E^9@:UVE_'L4"Z\;#$1^ M:Y4HS4IGO&Y7N6)=#V9=.=9@&<%JX/I63*QB8G.9V/8Z,[%3ZL)GU4^JN-?Z MK;=2O"J>];P\:V>=>=;1S3#J1?DR&_&58LYW\*_S$1 AVJ@>'8D#ZJE#*J/, MDJ,M$"G2*'^J66]]6,;2YK[:Z^U$X9BX+>#^C ?_UN>]/F7_^OO:0K:@O&W M@"^E03__3?!EP9FL7I">VR+P,1\DZ40^Q?TUNP2&'\<(RF)Y?TS*]C[ZGS[^ M^9,N2A\LTR$VA^J:FT9U[=;N;GN_V6KXK5V@.G'SO]O^WDY[#PGN$6F,2^-U M+E,A&V]P'V;*O_)5.^/>K>S!G%]C>4G9KL,F2?SS"38^[^8I-HT]D+U2OV.[ M9:R4>7)RX'ULOCW2;/EKSA"1L+;;N\W]50CK &>+3:Q50[.#820&WM&-Z$^) M"YT.X*]@RDRF:3;%5M=Y8G6 :7\,/M7?U-FO-UN29]]J/N#L35.4ZNSMLV^^ MCGL/-/J8]WXP3>,H&X($L:G W_-^UKOU@SJZEF@(O[7=X,Z"83+)"X^KA_8; M.ZHC4C=(>T$LLJW3FY&X5?T)FXU&\VW1U.O@)XU'Y2<533VIZNS7CW]TUY&L MCF-44KW__GI^XET$-TFBMG]U) MY^LK/+N3H"=&;_G8SLZ/7N&QG:4B@V-ZXPRSO8XG=T!AZ&?!I>!^K@'WP3T, M\@"LC)'P/K*[G3H)9YY]T AG8G_/0+4LEXV&O]7:\7T@&/ZZ^UQ% M/OJ<_KR.Q',,+*(/!P,TXL'[($R)%U#SZP 1,^R[-P9.D@5YDMYZDU$0UYP_ M!VF*'>CH-3C8ZV'4'WIAE KN0 =/" TC)PSY9=1^->I'$_CR&HO;#<@GLW.] M9D.J'B7Q:ZO5W)*G]>JSNWA%5G;6ZDE8ST-]=\PA=K[IR8^6GKT;L8E5^.\0 M9 C!=BR,]/^_V?OSO[XW%$WJ-_V6U-0WASU$&?R<1#)_I"2^#O<6^I;$7P6=Z M8AB,!DK"TR'(!S#"6$QC[(2*XX%V/DQ26&E8?R4!G^MGHU#8J.(/VW=5*YRW MVXT'O;[]I.Z]WI?9B)\5 M1?WP8N*Q-5K6@S5_1$%^<0M->9#I]WVZRGNM*K MR^[.]'*:(?#%%IL6X/=;U=,RJM57]3G[[)V#(1*DH?>C[OT-A6W-^X^T/F=] MK_[:/-&6E^^A[!85(?2019B507;^G*"AWS]'C]Q"RJ6*Z,O'LS2*T9HEEUSPA%KWD4J M JPQD))0 XL^%7F0WCZK&)N9UC(Q]L)(J86WG72Z%UL&])M;Y4JM87VJ5[56 MKEXE_P7_!#L9M_U/OW\>YN/1ES_]/U!+ 0(4 Q0 ( &*!"E>J'S(?R 8 M - ? - " 0 !E>%\U-30W,CDN:'1M4$L! A0#% M @ 8H$*5Q3:NB +! ?PP T ( !\P8 &5X7S4U-# M - " 80/ !E>%\U-30W,S(N:'1M4$L! A0#% @ M8H$*5Y2!5FS:% ? 8! !$ ( !=A8 &EN='0M,C R,S V M,S N>'-D4$L! A0#% @ 8H$*5_8/,>=/#P BN$ !4 M ( !?RL &EN='0M,C R,S V,S!?8V%L+GAM;%!+ 0(4 Q0 ( &*!"E?# MS=E4@$X %#.!@ 5 " 0$[ !I;G1T+3(P,C,P-C,P7V1E M9BYX;6Q02P$"% ,4 " !B@0I7D23O$-YO #X1P8 %0 M@ &TB0 :6YT="TR,#(S,#8S,%]L86(N>&UL4$L! A0#% @ 8H$*5Z)6 M[@UB4@ YE8' !4 ( !Q?D &EN='0M,C R,S V,S!?<')E M+GAM;%!+ 0(4 Q0 ( &*!"E