0001039399-23-000036.txt : 20230808 0001039399-23-000036.hdr.sgml : 20230808 20230808160231 ACCESSION NUMBER: 0001039399-23-000036 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 83 CONFORMED PERIOD OF REPORT: 20230701 FILED AS OF DATE: 20230808 DATE AS OF CHANGE: 20230808 FILER: COMPANY DATA: COMPANY CONFORMED NAME: FORMFACTOR INC CENTRAL INDEX KEY: 0001039399 STANDARD INDUSTRIAL CLASSIFICATION: SEMICONDUCTORS & RELATED DEVICES [3674] IRS NUMBER: 133711155 STATE OF INCORPORATION: DE FISCAL YEAR END: 1230 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-50307 FILM NUMBER: 231151090 BUSINESS ADDRESS: STREET 1: 7005 SOUTHFRONT ROAD CITY: LIVERMORE STATE: CA ZIP: 94551 BUSINESS PHONE: 9252904000 MAIL ADDRESS: STREET 1: 7005 SOUTHFRONT ROAD CITY: LIVERMORE STATE: CA ZIP: 94551 10-Q 1 form-20230701.htm 10-Q form-20230701
False0001039399December 302023Q20.5100010393992023-01-012023-07-0100010393992023-08-02xbrli:shares00010393992023-07-01iso4217:USD00010393992022-12-31iso4217:USDxbrli:shares00010393992023-04-022023-07-0100010393992022-03-272022-06-2500010393992021-12-262022-06-250001039399us-gaap:CommonStockMember2022-12-310001039399us-gaap:AdditionalPaidInCapitalMember2022-12-310001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001039399us-gaap:RetainedEarningsMember2022-12-310001039399us-gaap:CommonStockMember2023-01-012023-07-010001039399us-gaap:AdditionalPaidInCapitalMember2023-01-012023-07-010001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-07-010001039399us-gaap:RetainedEarningsMember2023-01-012023-07-010001039399us-gaap:CommonStockMember2023-07-010001039399us-gaap:AdditionalPaidInCapitalMember2023-07-010001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-010001039399us-gaap:RetainedEarningsMember2023-07-010001039399us-gaap:CommonStockMember2023-04-010001039399us-gaap:AdditionalPaidInCapitalMember2023-04-010001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-010001039399us-gaap:RetainedEarningsMember2023-04-0100010393992023-04-010001039399us-gaap:CommonStockMember2023-04-022023-07-010001039399us-gaap:AdditionalPaidInCapitalMember2023-04-022023-07-010001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-022023-07-010001039399us-gaap:RetainedEarningsMember2023-04-022023-07-010001039399us-gaap:CommonStockMember2021-12-250001039399us-gaap:AdditionalPaidInCapitalMember2021-12-250001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-250001039399us-gaap:RetainedEarningsMember2021-12-2500010393992021-12-250001039399us-gaap:CommonStockMember2021-12-262022-06-250001039399us-gaap:AdditionalPaidInCapitalMember2021-12-262022-06-250001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-262022-06-250001039399us-gaap:RetainedEarningsMember2021-12-262022-06-250001039399us-gaap:CommonStockMember2022-06-250001039399us-gaap:AdditionalPaidInCapitalMember2022-06-250001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-250001039399us-gaap:RetainedEarningsMember2022-06-2500010393992022-06-250001039399us-gaap:CommonStockMember2022-03-260001039399us-gaap:AdditionalPaidInCapitalMember2022-03-260001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-260001039399us-gaap:RetainedEarningsMember2022-03-2600010393992022-03-260001039399us-gaap:CommonStockMember2022-03-272022-06-250001039399us-gaap:AdditionalPaidInCapitalMember2022-03-272022-06-250001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-272022-06-250001039399us-gaap:RetainedEarningsMember2022-03-272022-06-2500010393992023-01-012023-04-0100010393992023-01-3100010393992023-01-012023-01-310001039399us-gaap:CustomerConcentrationRiskMemberform:TwoMajorCustomersMemberus-gaap:SalesRevenueNetMember2021-12-262022-06-25xbrli:pure0001039399us-gaap:CustomerConcentrationRiskMemberform:TwoMajorCustomersMemberus-gaap:SalesRevenueNetMember2023-01-012023-07-010001039399us-gaap:CustomerConcentrationRiskMemberform:IntelMemberus-gaap:RevenueFromContractWithCustomerMember2023-04-022023-07-010001039399us-gaap:CustomerConcentrationRiskMemberform:IntelMemberus-gaap:RevenueFromContractWithCustomerMember2022-03-272022-06-250001039399us-gaap:CustomerConcentrationRiskMemberform:IntelMemberus-gaap:RevenueFromContractWithCustomerMember2023-01-012023-07-010001039399us-gaap:CustomerConcentrationRiskMemberform:IntelMemberus-gaap:RevenueFromContractWithCustomerMember2021-12-262022-06-250001039399us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMemberform:MajorCustomer1Member2023-01-012023-07-010001039399us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMemberform:MajorCustomer1Member2023-01-012023-04-010001039399form:ProbeCardsSegmentMember2021-12-250001039399form:SystemsSegmentMember2021-12-250001039399form:ProbeCardsSegmentMemberform:WoburnMember2021-12-262022-09-240001039399form:WoburnMemberform:SystemsSegmentMember2021-12-262022-09-240001039399form:WoburnMember2021-12-262022-09-240001039399form:ProbeCardsSegmentMember2021-12-262022-09-240001039399form:SystemsSegmentMember2021-12-262022-09-2400010393992021-12-262022-09-240001039399form:ProbeCardsSegmentMember2022-12-310001039399form:SystemsSegmentMember2022-12-310001039399form:ProbeCardsSegmentMember2023-01-012023-07-010001039399form:SystemsSegmentMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMember2023-07-010001039399form:SystemsSegmentMember2023-07-010001039399form:ExistingDevelopedTechnologiesMember2023-07-010001039399form:ExistingDevelopedTechnologiesMember2022-12-310001039399us-gaap:CustomerRelationshipsMember2023-07-010001039399us-gaap:CustomerRelationshipsMember2022-12-310001039399us-gaap:TradeNamesMember2023-07-010001039399us-gaap:TradeNamesMember2022-12-310001039399us-gaap:InProcessResearchAndDevelopmentMember2023-07-010001039399us-gaap:InProcessResearchAndDevelopmentMember2022-12-310001039399us-gaap:CostOfSalesMember2023-04-022023-07-010001039399us-gaap:CostOfSalesMember2022-03-272022-06-250001039399us-gaap:CostOfSalesMember2023-01-012023-07-010001039399us-gaap:CostOfSalesMember2021-12-262022-06-250001039399us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-04-022023-07-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-03-272022-06-250001039399us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-07-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-12-262022-06-250001039399form:BuildingTermLoanMember2020-06-220001039399form:BuildingTermLoanMemberform:AdditionalSOFRMember2020-06-222020-06-220001039399form:BuildingTermLoanMemberform:SOFRMember2020-06-222020-06-220001039399form:BuildingTermLoanMember2020-06-222020-06-220001039399form:BuildingTermLoanMember2023-07-010001039399form:BuildingTermLoanMemberus-gaap:InterestRateContractMember2020-03-170001039399form:BuildingTermLoanMemberform:LIBORMember2020-03-172020-03-170001039399form:BuildingTermLoanMember2020-03-170001039399form:A2022RestructuringPlanMember2022-10-252022-10-250001039399form:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:A2022RestructuringPlanMemberform:StockBasedCompensationMember2022-10-252023-04-010001039399form:ProbeCardsSegmentMemberform:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:SystemsSegmentMemberform:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:A2022RestructuringPlanMemberus-gaap:CorporateNonSegmentMember2022-10-252023-04-010001039399form:A2021RestructuringPlanMember2021-09-252023-04-010001039399form:ProbeCardsSegmentMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399form:SystemsSegmentMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399us-gaap:EmployeeSeveranceMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399us-gaap:ContractTerminationMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399form:InventoryImpairmentsMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399us-gaap:OtherRestructuringMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399form:ProbeCardsSegmentMemberus-gaap:CostOfSalesMember2023-04-022023-07-010001039399us-gaap:CostOfSalesMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:CostOfSalesMember2022-03-272022-06-250001039399us-gaap:CostOfSalesMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-04-022023-07-010001039399form:SystemsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-04-022023-07-010001039399us-gaap:ResearchAndDevelopmentExpenseMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2022-03-272022-06-250001039399form:SystemsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2022-03-272022-06-250001039399us-gaap:ResearchAndDevelopmentExpenseMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2023-04-022023-07-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2022-03-272022-06-250001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMember2023-04-022023-07-010001039399form:SystemsSegmentMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMember2022-03-272022-06-250001039399form:SystemsSegmentMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:CostOfSalesMember2023-01-012023-07-010001039399us-gaap:CostOfSalesMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:CostOfSalesMember2021-12-262022-06-250001039399us-gaap:CostOfSalesMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-07-010001039399form:SystemsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-07-010001039399us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2021-12-262022-06-250001039399form:SystemsSegmentMemberus-gaap:ResearchAndDevelopmentExpenseMember2021-12-262022-06-250001039399us-gaap:ResearchAndDevelopmentExpenseMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-07-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:SellingGeneralAndAdministrativeExpensesMember2021-12-262022-06-250001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMember2021-12-262022-06-250001039399form:SystemsSegmentMember2021-12-262022-06-250001039399us-gaap:EmployeeSeveranceMember2022-12-310001039399form:StockBasedCompensationMember2022-12-310001039399form:InventoryImpairmentsMember2022-12-310001039399us-gaap:ContractTerminationMember2022-12-310001039399us-gaap:EmployeeSeveranceMember2023-01-012023-07-010001039399form:StockBasedCompensationMember2023-01-012023-07-010001039399form:InventoryImpairmentsMember2023-01-012023-07-010001039399us-gaap:ContractTerminationMember2023-01-012023-07-010001039399us-gaap:EmployeeSeveranceMember2023-07-010001039399form:StockBasedCompensationMember2023-07-010001039399form:InventoryImpairmentsMember2023-07-010001039399us-gaap:ContractTerminationMember2023-07-010001039399us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2023-07-010001039399us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMember2023-07-010001039399us-gaap:MoneyMarketFundsMember2023-07-010001039399us-gaap:USTreasuryBillSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:FairValueInputsLevel2Memberus-gaap:USTreasuryBillSecuritiesMember2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USTreasuryBillSecuritiesMember2023-07-010001039399us-gaap:USTreasuryBillSecuritiesMember2023-07-010001039399us-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:FairValueInputsLevel3Member2023-07-010001039399us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CertificatesOfDepositMember2023-07-010001039399us-gaap:CertificatesOfDepositMember2023-07-010001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-07-010001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-07-010001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel3Member2023-07-010001039399us-gaap:CorporateBondSecuritiesMember2023-07-010001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperMember2023-07-010001039399us-gaap:CommercialPaperMember2023-07-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:ForeignExchangeContractMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Memberus-gaap:ForeignExchangeContractMember2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:ForeignExchangeContractMember2023-07-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:ForeignExchangeContractMember2023-07-010001039399us-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-07-010001039399us-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-07-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMember2023-07-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMember2023-07-010001039399us-gaap:ForeignExchangeContractMemberus-gaap:FairValueInputsLevel1Member2023-07-010001039399us-gaap:FairValueInputsLevel2Memberus-gaap:ForeignExchangeContractMember2023-07-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:ForeignExchangeContractMember2023-07-010001039399us-gaap:ForeignExchangeContractMember2023-07-010001039399us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperMember2022-12-310001039399us-gaap:CommercialPaperMember2022-12-310001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001039399us-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Member2022-12-310001039399us-gaap:USTreasuryBillSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:FairValueInputsLevel2Memberus-gaap:USTreasuryBillSecuritiesMember2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USTreasuryBillSecuritiesMember2022-12-310001039399us-gaap:USTreasuryBillSecuritiesMember2022-12-310001039399us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CertificatesOfDepositMember2022-12-310001039399us-gaap:CertificatesOfDepositMember2022-12-310001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel3Member2022-12-310001039399us-gaap:CorporateBondSecuritiesMember2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:ForeignExchangeContractMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Memberus-gaap:ForeignExchangeContractMember2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:ForeignExchangeContractMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:ForeignExchangeContractMember2022-12-310001039399us-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:NotesReceivableMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:InterestRateSwapMember2022-12-310001039399currency:EURus-gaap:LongMemberus-gaap:ForeignExchangeForwardMember2023-07-01iso4217:EUR0001039399currency:EURus-gaap:ShortMemberus-gaap:ForeignExchangeForwardMember2023-07-010001039399currency:JPYus-gaap:ShortMemberus-gaap:ForeignExchangeForwardMember2023-07-01iso4217:JPY0001039399currency:KRWus-gaap:LongMemberus-gaap:ForeignExchangeForwardMember2023-07-01iso4217:KRW0001039399us-gaap:ShortMembercurrency:TWDus-gaap:ForeignExchangeForwardMember2023-07-01iso4217:TWD0001039399us-gaap:FairValueMeasurementsNonrecurringMember2022-06-250001039399us-gaap:FairValueMeasurementsNonrecurringMember2023-07-010001039399us-gaap:LandMember2023-07-010001039399us-gaap:LandMember2022-12-310001039399us-gaap:BuildingAndBuildingImprovementsMember2023-07-010001039399us-gaap:BuildingAndBuildingImprovementsMember2022-12-310001039399us-gaap:EquipmentMember2023-07-010001039399us-gaap:EquipmentMember2022-12-310001039399us-gaap:ComputerEquipmentMember2023-07-010001039399us-gaap:ComputerEquipmentMember2022-12-310001039399us-gaap:FurnitureAndFixturesMember2023-07-010001039399us-gaap:FurnitureAndFixturesMember2022-12-310001039399us-gaap:LeaseholdImprovementsMember2023-07-010001039399us-gaap:LeaseholdImprovementsMember2022-12-310001039399form:October2020StockRepurchaseProgramMemberus-gaap:CommonStockMember2020-10-260001039399us-gaap:CommonStockMemberform:A2020ShareRepurchaseProgramMember2021-12-262022-06-250001039399form:May2022StockRepurchaseProgramMemberus-gaap:CommonStockMember2022-05-200001039399form:May2022StockRepurchaseProgramMemberus-gaap:CommonStockMember2023-04-022023-07-010001039399form:May2022StockRepurchaseProgramMemberus-gaap:CommonStockMember2023-07-010001039399form:EquityIncentivePlanMemberus-gaap:RestrictedStockUnitsRSUMember2022-12-310001039399form:EquityIncentivePlanMemberus-gaap:RestrictedStockUnitsRSUMember2023-01-012023-07-010001039399form:EquityIncentivePlanMemberus-gaap:RestrictedStockUnitsRSUMember2023-07-010001039399us-gaap:EmployeeStockMember2023-01-012023-07-010001039399us-gaap:EmployeeStockMember2023-07-010001039399us-gaap:RestrictedStockMember2023-07-010001039399us-gaap:RestrictedStockMember2023-01-012023-07-010001039399form:PerformanceRestrictedStockUnitsMember2023-07-010001039399form:PerformanceRestrictedStockUnitsMember2023-01-012023-07-010001039399srt:MinimumMember2023-07-010001039399srt:MaximumMember2023-07-010001039399us-gaap:AutomobilesMember2023-07-0100010393992023-07-022023-07-0100010393992023-12-312023-07-0100010393992024-12-292023-07-01form:segment0001039399form:ProbeCardsSegmentMemberus-gaap:OperatingSegmentsMember2023-04-022023-07-010001039399us-gaap:OperatingSegmentsMemberform:SystemsSegmentMember2023-04-022023-07-010001039399us-gaap:OperatingSegmentsMemberus-gaap:CorporateAndOtherMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:OperatingSegmentsMember2022-03-272022-06-250001039399us-gaap:OperatingSegmentsMemberform:SystemsSegmentMember2022-03-272022-06-250001039399us-gaap:OperatingSegmentsMemberus-gaap:CorporateAndOtherMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-07-010001039399us-gaap:OperatingSegmentsMemberform:SystemsSegmentMember2023-01-012023-07-010001039399us-gaap:OperatingSegmentsMemberus-gaap:CorporateAndOtherMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:OperatingSegmentsMember2021-12-262022-06-250001039399us-gaap:OperatingSegmentsMemberform:SystemsSegmentMember2021-12-262022-06-250001039399us-gaap:OperatingSegmentsMemberus-gaap:CorporateAndOtherMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberform:FoundryLogicProductGroupMember2023-04-022023-07-010001039399form:FoundryLogicProductGroupMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:FoundryLogicProductGroupMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberform:FoundryLogicProductGroupMember2022-03-272022-06-250001039399form:FoundryLogicProductGroupMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:FoundryLogicProductGroupMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberform:DRAMProductGroupMember2023-04-022023-07-010001039399form:DRAMProductGroupMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:DRAMProductGroupMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberform:DRAMProductGroupMember2022-03-272022-06-250001039399form:DRAMProductGroupMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:DRAMProductGroupMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberform:FlashProductGroupMember2023-04-022023-07-010001039399form:FlashProductGroupMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:FlashProductGroupMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberform:FlashProductGroupMember2022-03-272022-06-250001039399form:FlashProductGroupMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:FlashProductGroupMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberform:SystemsProductGroupMember2023-04-022023-07-010001039399form:SystemsProductGroupMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:SystemsProductGroupMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberform:SystemsProductGroupMember2022-03-272022-06-250001039399form:SystemsProductGroupMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:SystemsProductGroupMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:TransferredAtPointInTimeMember2023-04-022023-07-010001039399us-gaap:TransferredAtPointInTimeMemberform:SystemsSegmentMember2023-04-022023-07-010001039399us-gaap:TransferredAtPointInTimeMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:TransferredAtPointInTimeMember2022-03-272022-06-250001039399us-gaap:TransferredAtPointInTimeMemberform:SystemsSegmentMember2022-03-272022-06-250001039399us-gaap:TransferredAtPointInTimeMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:TransferredOverTimeMember2023-04-022023-07-010001039399us-gaap:TransferredOverTimeMemberform:SystemsSegmentMember2023-04-022023-07-010001039399us-gaap:TransferredOverTimeMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:TransferredOverTimeMember2022-03-272022-06-250001039399us-gaap:TransferredOverTimeMemberform:SystemsSegmentMember2022-03-272022-06-250001039399us-gaap:TransferredOverTimeMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMembercountry:US2023-04-022023-07-010001039399country:USform:SystemsSegmentMember2023-04-022023-07-010001039399country:US2023-04-022023-07-010001039399form:ProbeCardsSegmentMembercountry:US2022-03-272022-06-250001039399country:USform:SystemsSegmentMember2022-03-272022-06-250001039399country:US2022-03-272022-06-250001039399form:ProbeCardsSegmentMembercountry:TW2023-04-022023-07-010001039399country:TWform:SystemsSegmentMember2023-04-022023-07-010001039399country:TW2023-04-022023-07-010001039399form:ProbeCardsSegmentMembercountry:TW2022-03-272022-06-250001039399country:TWform:SystemsSegmentMember2022-03-272022-06-250001039399country:TW2022-03-272022-06-250001039399form:ProbeCardsSegmentMembercountry:KR2023-04-022023-07-010001039399country:KRform:SystemsSegmentMember2023-04-022023-07-010001039399country:KR2023-04-022023-07-010001039399form:ProbeCardsSegmentMembercountry:KR2022-03-272022-06-250001039399country:KRform:SystemsSegmentMember2022-03-272022-06-250001039399country:KR2022-03-272022-06-250001039399form:ProbeCardsSegmentMembercountry:CN2023-04-022023-07-010001039399country:CNform:SystemsSegmentMember2023-04-022023-07-010001039399country:CN2023-04-022023-07-010001039399form:ProbeCardsSegmentMembercountry:CN2022-03-272022-06-250001039399country:CNform:SystemsSegmentMember2022-03-272022-06-250001039399country:CN2022-03-272022-06-250001039399form:ProbeCardsSegmentMembersrt:EuropeMember2023-04-022023-07-010001039399srt:EuropeMemberform:SystemsSegmentMember2023-04-022023-07-010001039399srt:EuropeMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMembersrt:EuropeMember2022-03-272022-06-250001039399srt:EuropeMemberform:SystemsSegmentMember2022-03-272022-06-250001039399srt:EuropeMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMembercountry:JP2023-04-022023-07-010001039399country:JPform:SystemsSegmentMember2023-04-022023-07-010001039399country:JP2023-04-022023-07-010001039399form:ProbeCardsSegmentMembercountry:JP2022-03-272022-06-250001039399country:JPform:SystemsSegmentMember2022-03-272022-06-250001039399country:JP2022-03-272022-06-250001039399country:MYform:ProbeCardsSegmentMember2023-04-022023-07-010001039399country:MYform:SystemsSegmentMember2023-04-022023-07-010001039399country:MY2023-04-022023-07-010001039399country:MYform:ProbeCardsSegmentMember2022-03-272022-06-250001039399country:MYform:SystemsSegmentMember2022-03-272022-06-250001039399country:MY2022-03-272022-06-250001039399form:ProbeCardsSegmentMembercountry:SG2023-04-022023-07-010001039399country:SGform:SystemsSegmentMember2023-04-022023-07-010001039399country:SG2023-04-022023-07-010001039399form:ProbeCardsSegmentMembercountry:SG2022-03-272022-06-250001039399country:SGform:SystemsSegmentMember2022-03-272022-06-250001039399country:SG2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberform:RestOfTheWorldMember2023-04-022023-07-010001039399form:RestOfTheWorldMemberform:SystemsSegmentMember2023-04-022023-07-010001039399form:RestOfTheWorldMember2023-04-022023-07-010001039399form:ProbeCardsSegmentMemberform:RestOfTheWorldMember2022-03-272022-06-250001039399form:RestOfTheWorldMemberform:SystemsSegmentMember2022-03-272022-06-250001039399form:RestOfTheWorldMember2022-03-272022-06-250001039399form:ProbeCardsSegmentMemberform:FoundryLogicProductGroupMember2023-01-012023-07-010001039399form:FoundryLogicProductGroupMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:FoundryLogicProductGroupMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberform:FoundryLogicProductGroupMember2021-12-262022-06-250001039399form:FoundryLogicProductGroupMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:FoundryLogicProductGroupMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberform:DRAMProductGroupMember2023-01-012023-07-010001039399form:DRAMProductGroupMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:DRAMProductGroupMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberform:DRAMProductGroupMember2021-12-262022-06-250001039399form:DRAMProductGroupMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:DRAMProductGroupMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberform:FlashProductGroupMember2023-01-012023-07-010001039399form:FlashProductGroupMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:FlashProductGroupMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberform:FlashProductGroupMember2021-12-262022-06-250001039399form:FlashProductGroupMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:FlashProductGroupMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberform:SystemsProductGroupMember2023-01-012023-07-010001039399form:SystemsProductGroupMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:SystemsProductGroupMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberform:SystemsProductGroupMember2021-12-262022-06-250001039399form:SystemsProductGroupMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:SystemsProductGroupMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:TransferredAtPointInTimeMember2023-01-012023-07-010001039399us-gaap:TransferredAtPointInTimeMemberform:SystemsSegmentMember2023-01-012023-07-010001039399us-gaap:TransferredAtPointInTimeMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-12-262022-06-250001039399us-gaap:TransferredAtPointInTimeMemberform:SystemsSegmentMember2021-12-262022-06-250001039399us-gaap:TransferredAtPointInTimeMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberus-gaap:TransferredOverTimeMember2023-01-012023-07-010001039399us-gaap:TransferredOverTimeMemberform:SystemsSegmentMember2023-01-012023-07-010001039399us-gaap:TransferredOverTimeMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberus-gaap:TransferredOverTimeMember2021-12-262022-06-250001039399us-gaap:TransferredOverTimeMemberform:SystemsSegmentMember2021-12-262022-06-250001039399us-gaap:TransferredOverTimeMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMembercountry:US2023-01-012023-07-010001039399country:USform:SystemsSegmentMember2023-01-012023-07-010001039399country:US2023-01-012023-07-010001039399form:ProbeCardsSegmentMembercountry:US2021-12-262022-06-250001039399country:USform:SystemsSegmentMember2021-12-262022-06-250001039399country:US2021-12-262022-06-250001039399form:ProbeCardsSegmentMembercountry:TW2023-01-012023-07-010001039399country:TWform:SystemsSegmentMember2023-01-012023-07-010001039399country:TW2023-01-012023-07-010001039399form:ProbeCardsSegmentMembercountry:TW2021-12-262022-06-250001039399country:TWform:SystemsSegmentMember2021-12-262022-06-250001039399country:TW2021-12-262022-06-250001039399form:ProbeCardsSegmentMembercountry:CN2023-01-012023-07-010001039399country:CNform:SystemsSegmentMember2023-01-012023-07-010001039399country:CN2023-01-012023-07-010001039399form:ProbeCardsSegmentMembercountry:CN2021-12-262022-06-250001039399country:CNform:SystemsSegmentMember2021-12-262022-06-250001039399country:CN2021-12-262022-06-250001039399form:ProbeCardsSegmentMembercountry:KR2023-01-012023-07-010001039399country:KRform:SystemsSegmentMember2023-01-012023-07-010001039399country:KR2023-01-012023-07-010001039399form:ProbeCardsSegmentMembercountry:KR2021-12-262022-06-250001039399country:KRform:SystemsSegmentMember2021-12-262022-06-250001039399country:KR2021-12-262022-06-250001039399form:ProbeCardsSegmentMembersrt:EuropeMember2023-01-012023-07-010001039399srt:EuropeMemberform:SystemsSegmentMember2023-01-012023-07-010001039399srt:EuropeMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMembersrt:EuropeMember2021-12-262022-06-250001039399srt:EuropeMemberform:SystemsSegmentMember2021-12-262022-06-250001039399srt:EuropeMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMembercountry:JP2023-01-012023-07-010001039399country:JPform:SystemsSegmentMember2023-01-012023-07-010001039399country:JP2023-01-012023-07-010001039399form:ProbeCardsSegmentMembercountry:JP2021-12-262022-06-250001039399country:JPform:SystemsSegmentMember2021-12-262022-06-250001039399country:JP2021-12-262022-06-250001039399country:MYform:ProbeCardsSegmentMember2023-01-012023-07-010001039399country:MYform:SystemsSegmentMember2023-01-012023-07-010001039399country:MY2023-01-012023-07-010001039399country:MYform:ProbeCardsSegmentMember2021-12-262022-06-250001039399country:MYform:SystemsSegmentMember2021-12-262022-06-250001039399country:MY2021-12-262022-06-250001039399form:ProbeCardsSegmentMembercountry:SG2023-01-012023-07-010001039399country:SGform:SystemsSegmentMember2023-01-012023-07-010001039399country:SG2023-01-012023-07-010001039399form:ProbeCardsSegmentMembercountry:SG2021-12-262022-06-250001039399country:SGform:SystemsSegmentMember2021-12-262022-06-250001039399country:SG2021-12-262022-06-250001039399form:ProbeCardsSegmentMemberform:RestOfTheWorldMember2023-01-012023-07-010001039399form:RestOfTheWorldMemberform:SystemsSegmentMember2023-01-012023-07-010001039399form:RestOfTheWorldMember2023-01-012023-07-010001039399form:ProbeCardsSegmentMemberform:RestOfTheWorldMember2021-12-262022-06-250001039399form:RestOfTheWorldMemberform:SystemsSegmentMember2021-12-262022-06-250001039399form:RestOfTheWorldMember2021-12-262022-06-25

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 July 1, 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: 000-50307
 
FormFactor, Inc.
(Exact name of registrant as specified in its charter)
Delaware 13-3711155
(State or other jurisdiction of
incorporation or organization)
 (I.R.S. Employer
Identification No.)
 
7005 Southfront Road, Livermore, California 94551
(Address of principal executive offices, including zip code)
 
(925) 290-4000
(Registrant’s telephone number, including area code)

Securities registered pursuant to Section12(b) of the Act:
Title of each classTrading Symbol(s) Name of each exchange on which registered
Common stock, $0.001 par valueFORM Nasdaq Global Market
 ______________________________________

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.   Yes   No 
 
Indicate by check mark whether the registrant submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of the 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. (Check one):
Large Accelerated FilerAccelerated FilerNon-accelerated Filer
Smaller Reporting CompanyEmerging Growth Company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.     

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

As of August 2, 2023, 77,656,368 shares of the registrant’s common stock, par value $0.001 per share, were outstanding.





FORMFACTOR, INC.
FORM 10-Q FOR THE QUARTERLY PERIOD ENDED JULY 1, 2023
INDEX
 
   
 
   
 
   
  
 
  
 
  
  
  
  
  
  
 

2


PART I - FINANCIAL INFORMATION
 
Item 1. Financial Statements
 
FORMFACTOR, INC.
CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except share and per share amounts)
(Unaudited)
 July 1,
2023
December 31,
2022
ASSETS 
Current assets:  
Cash and cash equivalents$97,981 $109,130 
Marketable securities138,943 129,006 
Accounts receivable, net of allowance for credit losses of $510 and $168
94,013 88,143 
Inventories, net120,298 123,157 
Restricted cash1,144 1,221 
Prepaid expenses and other current assets25,876 23,895 
Total current assets478,255 474,552 
Restricted cash2,265 2,631 
Operating lease, right-of-use-assets31,001 31,362 
Property, plant and equipment, net of accumulated depreciation204,577 189,848 
Goodwill211,929 211,444 
Intangibles, net22,149 26,751 
Deferred tax assets71,172 67,646 
Other assets3,790 3,994 
Total assets$1,025,138 $1,008,228 
LIABILITIES AND STOCKHOLDERS’ EQUITY 
Current liabilities: 
Accounts payable$63,770 $69,308 
Accrued liabilities31,413 42,115 
Current portion of term loan, net of unamortized issuance costs1,150 1,045 
Deferred revenue19,899 29,846 
Operating lease liabilities7,871 7,353 
Total current liabilities124,103 149,667 
Term loan, less current portion, net of unamortized issuance costs13,765 14,389 
Deferred tax liabilities2,704 2,732 
Long-term operating lease liabilities26,458 27,587 
Deferred grant18,000  
Other liabilities5,845 5,568 
Total liabilities190,875 199,943 
 
Stockholders’ equity: 
Common stock, $0.001 par value:
 
250,000,000 shares authorized; 77,184,012 and 76,914,590 shares issued and outstanding
77 77 
Additional paid-in capital867,517 844,842 
Accumulated other comprehensive loss(4,445)(5,578)
Accumulated deficit(28,886)(31,056)
Total stockholders’ equity834,263 808,285 
Total liabilities and stockholders’ equity$1,025,138 $1,008,228 
 
The accompanying notes are an integral part of these condensed consolidated financial statements. 
3


FORMFACTOR, INC.
 CONDENSED CONSOLIDATED STATEMENTS OF INCOME
(In thousands, except per share amounts)
(Unaudited)
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Revenues$155,916 $203,907 $323,364 $401,081 
Cost of revenues95,633 109,538 202,003 212,488 
Gross profit60,283 94,369 121,361 188,593 
Operating expenses:    
Research and development28,340 28,317 56,585 55,451 
Selling, general and administrative33,255 33,406 65,997 66,312 
Total operating expenses61,595 61,723 122,582 121,763 
Operating income (loss)(1,312)32,646 (1,221)66,830 
Interest income, net1,482 181 2,758 127 
Other income, net450 551 473 743 
Income before income taxes620 33,378 2,010 67,700 
Provision (benefit) for income taxes(208)3,136 (160)7,586 
Net income$828 $30,242 $2,170 $60,114 
Net income per share: 
Basic $0.01 $0.39 $0.03 $0.77 
Diluted$0.01 $0.38 $0.03 $0.76 
Weighted-average number of shares used in per share calculations:   
Basic 77,159 77,897 77,112 78,071 
Diluted77,616 79,210 77,450 79,423 
 
The accompanying notes are an integral part of these condensed consolidated financial statements.
4


FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands)
(Unaudited)
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Net income $828 $30,242 $2,170 $60,114 
Other comprehensive income (loss), net of tax:
Translation adjustments(122)(3,856)710 (6,554)
Unrealized gains (losses) on available-for-sale marketable securities(85)(547)518 (1,751)
Unrealized gains (losses) on derivative instruments(52)(116)(95)758 
Other comprehensive income (loss), net of tax:(259)(4,519)1,133 (7,547)
Comprehensive income$569 $25,723 $3,303 $52,567 

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

5


FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(In thousands, except shares)
(Unaudited)
 Shares of
Common
Stock
Common
Stock
Additional
Paid-in
Capital
Accumulated
Other
Comprehensive
Loss
Accumulated
Deficit
Total
Six Months Ended July 1, 2023
Balances, December 31, 202276,914,590 $77 $844,842 $(5,578)$(31,056)$808,285 
Issuance of common stock under the Employee Stock Purchase Plan210,055 — 5,024 — — 5,024 
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax59,367 — (456)— — (456)
Stock-based compensation— — 18,107 — — 18,107 
Other comprehensive income— — — 1,133 — 1,133 
Net income— — — — 2,170 2,170 
Balances, July 1, 202377,184,012 $77 $867,517 $(4,445)$(28,886)$834,263 
Three Months Ended July 1, 2023
Balances, April 1, 202377,142,023 $77 $858,195 $(4,186)$(29,714)$824,372 
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax41,989  (69)— — (69)
Stock-based compensation— — 9,391 — — 9,391 
Other comprehensive loss— — — (259)— (259)
Net income— — — — 828 828 
Balances, July 1, 202377,184,012 $77 $867,517 $(4,445)$(28,886)$834,263 
Six Months Ended June 25, 2022
Balances, December 25, 202178,240,506 $78 $898,945 $(1,449)$(81,794)$815,780 
Issuance of common stock under the Employee Stock Purchase Plan157,642 — 5,645 — — 5,645 
Issuance of common stock pursuant to exercise of options6,000 — 42 — — 42 
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax234,076 — (4,243)— — (4,243)
Purchase and retirement of common stock through repurchase program(1,443,491)(1)(54,327)— — (54,328)
Stock-based compensation— — 14,522 — — 14,522 
Other comprehensive loss— — — (7,547)— (7,547)
Net income— — — — 60,114 60,114 
Balances, June 25, 202277,194,733 $77 $860,584 $(8,996)$(21,680)$829,985 
Three Months Ended June 25, 2022
Balances, March 26, 202278,166,212 $78 $902,994 $(4,477)$(51,922)$846,673 
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax231,464 — (4,171)— — (4,171)
Purchase and retirement of common stock through repurchase program(1,202,943)(1)(44,930)— — (44,931)
Stock-based compensation— — 6,691 — — 6,691 
Other comprehensive loss— — — (4,519)— (4,519)
Net income— — — — 30,242 30,242 
Balances, June 25, 202277,194,733 $77 $860,584 $(8,996)$(21,680)$829,985 

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


FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
(Unaudited)
 Six Months Ended
 July 1,
2023
June 25,
2022
Cash flows from operating activities:  
Net income $2,170 $60,114 
Adjustments to reconcile net income to net cash provided by operating activities: 
Depreciation15,121 14,146 
Amortization4,766 4,702 
Reduction in the carrying amount of right-of-use assets3,914 4,414 
Stock-based compensation expense18,494 13,878 
Deferred income tax benefit(3,639)(3,703)
Provision for excess and obsolete inventories8,628 4,726 
Other adjustments to reconcile net income to net cash provided by operating activities1,801 3,846 
Changes in assets and liabilities:
Accounts receivable(6,830)5,530 
Inventories(5,880)(32,268)
Prepaid expenses and other current assets(1,099)1,295 
Other assets(83)(40)
Accounts payable3,578 7,521 
Accrued liabilities(10,606)4,102 
Other liabilities456 73 
Deferred revenues(9,945)2,727 
Deferred grant18,000  
Operating lease liabilities(4,065)(4,262)
Net cash provided by operating activities34,781 86,801 
Cash flows from investing activities:  
Acquisition of property, plant and equipment(40,177)(30,116)
Acquisition of business (3,121)
Purchases of marketable securities(66,650)(52,344)
Purchase of promissory note receivable (1,000)
Proceeds from maturities and sales of marketable securities58,363 45,470 
Net cash used in investing activities(48,464)(41,111)
Cash flows from financing activities:  
Proceeds from issuances of common stock5,024 5,687 
Purchase of common stock through stock repurchase program (54,328)
Tax withholdings related to net share settlements of equity awards(456)(4,243)
Principal repayments on term loans(519)(4,379)
Net cash provided by (used in) financing activities4,049 (57,263)
Effect of exchange rate changes on cash, cash equivalents and restricted cash(1,958)(3,470)
Net decrease in cash, cash equivalents and restricted cash(11,592)(15,043)
Cash, cash equivalents and restricted cash, beginning of period112,982 155,342 
Cash, cash equivalents and restricted cash, end of period$101,390 $140,299 

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



FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
(Unaudited)
Six Months Ended
July 1,
2023
June 25,
2022
Non-cash investing and financing activities:
Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases$9,187 $4,165 
Operating lease, right-of-use assets obtained in exchange for lease obligations3,635 3,438 
Supplemental disclosure of cash flow information:
Cash paid for income taxes, net$9,427 $6,473 
Cash paid for interest212 294 
Operating cash outflows from operating leases4,514 4,379 
Reconciliation of cash, cash equivalents and restricted cash:
Cash and cash equivalents$97,981 $136,395 
Restricted cash, current1,144 2,102 
Restricted cash, non-current2,265 1,802 
Total cash, cash equivalents and restricted cash$101,390 $140,299 

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


FORMFACTOR, INC.
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)


Note 1 — Basis of Presentation and Significant Accounting Policies
 
Basis of Presentation
The accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.
 
Fiscal Year 
We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the six months ended July 1, 2023 and June 25, 2022 each contained 26 weeks. Fiscal 2023 will end on December 30, 2023.

Significant Accounting Policies
Our significant accounting policies have not changed during the six months ended July 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022, except for:

Government Assistance
In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.

The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize the Grant when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the Grant is to offset operations.

New Accounting Pronouncements
Reference Rate Reform
In March 2020, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2020-04, “Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.” The ASU provides temporary optional expedients and exceptions for applying GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference the London Interbank Offered Rate (“LIBOR“) or another reference rate expected to be discontinued. In December 2022, the FASB issued ASU 2022-06, “Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,” extending the relief offered in Topic 848 from December 31, 2022 to December 31, 2024, after which entities will no longer be permitted to apply the optional expedients in Topic 848.

In May 2023, the Company entered into a rate replacement amendment to its credit facility loan agreement to replace LIBOR with the Secured Overnight Financing Rate (“SOFR”) and concurrently signed an amendment to modify the floating rate option on its interest rate swap to match that of the debt. The Company applied practical expedients provided in Topic 848 allowing the modified instrument to be accounted for and presented in the same manner as the instrument existing before the modification. These modifications had no significant impact on our financial statements. Refer to Note 6, Debt for further information regarding the terms of the credit facility loan agreement and interest rate swap agreement.

Reclassifications
Certain immaterial reclassifications were made to the prior year financial statements to conform to the current year presentation.
9


Note 2 — Concentration of Credit and Other Risks

The following customer accounted for 10% or more of our revenues for the periods indicated:
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Intel Corporation14.2 %20.9 %17.2 %20.9 %

At July 1, 2023 and December 31, 2022, one customer accounted for 15.3% and 13.8% of gross accounts receivable, respectively.

Note 3 — Inventories, net

Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.
 
Inventories, net, consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Raw materials$55,491 $55,726 
Work-in-progress44,549 46,067 
Finished goods20,258 21,364 
$120,298 $123,157 

Note 4 Goodwill and Intangible Assets

Goodwill by reportable segment was as follows (in thousands):
Probe CardsSystemsTotal
Goodwill, as of December 25, 2021$178,424 $33,875 $212,299 
Addition - Woburn Acquisition 550 550 
Foreign currency translation (1,405)(1,405)
Goodwill, as of December 31, 2022178,424 33,020 211,444 
Foreign currency translation 485 485 
Goodwill, as of July 1, 2023$178,424 $33,505 $211,929 

We have not recorded goodwill impairments for the six months ended July 1, 2023.

Intangible assets were as follows (in thousands):
July 1, 2023December 31, 2022
Intangible Assets GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
Net
Existing developed technologies $171,896 $153,200 $18,696 $171,441 $151,212 $20,229 
Customer relationships51,036 48,085 2,951 50,912 45,003 5,909 
Trade name8,000 7,898 102 7,972 7,759 213 
In-process research and development400  400 400  400 
$231,332 $209,183 $22,149 $230,725 $203,974 $26,751 

10


Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Cost of revenues$838 $788 $1,669 $1,596 
Selling, general and administrative1,550 1,545 3,097 3,106 
$2,388 $2,333 $4,766 $4,702 

The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands):
Fiscal YearAmount
Remainder of 2023$2,435 
20244,624 
20254,280 
20263,184 
20272,839 
Thereafter4,387 
$21,749 

Note 5 Accrued Liabilities

Accrued liabilities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Accrued compensation and benefits$17,386 $15,864 
Employee stock purchase plan contributions withheld4,142 4,585 
Accrued income and other taxes3,944 12,817 
Accrued warranty3,506 4,199 
Accrued restructuring charges207 1,249 
Other accrued expenses2,228 3,401 
$31,413 $42,115 

Note 6 Debt

On June 22, 2020, we entered into an $18.0 million 15-year credit facility loan agreement (the “Building Term Loan”) with MUFG Union Bank, National Association (“Union Bank”). The proceeds of the Building Term Loan were used to purchase a building adjacent to our leased facilities in Livermore, California. On May 19, 2023, we amended the Building Term Loan, replacing the benchmark reference rate LIBOR with the term SOFR, with no change to the amount or timing of contractual cash flows.

The Building Term Loan bears interest at a rate equal to the applicable SOFR rate, plus 0.1148%, plus 1.75% per annum. Interest payments are payable in monthly installments over a fifteen-year period. The interest rate at July 1, 2023 was 5.17%.

On March 17, 2020, we entered into an interest rate swap agreement with Union Bank to hedge the interest payment on the Building Term Loan for the notional amount of $18.0 million. As future levels of LIBOR over the life of the loan were uncertain, we entered into this interest-rate swap agreement to hedge the exposure in interest rate risks associated with movement in LIBOR rates. By entering into the agreement, we converted a floating-rate interest at one-month LIBOR plus 1.75% into a fixed-rate interest at 2.75%. This agreement was amended on May 19, 2023 to replace the benchmark reference rate LIBOR with the term SOFR to match the Building Term Loan agreement (as amended). After the amendment, the interest rate swap continues to convert our floating-rate interest into a fixed-rate at 2.75%.

11


Note 7 Restructuring Charges

2022 Restructuring Plan
On October 25, 2022, we adopted a restructuring plan (“2022 restructuring plan”) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce.

The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5 million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.

2021 Restructuring Plan
On September 25, 2021, we adopted restructuring plans (“2021 restructuring plans”) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations.

The Company has recognized 2021 restructuring plans charges of approximately $13.3 million, with $10.1 million within the Probe Cards segment and $3.2 million within the Systems segment, which were comprised of $1.4 million of severance and employee-related costs, $2.0 million in contract and lease termination costs, $9.4 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.

Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$47 $285 $332 $227 $227 $454 
Research and development170 51 221  53 53 
Selling, general and administrative6 59 65  74 74 
$223 $395 $618 $227 $354 $581 
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$106 $251 $357 $266 $327 $593 
Research and development182 109 291  199 199 
Selling, general and administrative1,069 118 1,187 3 99 102 
$1,357 $478 $1,835 $269 $625 $894 
12



Changes to the restructuring accrual in the six months ended July 1, 2023 were as follows (in thousands):
Employee Severance
and Benefits
Stock-based CompensationInventory
Impairments &
Other Inventory
Related Costs
Contract
Termination &
Other Costs
Total
December 31, 2022$1,249 $ $ $ $1,249 
Restructuring charges917 295 390 233 1,835 
Cash payments(1,959) (89)(233)(2,281)
Non-cash settlement (295)(301) (596)
July 1, 2023$207 $ $ $ $207 

Note 8 — Fair Value and Derivative Instruments

Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:
Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;
Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.

We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three and six months ended July 1, 2023 or the year ended December 31, 2022.

The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities.

No changes were made to our valuation techniques during the first six months of fiscal 2023.

13


Assets and Liabilities Measured at Fair Value on a Recurring Basis
Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): 
July 1, 2023Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$30,179 $ $ $30,179 
U.S. treasuries1,691   1,691 
31,870   31,870 
Marketable securities:
 U.S. treasuries46,803   46,803 
 Certificates of deposit 235  235 
 U.S. agency securities 14,733  14,733 
 Corporate bonds 53,097  53,097 
 Commercial paper 24,075  24,075 
46,803 92,140  138,943 
Foreign exchange derivative contracts 549  549 
Promissory note receivable  926 926 
Interest rate swap derivative contracts 2,263  2,263 
Total assets$78,673 $94,952 $926 $174,551 
Liabilities:
Foreign exchange derivative contracts$ $(60)$ $(60)
Total liabilities$ $(60)$ $(60)

December 31, 2022Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$21,279 $ $ $21,279 
Commercial paper 4,969  4,969 
U.S. agency securities 996  996 
21,279 5,965  27,244 
Marketable securities:
U.S. treasuries25,019   25,019 
Certificates of deposit 706  706 
U.S. agency securities 11,045  11,045 
Corporate bonds 67,396  67,396 
Commercial paper 24,840  24,840 
25,019 103,987  129,006 
Foreign exchange derivative contracts 664  664 
Promissory note receivable  943 943 
Interest rate swap derivative contracts 2,374  2,374 
Total assets$46,298 $112,990 $943 $160,231 
Liabilities:
Foreign exchange derivative contracts$ $(193)$ $(193)
Total liabilities$ $(193)$ $(193)
 
Cash Equivalents
The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities.

Marketable Securities
We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are
14


priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.

Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.

Interest Rate Swaps
The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets.

Foreign Exchange Derivative Contracts
We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses.

We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction.

The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at July 1, 2023 will mature by the second quarter of fiscal 2024.

The following table provides information about our foreign currency forward contracts outstanding as of July 1, 2023 (in thousands):
CurrencyContract PositionContract Amount
(Local Currency)
Contract Amount
(U.S. Dollars)
Euro DollarBuy18,558 $19,903 
Euro DollarSell1,077 1,176 
Japanese YenSell3,104,537 21,583 
Korean WonBuy1,258,185 962 
Taiwan DollarSell31,197 1,001 

Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.

Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis
We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business
15


acquisition. Other than as discussed in Note 7, Restructuring Charges, there were no assets or liabilities measured at fair value on a nonrecurring basis during the three and six months ended July 1, 2023 or June 25, 2022.

Note 9 — Warranty
We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.

Changes in our warranty liability were as follows (in thousands):
Six Months Ended
July 1,
2023
June 25,
2022
Balance at beginning of period$4,199 $2,805 
Accruals2,934 3,846 
Settlements(3,627)(2,673)
Balance at end of period$3,506 $3,978 

Note 10 — Property, Plant and Equipment, net

Property, plant and equipment, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Land$17,136 $17,136 
Building and building improvements44,452 44,932 
Machinery and equipment 284,837 276,180 
Computer equipment and software46,774 45,813 
Furniture and fixtures 7,468 7,540 
Leasehold improvements 88,416 86,500 
Sub-total 489,083 478,101 
Less: Accumulated depreciation and amortization (349,123)(335,711)
Net, property, plant and equipment 139,960 142,390 
Construction-in-process64,617 47,458 
Total$204,577 $189,848 

Note 11 — Stockholders’ Equity and Stock-Based Compensation

Common Stock Repurchase Programs
On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the six months ended June 25, 2022, we repurchased 676,408 shares of common stock for $26.0 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022.

On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the six months ended July 1, 2023, we did not repurchase any common stock. As of July 1, 2023, $18.6 million remained available for future repurchases.

16


Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.

Restricted Stock Units
Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:
UnitsWeighted Average Grant Date Fair Value
RSUs at December 31, 20222,227,081 $35.28 
Awards granted1,014,619 30.97 
Awards vested(75,144)37.76 
Awards forfeited(122,881)35.09 
RSUs at July 1, 20233,043,675 33.78 

Performance Restricted Stock Units
We may grant Performance RSUs (“PRSUs”) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the six months ended July 1, 2023. PRSUs are included as part of the RSU activity above.

Employee Stock Purchase Plan
Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows:
 Six Months Ended
 July 1, 2023
Shares issued210,055 
Weighted average per share purchase price$23.92 
Weighted average per share discount from the fair value of our common stock on the date of issuance$(4.22)

Stock-Based Compensation
Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Cost of revenues$1,515 $734 $3,425 $1,812 
Research and development2,363 1,695 4,735 3,681 
Selling, general and administrative5,326 3,929 10,334 8,385 
Total stock-based compensation$9,204 $6,358 $18,494 $13,878 
 
Unrecognized Compensation Costs
At July 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): 
Unrecognized ExpenseAverage Expected
Recognition Period
in Years
Restricted stock units$60,794 2.28
Performance restricted stock units7,789 1.72
Employee stock purchase plan246 0.09
Total unrecognized stock-based compensation expense$68,829 2.22

17


Note 12 — Net Income per Share

The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Weighted-average shares used in computing basic net income per share77,159 77,897 77,112 78,071 
Add potentially dilutive securities457 1,313 338 1,352 
Weighted-average shares used in computing diluted net income per share77,616 79,210 77,450 79,423 
Securities not included as they would have been antidilutive486 23 343  

Note 13 — Commitments and Contingencies

Leases
See Note 14, Leases.

Contractual Obligations and Commitments
Our contractual obligations and commitments have not materially changed as of July 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022.

Legal Matters
From time to time, we are subject to legal proceedings and claims in the ordinary course of business, the outcomes of which cannot be estimated with certainty. Our ability to estimate the outcomes may change in the near term and the effect of any such change could have a material adverse effect on our financial position, results of operations or cash flows.

Note 14 — Leases

We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of July 1, 2023 and the weighted-average discount rate was 4.28%.

The components of lease expense were as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Lease expense:
Operating lease expense$2,124 $2,183 $4,076 $4,404 
Short-term lease expense136 76 293 116 
Variable lease expense483 677 1,229 1,135 
$2,743 $2,936 $5,598 $5,655 


18


Future minimum payments under our non-cancelable operating leases were as follows as of July 1, 2023 (in thousands):
Fiscal YearAmount
Remainder of 2023$4,295 
20248,667 
20258,575 
20267,049 
20276,631 
Thereafter3,434 
  Total minimum lease payments38,651 
Less: interest(4,322)
  Present value of net minimum lease payments34,329 
Less: current portion(7,871)
  Total long-term operating lease liabilities$26,458 

Note 15 — Revenue

Transaction price allocated to the remaining performance obligations: On July 1, 2023, we had $9.4 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered. We expect to recognize approximately 46.7% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 45.8% in fiscal 2024, and approximately 7.5% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.

Contract balances: The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of July 1, 2023 and December 31, 2022 were $4.1 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.

Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of July 1, 2023 and December 31, 2022 were $21.0 million and $30.9 million, respectively. During the six months ended July 1, 2023, we recognized $21.5 million of revenue that was included in contract liabilities as of December 31, 2022.

Costs to obtain a contract: We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year.

Revenue by category: Refer to Note 16, Operating Segments and Enterprise-Wide Information, for further details.

Note 16 — Operating Segments and Enterprise-Wide Information

Our chief operating decision maker (“CODM”) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting
19


of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$115,303 $40,613 $ $155,916 $167,708 $36,199 $ $203,907 
Gross profit 42,112 21,124 (2,953)60,283 78,420 18,276 (2,327)94,369 
Gross margin36.5 %52.0 %38.7 %46.8 %50.5 %46.3 %
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$242,631 $80,733 $ $323,364 $327,691 $73,390 $ $401,081 
Gross profit 85,735 41,870 (6,244)121,361 155,622 37,683 (4,712)188,593 
Gross margin35.3 %51.9 %37.5 %47.5 %51.3 %47.0 %

Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures.

Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.

Certain revenue category information by reportable segment was as follows (in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$81,967 $ $81,967 $122,380 $ $122,380 
DRAM30,464  30,464 36,843  36,843 
Flash2,872  2,872 8,485  8,485 
Systems 40,613 40,613  36,199 36,199 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Timing of revenue recognition:
Products transferred at a point in time$112,985 $40,040 $153,025 $166,701 $33,081 $199,782 
Products and services transferred over time2,318 573 2,891 1,007 3,118 4,125 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Geographical region:
United States$31,131 $11,542 $42,673 $21,539 $9,703 $31,242 
Taiwan25,316 4,196 29,512 45,188 4,832 50,020 
South Korea26,455 1,408 27,863 27,418 1,337 28,755 
China16,516 6,992 23,508 40,578 9,157 49,735 
Europe2,415 8,401 10,816 3,824 4,267 8,091 
Japan3,902 4,030 7,932 6,716 3,221 9,937 
Malaysia6,177 500 6,677 16,157 87 16,244 
Singapore1,718 1,105 2,823 5,131 1,977 7,108 
Rest of the world1,673 2,439 4,112 1,157 1,618 2,775 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
20


Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$183,529 $ $183,529 $236,501 $ $236,501 
DRAM50,354  50,354 71,280  71,280 
Flash8,748  8,748 19,910  19,910 
Systems 80,733 80,733  73,390 73,390 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Timing of revenue recognition:
Products transferred at a point in time$236,903 $79,510 $316,413 $325,537 $68,497 $394,034 
Products and services transferred over time5,728 1,223 6,951 2,154 4,893 7,047 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Geographical region:
United States$55,772 $24,632 $80,404 $41,515 $15,374 $56,889 
Taiwan64,213 5,628 69,841 87,710 15,379 103,089 
China34,992 15,615 50,607 73,369 14,765 88,134 
South Korea46,027 2,611 48,638 52,299 3,957 56,256 
Europe5,841 14,401 20,242 6,206 10,280 16,486 
Japan11,038 7,871 18,909 11,501 7,818 19,319 
Malaysia16,501 1,446 17,947 37,674 769 38,443 
Singapore4,918 3,245 8,163 15,415 2,589 18,004 
Rest of the world3,329 5,284 8,613 2,002 2,459 4,461 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations
 
Cautionary Statement Regarding Forward-Looking Statements
 
This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of the Securities Exchange Act of 1934 and the Securities Act of 1933, which are subject to risks and uncertainties. The forward-looking statements include statements concerning, among other things, our business strategy, financial and operating results, gross margins, liquidity and capital expenditure requirements and impact of accounting standards. In some cases, you can identify these statements by forward-looking words, such as “may,” “might,” “will,” “could,” “should,” “expect,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “intend” and “continue,” the negative or plural of these words and other comparable terminology.

The forward-looking statements are only predictions based on our current expectations and our projections about future events. All forward-looking statements included in this Quarterly Report on Form 10-Q are based upon information available to us as of the filing date of this Quarterly Report on Form 10-Q. You should not place undue reliance on these forward-looking statements. We have no obligation to update any of these statements. These forward-looking statements involve known and unknown risks, uncertainties and other factors that may cause our actual results, levels of activity, performance or achievements to differ materially from those expressed or implied by these statements, including risks related to general market trends, the benefits of acquisitions and investments, our supply chain, uncertainties related to global, regional or national public health-related crises and the impact of our responses to them, the interpretation and impacts of changes in export controls and other trade barriers, military conflicts, political volatility and similar factors, our ability to execute our business strategy and other risks discussed in the section titled “Risk Factors” and elsewhere in our Annual Report on Form 10-K for the year ended December 31, 2022 and in this Quarterly Report on Form 10-Q. You should carefully consider the numerous risks and uncertainties described under these sections.
 
The following discussion and analysis should be read in conjunction with our condensed consolidated financial statements and the accompanying notes contained in this Quarterly Report on Form 10-Q. Unless expressly stated or the context otherwise requires, the terms “we,” “our,” “us” and “FormFactor” refer to FormFactor, Inc. and its subsidiaries.

21


Overview

FormFactor, Inc., headquartered in Livermore, California, is a leading provider of essential test and measurement technologies along the full semiconductor product lifecycle - from metrology and inspection, characterization, modeling, reliability, and design de-bug, to qualification and production test. We provide a broad range of high-performance probe cards, analytical probes, probe stations, metrology systems, thermal systems, and cryogenic systems to both semiconductor companies and scientific institutions. Our products provide electrical and physical information from a variety of semiconductor and electro-optical devices and integrated circuits from early research, through development, to high-volume production. Customers use our products and services to accelerate profitability by optimizing device performance and advancing yield knowledge.

We operate in two reportable segments consisting of the Probe Cards segment and the Systems segment. Sales of our probe cards and analytical probes are included in the Probe Cards segment, while sales of our probe stations, metrology systems, thermal systems and cryogenic systems are included in the Systems segment.

We generated net income of $2.2 million in the first six months of fiscal 2023 as compared to $60.1 million in the first six months of fiscal 2022. The decrease in net income was primarily due to a decline in revenues and the associated decline in gross margins and higher operating expenses.

Significant Accounting Policies and the Use of Estimates

Management’s Discussion and Analysis and Note 2, Summary of Significant Accounting Policies, to the Consolidated Financial Statements in our 2022 Annual Report on Form 10-K describe the significant accounting estimates and significant accounting policies used in preparation of the Consolidated Financial Statements. Actual results in these areas could differ from management’s estimates. During the six months ended July 1, 2023, there were no significant changes in our significant accounting policies or estimates from those reported in our Annual Report on Form 10-K for the year ended December 31, 2022, which was filed with the Securities and Exchange Commission on February 24, 2023, except for:

Government Assistance
In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.

The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize the Grant when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the Grant is to offset operations.

22


Results of Operations
 
The following table sets forth our operating results as a percentage of revenues for the periods indicated:
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Revenues100.0 %100.0 %100.0 %100.0 %
Cost of revenues61.3 53.7 62.5 53.0 
Gross profit38.7 46.3 37.5 47.0 
Operating expenses:    
Research and development18.2 13.9 17.5 13.8 
Selling, general and administrative21.3 16.4 20.4 16.5 
Total operating expenses39.5 30.3 37.9 30.3 
Operating income (loss)(0.8)16.0 (0.4)16.7 
Interest income, net0.9 — 0.9 — 
Other income, net0.3 0.3 0.1 0.2 
Income before income taxes0.4 16.3 0.6 16.9 
Provision (benefit) for income taxes(0.1)1.5 (0.1)1.9 
Net income0.5 %14.8 %0.7 %15.0 %

Revenues by Segment and Market
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
 (In thousands)
Probe Cards$115,303 $167,708 $242,631 $327,691 
Systems40,613 36,199 80,733 73,390 
$155,916 $203,907 $323,364 $401,081 

23


Three Months Ended
July 1,
2023
% of RevenuesJune 25,
2022
% of Revenues$ Change% Change
(Dollars in thousands)
Probe Cards Markets:
Foundry & Logic$81,967 52.6 %$122,380 60.0 %$(40,413)(33.0)%
DRAM30,464 19.5 36,843 18.0 (6,379)(17.3)
Flash2,872 1.9 8,485 4.2 (5,613)(66.2)
Systems Market:
Systems40,613 26.0 36,199 17.8 4,414 12.2 
Total revenues$155,916 100.0 %$203,907 100.0 %$(47,991)(23.5)%
Six Months Ended
July 1,
2023
% of RevenuesJune 25,
2022
% of Revenues$ Change% Change
(Dollars in thousands)
Probe Cards Markets:
Foundry & Logic$183,529 56.7 %$236,501 58.9 %$(52,972)(22.4)%
DRAM50,354 15.6 71,280 17.8 (20,926)(29.4)
Flash8,748 2.7 19,910 5.0 (11,162)(56.1)
Systems Market:
Systems80,733 25.0 73,390 18.3 7,343 10.0 
Total revenues$323,364 100.0 %$401,081 100.0 %$(77,717)(19.4)%

Foundry & Logic The decrease in Foundry & Logic product revenue for the three and six months ended July 1, 2023, compared to the three and six months ended June 25, 2022, was driven by the weaker demand in the semiconductor industry, especially in the personal computer and mobile sectors, that began in the third quarter of fiscal 2022 and has continued into the three and six months ended July 1, 2023 and has resulted in decreased unit sales across the majority of our major customers.

DRAM The decrease in DRAM product revenue for the three and six months ended July 1, 2023, compared to the three and six months ended June 25, 2022, was driven by lower customer production activity and demand for our products in light of worldwide excess supply of DRAM chips, along with weaker demand in the overall semiconductor industry. The decline for the six months ended July 1, 2023 was partially offset within the second quarter of fiscal 2023 due to increased demand for high bandwidth memory (“HBM”) chips utilized in artificial intelligence.

Flash The decrease in Flash product revenue for the three and six months ended July 1, 2023, compared to the three and six months ended June 25, 2022, was driven by lower customer production activity and demand for our products in light of worldwide excess supply, a result of the semiconductor industry's overall demand weakening and Flash market weakness.

Systems The increase in Systems market revenue for the three and six months ended July 1, 2023, compared to the three and six months ended June 25, 2022, was driven by increased sales of probe stations and cryogenic systems, partially offset by decreased sales of our metrology systems.

24


Revenues by Geographic Region
Three Months EndedSix Months Ended
July 1,
2023
% of RevenuesJune 25,
2022
% of RevenuesJuly 1,
2023
% of
Revenue
June 25,
2022
% of
Revenue
 (Dollars in thousands)
United States$42,673 27.4 %$31,242 15.3 %$80,404 24.9 %$56,889 14.2 %
Taiwan29,512 18.9 50,020 24.5 69,841 21.6 103,089 25.7 
South Korea27,863 17.9 28,755 14.1 48,638 15.0 56,256 14.0 
China23,508 15.1 49,735 24.4 50,607 15.7 88,134 22.0 
Europe10,816 6.9 8,091 4.0 20,242 6.3 16,486 4.1 
Japan7,932 5.1 9,937 4.9 18,909 5.8 19,319 4.8 
Malaysia6,677 4.3 16,244 8.0 17,947 5.6 38,443 9.6 
Singapore2,823 1.8 7,108 3.5 8,163 2.5 18,004 4.5 
Rest of the world4,112 2.6 2,775 1.3 8,613 2.6 4,461 1.1 
Total revenues$155,916 100.0 %$203,907 100.0 %$323,364 100.0 %$401,081 100.0 %

Geographic revenue information is based on the location to which we ship the product. For example, if a certain South Korean customer purchases through their U.S. subsidiary and requests the products to be shipped to an address in South Korea, this sale will be reflected in the revenue for South Korea rather than the U.S.

Changes in revenue by geographic region for the three and six months ended July 1, 2023, compared to the three and six months ended June 25, 2022, were primarily attributable to changes in customer demand, shifts in customer regional manufacturing strategies, particularly with our large multinational customers, and product sales mix. More specifically, the increase in revenues for the United States, and decreases in revenues for China and Malaysia were driven principally by a single large U.S.-based company with operations in these regions. The decrease in revenues for China was also impacted by lowered demand from a large Chinese DRAM integrated device manufacturer and the impact from expanded export license requirements imposed by the United States government in the fourth quarter of fiscal 2022 for exporting advanced U.S. semiconductor technology to China.

Cost of Revenues and Gross Margins
Cost of revenues consists primarily of manufacturing materials, compensation and benefits, shipping and handling costs, manufacturing-related overhead (including equipment costs, related occupancy, and computer services), warranty adjustments, inventory adjustments (including write-downs for inventory obsolescence), and amortization of certain intangible assets. Our manufacturing operations rely on a limited number of suppliers to provide key components and materials for our products, some of which are a sole source. We order materials and supplies based on backlog and forecasted customer orders. Tooling and setup costs related to changing manufacturing lots at our suppliers are also included in the cost of revenues. We expense all warranty costs, inventory provisions and amortization of certain intangible assets as cost of revenues.

Our gross profit and gross margin were as follows (dollars in thousands):
 Three Months Ended
 July 1,
2023
June 25,
2022
$ Change% Change
Gross profit$60,283 $94,369 $(34,086)(36.1)%
Gross margin38.7 %46.3 %
Six Months Ended
July 1,
2023
June 25,
2022
$ Change% Change
Gross profit$121,361 $188,593 $(67,232)(35.6)%
Gross margin37.5 %47.0 %

25


Our gross profit and gross margin by segment were as follows (dollars in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Gross profit $42,112 $21,124 $(2,953)$60,283 $78,420 $18,276 $(2,327)$94,369 
Gross margin36.5 %52.0 %38.7 %46.8 %50.5 %46.3 %
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Gross profit$85,735 $41,870 $(6,244)$121,361 $155,622 $37,683 $(4,712)$188,593 
Gross margin35.3 %51.9 %37.5 %47.5 %51.3 %47.0 %

Probe Cards For the three and six months ended July 1, 2023, gross margins decreased compared to the three and six months ended June 25, 2022, primarily due to unfavorable absorption of costs on lower production volumes, greater inventory excess and obsolescence reserves, and lower standard margins related to a less favorable product mix.

Systems For the three and six months ended July 1, 2023, gross margins increased compared to the three and six months ended June 25, 2022, primarily as a result of higher volume on more favorable product mix.

Corporate and OtherCorporate and Other includes unallocated expenses relating to share-based compensation and amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, and restructuring, which are not used in evaluating the results of, or in allocating resources to, our reportable segments.

Overall Gross profit and gross margins fluctuate with revenue levels, product mix, selling prices, factory loading, labor costs, and material costs. For the three and six months ended July 1, 2023, compared to the three and six months ended June 25, 2022, gross profit and gross margins have decreased because of lower revenue levels, unfavorable absorption of costs on lower production volumes, and greater inventory excess and obsolescence reserves.

Cost of revenues included stock-based compensation expense as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Stock-based compensation$1,515 $734 $3,425 $1,812 

26


Research and Development
Three Months Ended
July 1,
2023
June 25,
2022
$ Change% Change
(Dollars in thousands)
Research and development$28,340 $28,317 $23 0.1 %
% of revenues18.2 %13.9 %
Six Months Ended
July 1,
2023
June 25,
2022
$ Change% Change
(Dollars in thousands)
Research and development$56,585 $55,451 $1,134 2.0 %
% of revenues17.5 %13.8 %

Research and development expenses in the three and six months ended July 1, 2023 increased when compared to the corresponding period in the prior year primarily due to an increase in headcount to support our continued investment in technology leadership. Increased stock-based compensation from timing of grants, salary adjustments, depreciation, and general operational costs also contributed to the increase. These increases were partially offset by lower performance-based compensation and project material costs.

A detail of the changes is as follows (in thousands):
Three Months Ended July 1, 2023 compared to Three Months Ended June 25, 2022Six Months Ended July 1, 2023 compared to Six Months Ended June 25, 2022
Stock-based compensation$668 $1,054 
Project material costs(471)(695)
Employee compensation costs(494)(279)
Depreciation111 374 
Restructuring charges167 — 
Other general operational costs42 680 
$23 $1,134 

Research and development included stock-based compensation expense as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Stock-based compensation$2,363 $1,695 $4,735 $3,681 

27


Selling, General and Administrative
Three Months Ended
July 1,
2023
June 25,
2022
$ Change% Change
(Dollars in thousands)
Selling, general and administrative$33,255 $33,406 $(151)(0.5)%
% of revenues21.3 %16.4 %
Six Months Ended
July 1,
2023
June 25,
2022
$ Change% Change
(Dollars in thousands)
Selling, general and administrative$65,997 $66,312 $(315)(0.5)%
% of revenues20.4 %16.5 %

Selling, general and administrative expenses decreased in the three and six months ended July 1, 2023 when compared to the corresponding period in the prior year, primarily driven by lower performance-based compensation and a reduction of headcount, partially offset by higher stock-based compensation, consulting fees, and general operating expenses.

A detail of the changes is as follows (in thousands):
Three Months Ended July 1, 2023 compared to Three Months Ended June 25, 2022Six Months Ended July 1, 2023 compared to Six Months Ended June 25, 2022
Employee compensation$(2,812)$(5,185)
Stock-based compensation1,397 1,949 
Consulting fees665 818 
General operating expenses599 1,312 
Restructuring charges— 791 
$(151)$(315)

Selling, general and administrative included stock-based compensation expense as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Stock-based compensation$5,326 $3,929 $10,334 $8,385 

Interest Income (Expense), Net
Interest income is earned on our cash, cash equivalents, restricted cash and marketable securities. The increase in interest income for the three and six months ended July 1, 2023 compared with the corresponding period of the prior year was attributable to an increase in investment yields due to the higher interest rate environment.

Interest expense primarily includes interest on our term loan, interest rate swap derivative contracts, and term loan issuance costs amortization charges. The interest expense for the three and six months ended July 1, 2023 compared to the same period of the prior year decreased due to lower outstanding debt.

Other Income, Net
Other income, net, primarily includes the effects of foreign currency impact and various other gains and losses. We partially mitigate our risks from currency movements by hedging certain balance sheet exposures, which minimizes the impacts during periods of foreign exchange volatility.

28


Provision for Income Taxes
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
 (In thousands, except percentages)
Provision (benefit) for income taxes$(208)$3,136 $(160)$7,586 
Effective tax rate(33.5)%9.4 %(8.0)%11.2 %

Provision for income taxes reflects the tax provision on our operations in foreign and U.S. jurisdictions, offset by tax benefits from tax credits and the foreign-derived intangible income (“FDII”) deduction. Our effective tax rate may vary from period to period based on changes in estimated taxable income or loss by jurisdiction, changes to the valuation allowance, changes to U.S. federal, state or foreign tax laws, changes in ASC 718 stock-based compensation expense/benefit, future expansion into areas with varying country, state, and local income tax rates, and deductibility of certain costs and expenses by jurisdiction.

The decrease in our effective tax rate for the three and six months ended July 1, 2023, when compared to the corresponding period in the prior year, was primarily driven by a change within the second quarter of fiscal 2023 to the estimated annual taxable income, including by jurisdiction.

The Creating Helpful Incentives to Produce Semiconductors and Science Act of 2022 (“CHIPS Act”) was signed into law on August 9, 2022. The CHIPS Act provides for various incentives and tax credits among other items, including the Advanced Manufacturing Investment Credit (“AMIC”), which equals 25% of qualified investments in an advanced manufacturing facility that is placed in service after December 31, 2022. At least a portion of our future capital expenditures and research and development costs will qualify for this credit, which benefits us by allowing us to net the credit received against our costs. The AMIC credit is accounted for outside of ASC 740 as a reduction to the depreciable basis of the assets used in operations and will not have an impact on our effective tax rate.

Beginning in 2022, the U.S. Tax Cuts and Jobs Act of 2017 (“TCJA”) eliminated the existing option to deduct research and development expenditures and requires taxpayers to amortize such expenditures attributable to domestic and foreign research over five and fifteen years, respectively, pursuant to IRC Section 174. While the capitalization requirement has a negative impact on our cash flows, there are offsetting benefits from the enactment of this provision that we have included in our estimated annual effective tax rate. While it is possible that Congress may defer, modify, or repeal this provision, potentially with retroactive effect, we have no assurance that this provision will be deferred, modified, or repealed. Changes in our tax provisions or an increase in our tax liabilities, whether due to changes in applicable laws and regulations, the interpretation or application thereof, or a final determination of tax audits or litigation or agreements, could have a material adverse effect on our financial position, results of operations and/or cash flows.


Liquidity and Capital Resources

Capital Resources
Our working capital was $354.2 million at July 1, 2023, compared to $324.9 million at December 31, 2022.

Cash and cash equivalents primarily consist of deposits held at banks and money market funds. Marketable securities primarily consist of corporate bonds, U.S. treasuries, commercial paper, and U.S. agency securities. We typically invest in highly rated securities with low probabilities of default. Our investment policy requires investments to be rated single A or better, and limits the types of acceptable investments, issuer concentration and duration of the investment.

Our cash, cash equivalents and marketable securities totaled approximately $236.9 million at July 1, 2023, compared to $238.1 million at December 31, 2022. Based on our historical results of operations, we expect that our cash, cash equivalents, and marketable securities on hand, and the cash we expect to generate from operations, will be sufficient to fund our short-term and long-term liquidity requirements primarily arising from: research and development, capital expenditures, working capital, outstanding commitments, and other liquidity requirements associated with existing operations. However, we cannot be certain that our cash, cash equivalents, and marketable securities on hand, and cash generated from operations, will be available in the future to fund all of our capital and operating requirements. In addition, any future strategic investments and significant acquisitions may require additional cash and capital resources. To the extent necessary, we may consider entering into short and long-term debt obligations, raising cash through a stock issuance, or obtaining new financing facilities, which may not be available on terms favorable to us. If we are unable to obtain sufficient cash or capital to meet our needs on a timely basis and on favorable terms, our business and operations could be materially and adversely affected.

29


If we are unsuccessful in maintaining or growing our revenues, maintaining or reducing our cost structure, or increasing our available cash through debt or equity financings, our cash, cash equivalents and marketable securities may decline.

We utilize a variety of tax planning and financing strategies to manage our worldwide cash and deploy funds to locations where needed. As part of these strategies, we indefinitely reinvest a portion of our foreign earnings. Should we require additional capital in the United States, we may elect to repatriate indefinitely-reinvested foreign funds or raise capital in the United States.

Cash Flows
The following table sets forth our net cash flows from operating, investing and financing activities:
Six Months Ended
July 1,
2023
June 25,
2022
(In thousands)
Net cash provided by operating activities$34,781 $86,801 
Net cash used in investing activities$(48,464)$(41,111)
Net cash provided by (used in) financing activities$4,049 $(57,263)

Operating Activities 
Net cash provided by operating activities for the six months ended July 1, 2023 was attributable to net income of $2.2 million and net non-cash expenses of $49.1 million, which includes depreciation, amortization, stock-based compensation, and the provision for excess and obsolete inventories, partially offset by an increase in net working capital of $16.5 million. The increase in net working capital related to decreases in accrued liabilities and deferred revenues of $10.6 million and $9.9 million, respectively, and increases in accounts receivable and inventory of $6.8 million and $5.9 million, respectively, partially offset by an increase in deferred grant of $18.0 million.

Investing Activities
Net cash used in investing activities for the six months ended July 1, 2023 primarily related to $40.2 million in property, plant and equipment purchases and $8.3 million in net purchases of marketable securities.

Financing Activities
Net cash provided by financing activities for the six months ended July 1, 2023 primarily related to $5.0 million received from issuances of common stock under our employee stock purchase plan, partially offset by $0.5 million principal payments made towards the repayment of our term loan and $0.5 million related to tax withholdings associated with the net share settlements of our equity awards.

Debt

Building Term Loan
On June 22, 2020, we entered into an $18.0 million 15-year credit facility loan agreement (the “Building Term Loan”). The proceeds of the Building Term Loan were used to purchase a building adjacent to our leased facilities in Livermore, California. On May 19, 2023, we amended the Building Term Loan, replacing the benchmark reference rate London Interbank Offered Rate (“LIBOR“) with the term Secured Overnight Financing Rate (“SOFR”), with no change to the amount or timing of contractual cash flows.

The Building Term Loan bears interest at a rate equal to the applicable SOFR rate, plus 0.1148%, plus 1.75% per annum. Interest payments are payable in monthly installments over a fifteen-year period. The interest rate at July 1, 2023 was 5.17%. As of July 1, 2023, the balance outstanding pursuant to the Building Term Loan was $15.0 million.

On March 17, 2020, we entered into an interest rate swap agreement to hedge the interest payment on the Building Term Loan for the notional amount of $18.0 million, and an amortization period that matches the debt. As future levels of LIBOR over the life of the loan are uncertain, we entered into this interest-rate swap agreement to hedge the exposure in interest rate risks associated with movement in LIBOR rates. By entering into the agreement, we converted a floating-rate interest at one-month LIBOR plus 1.75% into a fixed-rate interest at 2.75%. This agreement was amended on May 19, 2023 to replace the benchmark reference rate LIBOR with the term SOFR to match the Building Term Loan agreement (as amended). After the amendment, the interest rate swap continues to convert our floating-rate interest into a fixed-rate at 2.75%. As of July 1, 2023, the notional amount of the loan that is subject to this interest rate swap is $15.0 million.

30


Stock Repurchase Programs

On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the six months ended June 25, 2022, we repurchased 676,408 shares of common stock for $26.0 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022.

On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the six months ended July 1, 2023, we did not repurchase any shares of common stock. As of July 1, 2023, $18.6 million remained available for future repurchases.

Contractual Obligations and Commitments

The following table summarizes our significant contractual commitments to make future payments in cash under contractual obligations as of July 1, 2023:
Payments Due In Fiscal Year
Remainder
 2023
2024202520262027ThereafterTotal
Operating leases$4,295 $8,667 $8,575 $7,049 $6,631 $3,434 $38,651 
Term loans - principal payments529 1,080 1,111 1,142 1,175 9,940 14,977 
Term loans - interest payments (1)
519 985 900 824 742 2,739 6,709 
Total$5,343 $10,732 $10,586 $9,015 $8,548 $16,113 $60,337 

(1) Represents our minimum interest payment commitments at 5.17% per annum for the Building Term Loan. This excludes any amounts related to our interest rate swap.

Off-Balance Sheet Arrangements
 
Historically, we have not participated in transactions that have generated relationships with unconsolidated entities or financial partnerships, such as entities often referred to as structured finance or special purpose entities, which would have been established for the purpose of facilitating off-balance sheet arrangements or other contractually narrow or limited purposes. As of July 1, 2023, we were not involved in any such off-balance sheet arrangements.

Recent Accounting Standards

For a description of a recent change in accounting standards, including the expected dates of adoption and estimated effects, if any, in our condensed consolidated financial statements, see Note 1, Basis of Presentation and Significant Accounting Policies, in Part I, Item 1 of this Form 10-Q.

Item 3. Quantitative and Qualitative Disclosures about Market Risk
 
For financial market risks related to changes in interest rates and foreign currency exchange rates, reference is made to Item 7A “Quantitative and Qualitative Disclosures about Market Risk” contained in Part II of our Annual Report on Form 10-K for the fiscal year ended December 31, 2022. Our exposure to market risk has not changed materially since December 31, 2022.

Item 4. Controls and Procedures
 
Evaluation of Disclosure Controls and Procedures
 
Based on our management’s evaluation (with the participation of our principal executive officer and principal financial officer), as of the end of the period covered by this report, our principal executive officer and principal financial officer have concluded that our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended, (the “Exchange Act”)) are effective to ensure that information required to be disclosed by us in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in
31


Securities and Exchange Commission rules and forms and is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure.

Changes in Internal Control over Financial Reporting
 
There have been no changes 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 Quarterly Report on Form 10-Q that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Limitations on the Effectiveness of Controls
 
Control systems, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control systems’ objectives are being met. Further, the design of any control systems must reflect the fact that there are resource constraints, and the benefits of all controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within our company have been detected. These inherent limitations include the realities that judgments in decision making can be faulty and that breakdowns can occur because of a simple error or mistake. Control systems can also be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the controls. The design of any system of controls is based, in part, on certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions or deterioration in the degree of compliance with policies or procedures.

CEO and CFO Certifications
 
We have attached as exhibits to this Quarterly Report on Form 10-Q the certifications of our Chief Executive Officer and Chief Financial Officer, which are required in accordance with the Exchange Act. We recommend that this Item 4 be read in conjunction with the certifications for a more complete understanding of the subject matter presented. 

PART II - OTHER INFORMATION
 
Item 1A. Risk Factors

There have been no material changes during the six months ended July 1, 2023 to the risk factors discussed in our Annual Report on Form 10-K for the year ended December 31, 2022. If any of the identified risks actually occur, our business, financial condition and results of operations could suffer. The trading price of our common stock could decline and you may lose all or part of your investment in our common stock. The risks and uncertainties described in our Annual Report on Form 10-K for the year ended December 31, 2022 are not the only ones we face. Additional risks that we currently do not know about or that we currently believe to be immaterial may also impair our business operations.

32


Item 6. Exhibits

The following exhibits are filed herewith and this list constitutes the exhibit index.
Exhibit Incorporated by Reference Filed
NumberExhibit DescriptionFormDate Number Herewith
31.01     X
31.02     X
32.01     *
101
The following financial statements from the Company’s Quarterly Report on Form 10-Q for the quarter ended July 1, 2023, formatted in Inline XBRL: (i) Condensed Consolidated Balance Sheets, (ii) Condensed Consolidated Statements of Income, (iii) Condensed Consolidated Statements of Comprehensive Income, (iv) Condensed Consolidated Statements of Stockholders’ Equity, (v) Condensed Consolidated Statements of Cash Flows, and (vi) Notes to Condensed Consolidated Financial Statements, tagged as blocks of text and including detailed tags
X
101.INSXBRL Instance Document     X
101.SCHXBRL Taxonomy Extension Schema Document     X
101.CALXBRL Taxonomy Extension Calculation Linkbase Document     X
101.DEFXBRL Taxonomy Extension Definition Linkbase Document     X
101.LABXBRL Taxonomy Extension Label Linkbase Document     X
101.PREXBRL Taxonomy Extension Presentation Linkbase Document     X
104
The cover page from the Company’s Quarterly Report on Form 10-Q for the quarter ended July 1, 2023, formatted in Inline XBRL (included as Exhibit 101)
X
 ______________________________________
*    This exhibit shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934 or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference in any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934, whether made before or after the date hereof and irrespective of any general incorporation language in any filings.

33


SIGNATURE
 
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.
 
 FormFactor, Inc.
   
Date:August 8, 2023By:/s/ SHAI SHAHAR
   
  Shai Shahar
  Chief Financial Officer
  (Duly Authorized Officer, Principal Financial Officer, and Principal Accounting Officer)

34
EX-31.01 2 formq223exh3101.htm EX-31.01 Document

Exhibit 31.01

CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO 15 U.S.C. SECTION 7241, AS
ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002


I, Michael D. Slessor, certify that:
 
1.I have reviewed the quarterly report on Form 10-Q of FormFactor, Inc.;

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

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

4.The registrant’s other certifying officer 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 the quarterly report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting.
 
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 8, 2023/s/ MICHAEL D. SLESSOR
Michael D. Slessor
Chief Executive Officer
(Principal Executive Officer and Director)


EX-31.02 3 formq223exh3102.htm EX-31.02 Document

Exhibit 31.02

CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO 15 U.S.C. SECTION 7241,
AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Shai Shahar, certify that:
 
1.I have reviewed the quarterly report on Form 10-Q of FormFactor, Inc.;

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

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

4.The registrant’s other certifying officer 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 the quarterly report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting.
 
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 8, 2023/s/ SHAI SHAHAR
Shai Shahar
Chief Financial Officer
(Principal Financial Officer and Principal Accounting Officer)


EX-32.01 4 formq223exh3201.htm EX-32.01 Document

Exhibit 32.01


CERTIFICATION OF
CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
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 on Form 10-Q of FormFactor, Inc., a Delaware corporation, for the period ended July 1, 2023, as filed with the Securities and Exchange Commission, each of the undersigned officers of FormFactor, Inc. certifies pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to his respective knowledge:
 
1.The quarterly report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and

2.The information contained in the quarterly report fairly presents, in all material respects, the financial condition and results of operations of FormFactor, Inc. for the periods presented therein.
Date:August 8, 2023/s/ MICHAEL D. SLESSOR
Michael D. Slessor
Chief Executive Officer
(Principal Executive Officer and Director)
Date:August 8, 2023/s/ SHAI SHAHAR
Shai Shahar
Chief Financial Officer
(Principal Financial Officer and Principal Accounting Officer)


EX-101.SCH 5 form-20230701.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Concentration of Credit and Other Risks link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Inventories, net link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Restructuring Charges link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Fair Value and Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Warranty link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Property, Plant, and Equipment, net link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Stockholders’ Equity and Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Net Income per Share link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000023 - Disclosure - Operating Segments and Enterprise-Wide Information link:presentationLink link:calculationLink link:definitionLink 9954701 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954702 - Disclosure - Concentration of Credit and Other Risks (Tables) link:presentationLink link:calculationLink link:definitionLink 9954703 - Disclosure - Inventories, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954704 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954705 - Disclosure - Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954706 - Disclosure - Restructuring Charges (Tables) link:presentationLink link:calculationLink link:definitionLink 9954707 - Disclosure - Fair Value and Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954708 - Disclosure - Warranty (Tables) link:presentationLink link:calculationLink link:definitionLink 9954709 - Disclosure - Property, Plant, and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954710 - Disclosure - Stockholders’ Equity and Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954711 - Disclosure - Net Income per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954712 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954713 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables) link:presentationLink link:calculationLink link:definitionLink 9954714 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details) link:presentationLink link:calculationLink link:definitionLink 9954715 - Disclosure - Concentration of Credit and Other Risks (Details) link:presentationLink link:calculationLink link:definitionLink 9954716 - Disclosure - Inventories, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954717 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954718 - Disclosure - Goodwill and Intangible Assets - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 9954719 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954721 - Disclosure - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954722 - Disclosure - Debt (Details) link:presentationLink link:calculationLink link:definitionLink 9954723 - Disclosure - Restructuring Charges - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954724 - Disclosure - Restructuring Charges - Restructuring Charges (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details) link:presentationLink link:calculationLink link:definitionLink 9954726 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) link:presentationLink link:calculationLink link:definitionLink 9954728 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Warranty (Details) link:presentationLink link:calculationLink link:definitionLink 9954730 - Disclosure - Property, Plant, and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954731 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954732 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954733 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - ESPP Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954734 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 9954735 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details) link:presentationLink link:calculationLink link:definitionLink 9954736 - Disclosure - Net Income per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954737 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954738 - Disclosure - Leases - Components of Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954739 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954739 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details) link:presentationLink link:calculationLink link:definitionLink 9954740 - Disclosure - Revenue - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954740 - Disclosure - Revenue - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954741 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954742 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) link:presentationLink link:calculationLink link:definitionLink 9954743 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 form-20230701_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 form-20230701_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 form-20230701_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Variable Rate [Domain] Variable Rate [Domain] Schedule of Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Accrued liabilities Accrued liabilities Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Research and development Research and Development Expense Changes in assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Award Type [Domain] Award Type [Domain] Revenue, remaining performance obligation, expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Beginning balance (in shares) Ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Interest rate at period end Line of Credit Facility, Interest Rate at Period End Debt Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Effect of exchange rate changes on cash, cash equivalents and restricted cash Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Deferred tax liabilities Deferred Income Tax Liabilities, Net Segment Reporting [Abstract] Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Computer equipment and software Computer Equipment [Member] Construction-in-process Construction in Progress, Gross Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Deferred revenue Deferred Revenue, Current Stockholders’ Equity and Stock-Based Compensation Equity [Text Block] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Geographical [Axis] Geographical [Axis] Provision for excess and obsolete inventories Inventory Write-down Settlements Standard and Extended Product Warranty Accrual, Decrease for Payments Accruals Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Restricted cash Restricted Cash and Cash Equivalents, Noncurrent Concentration Risk [Line Items] Concentration Risk [Line Items] Issuance of common stock pursuant to exercise of options (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture Major Customers [Axis] Customer [Axis] Current liabilities: Liabilities, Current [Abstract] Systems Systems Segment [Member] Systems Segment [Member] Weighted Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Purchase of promissory note receivable Payments to Acquire Notes Receivable Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Earnings Per Share, Diluted Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net of allowance for credit losses of $510 and $168 Accounts Receivable, after Allowance for Credit Loss, Current Goodwill [Roll Forward] Goodwill [Roll Forward] Level 3 Fair Value, Inputs, Level 3 [Member] Employee stock purchase plan contributions withheld Accrued Employee Benefits, Current Building and building improvements Building and Building Improvements [Member] Issuance of common stock pursuant to exercise of options Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol U.S. agency securities US Government Agencies Debt Securities [Member] Restructuring Plan [Domain] Restructuring Plan [Domain] Korean Won Korea (South), Won Net income Net income Net Income (Loss) Total current liabilities Liabilities, Current Derivative Contract [Domain] Derivative Contract [Domain] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Four Finite-Lived Intangible Asset, Expected Amortization, after Year Four Leases Lessee, Operating Leases [Text Block] Corporate bonds Corporate Bond Securities [Member] All Currencies [Domain] All Currencies [Domain] LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Employee stock purchase plan Employee Stock [Member] Schedule of ESPP Activity Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block] Stockholders’ equity: Equity, Attributable to Parent [Abstract] Other liabilities Deferred Credits and Other Liabilities, Noncurrent Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Contract with customer, liability Contract with Customer, Liability Schedule of Calculation of Numerator and Denominator in Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Cost of revenues Cost of Goods and Services Sold Foreign exchange derivative contracts Foreign Exchange Contract [Member] Units Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases Change In Capital Expenditures Incurred But Not Yet Paid Change In Capital Expenditures Incurred But Not Yet Paid Level 1 Fair Value, Inputs, Level 1 [Member] Marketable securities Marketable Securities, Current Goodwill Goodwill, beginning balance Goodwill, ending balance Goodwill Schedule of Property, Plant and Equipment Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Accrued liabilities Increase (Decrease) in Accrued Liabilities Certificates of deposit Certificates of Deposit [Member] Existing developed technologies Existing Developed Technologies [Member] Existing Developed Technologies [Member] Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Entity Small Business Entity Small Business 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable 2021 Restructuring Plan 2021 Restructuring Plan [Member] 2021 Restructuring Plan Deferred grant Cash received from grant Deferred Government Grant Liability Deferred Government Grant Liability Derivative, notional amount Derivative, Notional Amount Selling, general and administrative Selling, General and Administrative Expenses [Member] Accounts Receivable Accounts Receivable [Member] Unrealized gains (losses) on available-for-sale marketable securities OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Products transferred at a point in time Transferred at Point in Time [Member] Measurement Frequency [Axis] Measurement Frequency [Axis] Long-term operating lease liabilities Total long-term operating lease liabilities Operating Lease, Liability, Noncurrent Basis of Presentation and Significant Accounting Policies Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block] Restricted cash Restricted Cash and Cash Equivalents, Current Restricted Stock Units Restricted Stock Units (RSUs) [Member] Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Depreciation Depreciation Schedule of Foreign Currency Forward Contracts Schedule of Foreign Exchange Contracts, Statement of Financial Position [Table Text Block] Building Term Loan Building Term Loan [Member] Building Term Loan Income Statement Location [Axis] Income Statement Location [Axis] Additional SOFR Additional SOFR [Member] Additional SOFR Schedule of Future Minimum Payments Under Leases Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Foreign Exchange Forward Foreign Exchange Forward [Member] Europe Europe [Member] Payables and Accruals [Abstract] Payables and Accruals [Abstract] Product and Service [Domain] Product and Service [Domain] Schedule of Components of Lease Expense Lease, Cost [Table Text Block] Inventories Increase (Decrease) in Inventories LIBOR LIBOR [Member] LIBOR Research and development Research and Development Expense [Member] Accrued restructuring charges Accrual at beginning of period Accrual at end of period Restructuring Reserve Securities not included as they would have been antidilutive (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Awards granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Contract Termination & Other Costs Contract Termination [Member] Unrecognized Expense Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Hedging Designation [Axis] Hedging Designation [Axis] Sub-total Property, Plant and Equipment, Gross Goodwill [Line Items] Goodwill [Line Items] Operating lease, right-of-use assets obtained in exchange for lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Remainder of 2023 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Less: interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Axis] Non-cash settlement Restructuring Reserve, Settled without Cash Entity File Number Entity File Number Schedule of Restricted Stock Unit Activity Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Operating lease liabilities Less: current portion Operating Lease, Liability, Current Accrued warranty Product Warranty Accrual, Current Issuance of common stock under the Employee Stock Purchase Plan (in shares) Shares issued (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans Amortization of intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Net Finite-Lived Intangible Assets, Net Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Cash, cash equivalents and restricted cash, beginning of period Cash, cash equivalents and restricted cash, end of period Total cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Asset Class [Axis] Asset Class [Axis] Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Equity Incentive Plan Equity Incentive Plan [Member] Equity Incentive Plan [Member] Variable lease expense Variable Lease, Cost Common stock, shares issued (in shares) Common Stock, Shares, Issued Awards vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Gross profit Gross profit Gross Profit Security Exchange Name Security Exchange Name Total assets Assets measured at fair value on non-recurring basis Assets, Fair Value Disclosure Selling, general and administrative Selling, General and Administrative Expense Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Schedule of Amortization Expense Finite-Lived Intangible Assets Amortization Expense [Table Text Block] Probe Cards Probe Cards Segment [Member] Probe Cards Segment [Member] Average Expected Recognition Period in Years Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Maximum Maximum [Member] Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Restructuring Costs by Reportable Segment Restructuring and Related Costs [Table Text Block] Document Type Document Type 2020 Share Repurchase Program 2020 Share Repurchase Program [Member] 2020 Share Repurchase Program Goodwill, acquired during period Goodwill, Acquired During Period Short-term lease expense Short-Term Lease, Cost Entity Address, Address Line One Entity Address, Address Line One Major Customer 1 Major Customer 1 [Member] Customer 1 [Member] Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Business Acquisition [Axis] Business Acquisition [Axis] Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items] Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items] Revenue, remaining performance obligation, percentage Revenue, Remaining Performance Obligation, Percentage Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Derivative [Table] Derivative [Table] Customer Concentration Risk Customer Concentration Risk [Member] Restricted cash, non-current Restricted Cash, Noncurrent Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Variable Rate [Axis] Variable Rate [Axis] Income Statement [Abstract] Income Statement [Abstract] Performance restricted stock units Performance Restricted Stock Units [Member] Performance Restricted Stock Units [Member] Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Schedule of Restructuring Accrual Activity Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Derivative liability Derivative Liability Operating segments Operating Segments [Member] Gross margin Gross Margin, Percent Gross Margin, Percent Beginning balance (in dollars per share) Ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Entity Tax Identification Number Entity Tax Identification Number Foreign currency translation Goodwill, Foreign Currency Translation Gain (Loss) Inventories, net Inventories Inventory, Net Total lease expense Lease, Cost Purchases of marketable securities Payments to Acquire Marketable Securities Statistical Measurement [Axis] Statistical Measurement [Axis] Land Land [Member] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] DRAM DRAM Product Group [Member] DRAM Product Group [Member] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Reconciliation of cash, cash equivalents and restricted cash: Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract] Purchase of common stock through stock repurchase program Payments for Repurchase of Common Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Japanese Yen Japan, Yen Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Segments [Domain] Segments [Domain] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Accumulated deficit Retained Earnings (Accumulated Deficit) Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Net, property, plant and equipment Property Plant And Equipment Net, Excludes Construction in Progress Property Plant And Equipment Net, Excludes Construction in Progress Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Leases [Abstract] Leases [Abstract] Product Warranties Disclosures [Abstract] Product Warranties Disclosures [Abstract] Entity Address, State or Province Entity Address, State or Province Sell Short [Member] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year One Operating cash outflows from operating leases Operating Lease, Payments Common stock, shares outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding Proceeds from maturities and sales of marketable securities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale Other adjustments to reconcile net income to net cash provided by operating activities Other Operating Activities, Cash Flow Statement Fair Value by Asset Class [Domain] Asset Class [Domain] Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Class of Stock [Domain] Class of Stock [Domain] Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities U.S. treasuries US Treasury Bill Securities [Member] Accrued income and other taxes Taxes Payable Name of Major Customer [Domain] Customer [Domain] Schedule of Inventory Components Schedule of Inventory, Current [Table Text Block] Interest rate swap derivative contracts Interest Rate Swap [Member] Debt Instrument [Axis] Debt Instrument [Axis] Purchase and retirement of common stock through repurchase program Purchase of common stock value retired through repurchase program Stock Repurchased and Retired During Period, Value Present value of net minimum lease payments Operating Lease, Liability Total liabilities Liabilities Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share) Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock Measurement Frequency [Domain] Measurement Frequency [Domain] Property, Plant and Equipment, net Property, Plant and Equipment Disclosure [Text Block] Plan Name [Axis] Plan Name [Axis] Accrued Liabilities Accounts Payable and Accrued Liabilities Disclosure [Text Block] Debt Disclosure [Abstract] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Number of reportable segments Number of Reportable Segments Net income per share: Earnings Per Share [Abstract] Common stock, $0.001 par value Common Stock, Value, Issued China CHINA Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Trade name Trade Names [Member] Other liabilities Increase (Decrease) in Other Deferred Liability Reduction in the carrying amount of right-of-use assets Operating Lease, Right-of-Use Asset, Periodic Reduction Total current assets Assets, Current Intel Corporation Intel [Member] Intel [Member] Thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Four Lessee, Operating Lease, Liability, to be Paid, after Year Four Schedule of Customer Percentage of Revenue Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Other income, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Restructuring Type [Axis] Restructuring Type [Axis] Statement [Table] Statement [Table] Japan JAPAN Foundry & Logic Foundry & Logic Product Group [Member] Foundry & Logic Product Group [Member] Current Fiscal Year End Date Current Fiscal Year End Date Stock repurchase program authorized amount Stock Repurchase Program, Authorized Amount Concentration risk percentage Concentration Risk, Percentage Fair Value, by Balance Sheet Grouping [Table] Fair Value, by Balance Sheet Grouping [Table] Awards granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Restricted cash, current Restricted Cash, Current Schedule of Goodwill by Reportable Segments Schedule of Goodwill [Table Text Block] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Schedule of Estimated Amortization of Intangible Assets Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Class of Stock [Axis] Class of Stock [Axis] Interest payment term Debt Instrument, Interest Payment Term Debt Instrument, Interest Payment Term Nonrecurring Fair Value, Nonrecurring [Member] Other accrued expenses Other Accrued Liabilities, Current Corporate, Non-Segment Corporate, Non-Segment [Member] Flash Flash Product Group [Member] Flash Product Group [Member] Furniture and fixtures Furniture and Fixtures [Member] Euro Dollar Euro Member Countries, Euro Products and services transferred over time Transferred over Time [Member] Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Commercial paper Commercial Paper [Member] Consolidation Items [Axis] Consolidation Items [Axis] Schedule of Finite Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Goodwill, impairment loss Goodwill, Impairment Loss Deferred revenues Increase (Decrease) in Deferred Revenue Restricted stock units Restricted Stock [Member] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Revenue recognized included in contracts Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Concentration Risk Type [Axis] Concentration Risk Type [Axis] Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Fair Value Fair Value Measurement, Policy [Policy Text Block] Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Hedging Designation [Domain] Hedging Designation [Domain] Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Systems Systems Product Group [Member] Systems Product Group [Member] Intangibles, net Intangible Assets, Net (Excluding Goodwill) Schedule of Reconciliation of Changes in Warranty Liability Schedule of Product Warranty Liability [Table Text Block] Interest rate, effective percentage Debt Instrument, Interest Rate, Effective Percentage Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus Malaysia MALAYSIA 2024 Lessee, Operating Lease, Liability, to be Paid, Year One 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Operating lease expense Operating Lease, Expense Stock-based compensation expense Share-Based Payment Arrangement, Noncash Expense October 2020 Stock Repurchase Program October 2020 Stock Repurchase Program [Member] October 2020 Stock Repurchase Program Position [Domain] Position [Domain] Common Stock Common Stock [Member] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Net Income per Share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Stock-based Compensation Stock-based Compensation [Member] Stock-based Compensation Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Operating lease, term of contract Lessee, Operating Lease, Term of Contract Minimum Minimum [Member] Weighted-average number of shares used in per share calculations: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Property, plant and equipment, net of accumulated depreciation Total Property, Plant and Equipment, Net Share Repurchase Program [Domain] Share Repurchase Program [Domain] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Other comprehensive income (loss), net of tax: Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract] ASSETS Assets [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Total liabilities Liabilities measured at fair value on non-recurring basis Liabilities, Fair Value Disclosure Operating lease liabilities Increase (Decrease) in Operating Lease Liability Tax withholdings related to net share settlements of equity awards Payment, Tax Withholding, Share-Based Payment Arrangement Fiscal Year Fiscal Period, Policy [Policy Text Block] Cash paid for income taxes, net Income Taxes Paid, Net Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax assets Deferred Income Tax Assets, Net Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Accumulated Deficit Retained Earnings [Member] Current portion of term loan, net of unamortized issuance costs Long-Term Debt, Current Maturities Schedule of Stock-based Compensation Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Total liabilities and stockholders’ equity Liabilities and Equity Other assets Other Assets, Noncurrent Unrealized gains (losses) on derivative instruments Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax Basic (in dollars per share) Earnings Per Share, Basic Operating lease, right-of-use-assets Operating Lease, Right-of-Use Asset Schedule of Long-term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] Issuance of common stock under the Employee Stock Purchase Plan Stock Issued During Period, Value, Employee Stock Purchase Plan Percent of workforce eliminated Restructuring and Related Cost, Number of Positions Eliminated, Period Percent Warranty Product Warranty Disclosure [Text Block] Remainder of 2023 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Currency [Axis] Currency [Axis] In-process research and development In Process Research and Development [Member] Entity Address, City or Town Entity Address, City or Town Schedule of Operating Results by Segment Schedule of Segment Reporting Information, by Segment [Table Text Block] Restructuring charges Restructuring Charges Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract] Document Transition Report Document Transition Report Amount remaining for future repurchases Stock Repurchase Program, Remaining Authorized Repurchase Amount Rest of the world Rest Of The World [Member] Rest Of The World [Member] Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized SOFR SOFR [Member] SOFR South Korea KOREA, REPUBLIC OF Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Property, Plant and Equipment [Abstract] Derivative Instrument [Axis] Derivative Instrument [Axis] Promissory note receivable Notes Receivable [Member] Two Major Customers Two Major Customers [Member] Two Major Customers Timing of Transfer of Good or Service [Domain] Timing of Transfer of Good or Service [Domain] Derivative [Line Items] Derivative [Line Items] Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Automobiles Automobiles [Member] Derivative contracts Derivative Asset Awards canceled (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Deferred income tax benefit Deferred Income Tax Expense (Benefit) Restructuring Plan [Axis] Restructuring Plan [Axis] Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Deferred grant Increase (Decrease) in Deferred Government Grant Increase (Decrease) in Deferred Government Grant May 2022 Stock Repurchase Program May 2022 Stock Repurchase Program [Member] May 2022 Stock Repurchase Program Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Awards canceled (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Entity Registrant Name Entity Registrant Name Add potentially dilutive securities (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Other assets Increase (Decrease) in Other Operating Assets 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two Schedule of Unrecognized Stock-based Compensation Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block] Cost of revenues Cost of Sales [Member] Employee Severance and Benefits Employee Severance [Member] Cash payments Payments for Restructuring Document Period End Date Document Period End Date Less: Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Revenue from Contract with Customer Benchmark Revenue from Contract with Customer Benchmark [Member] Schedule of Fair Value Assets Measured on Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Weighted average per share purchase price (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Corporate and Other Corporate and Other [Member] Principal repayments on term loans Repayments of Long-Term Debt Entity Central Index Key Entity Central Index Key Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Concentration of Credit and Other Risks Concentration Risk Disclosure [Text Block] Total stock-based compensation Share-Based Payment Arrangement, Expense Gross Finite-Lived Intangible Assets, Gross Provision (benefit) for income taxes Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Designated as hedging instrument Designated as Hedging Instrument [Member] Accrued compensation and benefits Employee-related Liabilities, Current Fair Value and Derivative Instruments Fair Value Disclosures [Text Block] Other Costs Other Restructuring [Member] Revenue Benchmark Revenue Benchmark [Member] Schedule of Disaggregation of Revenue by Segment Disaggregation of Revenue [Table Text Block] Amortization Cost, Amortization Equity [Abstract] Equity [Abstract] Inventories, net Inventory Disclosure [Text Block] Operating lease, weighted average remaining lease term Operating Lease, Weighted Average Remaining Lease Term Risks and Uncertainties [Abstract] Risks and Uncertainties [Abstract] Revenues Revenue from Contract with Customer, Excluding Assessed Tax Woburn Woburn [Member] Woburn Amendment Flag Amendment Flag Goodwill and Intangible Assets Intangible Assets Disclosure [Text Block] Money market funds Money Market Funds [Member] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Acquisition of business Payments to Acquire Businesses, Net of Cash Acquired Operating lease, weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Interest income, net Interest Income (Expense), Net Grant term Deferred Government Grant Liability, Term Deferred Government Grant Liability, Term 2022 Restructuring Plan 2022 Restructuring Plan [Member] 2022 Restructuring Plan Purchase of common stock retired through repurchase program (in shares) Stock Repurchased and Retired During Period, Shares Basis spread on variable rate Debt Instrument, Basis Spread on Variable Rate Long-term debt, term Long-Term Debt, Term Term loan, less current portion, net of unamortized issuance costs Long-Term Debt, Excluding Current Maturities Leasehold improvements Leasehold Improvements [Member] Diluted (in shares) Weighted-average shares used in computing diluted net income per share (in shares) Weighted Average Number of Shares Outstanding, Diluted Interest Rate Contract Interest Rate Contract [Member] Operating expenses: Operating Expenses [Abstract] Revenue Revenue from Contract with Customer [Text Block] Acquisition of property, plant and equipment Payments to Acquire Property, Plant, and Equipment Additional paid-in capital Additional Paid in Capital, Common Stock Additional Paid-in Capital Additional Paid-in Capital [Member] Total assets Assets Share Repurchase Program [Axis] Share Repurchase Program [Axis] Cover page. Cover [Abstract] Position [Axis] Position [Axis] Machinery and equipment Equipment [Member] Inventory Impairments & Other Inventory Related Costs Inventory Impairments [Member] Inventory Impairments [Member] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Restructuring and Related Activities [Abstract] Restructuring and Related Activities [Abstract] Awards vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Performance obligations Revenue, Remaining Performance Obligation, Amount Total operating expenses Operating Expenses Operating Segments and Enterprise-Wide Information Segment Reporting Disclosure [Text Block] Net decrease in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Taiwan Dollar Taiwan, New Dollars Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Operating lease, renewal term Lessee, Operating Lease, Renewal Term Marketable securities Marketable Securities Net Finite Lived Intangible Assets Amortization Expense Total Finite Lived Intangible Assets Amortization Expense Total Equity Component [Domain] Equity Component [Domain] Work-in-progress Inventory, Work in Process, Net of Reserves Contract assets Contract with Customer, Asset, after Allowance for Credit Loss Debt Instrument [Line Items] Debt Instrument [Line Items] Basic (in shares) Weighted-average shares used in computing basic net income per share (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Taiwan TAIWAN Concentration Risk Type [Domain] Concentration Risk Type [Domain] Operating income (loss) Operating Income (Loss) Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Buy Long [Member] Singapore SINGAPORE Proceeds from issuances of common stock Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised Segments [Axis] Segments [Axis] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract] Statement [Line Items] Statement [Line Items] Concentration Risk [Table] Concentration Risk [Table] Other comprehensive income (loss), net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Customer relationships Customer Relationships [Member] Type of Restructuring [Domain] Type of Restructuring [Domain] EX-101.PRE 9 form-20230701_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Cover Page - shares
6 Months Ended
Jul. 01, 2023
Aug. 02, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jul. 01, 2023  
Document Transition Report false  
Entity File Number 000-50307  
Entity Registrant Name FormFactor, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 13-3711155  
Entity Address, Address Line One 7005 Southfront Road  
Entity Address, City or Town Livermore  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94551  
City Area Code 925  
Local Phone Number 290-4000  
Title of 12(b) Security Common stock, $0.001 par value  
Trading Symbol FORM  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   77,656,368
Amendment Flag false  
Entity Central Index Key 0001039399  
Current Fiscal Year End Date --12-30  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q2  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 97,981 $ 109,130
Marketable securities 138,943 129,006
Accounts receivable, net of allowance for credit losses of $510 and $168 94,013 88,143
Inventories, net 120,298 123,157
Restricted cash 1,144 1,221
Prepaid expenses and other current assets 25,876 23,895
Total current assets 478,255 474,552
Restricted cash 2,265 2,631
Operating lease, right-of-use-assets 31,001 31,362
Property, plant and equipment, net of accumulated depreciation 204,577 189,848
Goodwill 211,929 211,444
Intangibles, net 22,149 26,751
Deferred tax assets 71,172 67,646
Other assets 3,790 3,994
Total assets 1,025,138 1,008,228
Current liabilities:    
Accounts payable 63,770 69,308
Accrued liabilities 31,413 42,115
Current portion of term loan, net of unamortized issuance costs 1,150 1,045
Deferred revenue 19,899 29,846
Operating lease liabilities 7,871 7,353
Total current liabilities 124,103 149,667
Term loan, less current portion, net of unamortized issuance costs 13,765 14,389
Deferred tax liabilities 2,704 2,732
Long-term operating lease liabilities 26,458 27,587
Deferred grant 18,000 0
Other liabilities 5,845 5,568
Total liabilities 190,875 199,943
Stockholders’ equity:    
Common stock, $0.001 par value 77 77
Additional paid-in capital 867,517 844,842
Accumulated other comprehensive loss (4,445) (5,578)
Accumulated deficit (28,886) (31,056)
Total stockholders’ equity 834,263 808,285
Total liabilities and stockholders’ equity $ 1,025,138 $ 1,008,228
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Allowance for doubtful accounts $ 510 $ 168
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 250,000,000 250,000,000
Common stock, shares issued (in shares) 77,184,012 76,914,590
Common stock, shares outstanding (in shares) 77,184,012 76,914,590
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Income Statement [Abstract]        
Revenues $ 155,916 $ 203,907 $ 323,364 $ 401,081
Cost of revenues 95,633 109,538 202,003 212,488
Gross profit 60,283 94,369 121,361 188,593
Operating expenses:        
Research and development 28,340 28,317 56,585 55,451
Selling, general and administrative 33,255 33,406 65,997 66,312
Total operating expenses 61,595 61,723 122,582 121,763
Operating income (loss) (1,312) 32,646 (1,221) 66,830
Interest income, net 1,482 181 2,758 127
Other income, net 450 551 473 743
Income before income taxes 620 33,378 2,010 67,700
Provision (benefit) for income taxes (208) 3,136 (160) 7,586
Net income $ 828 $ 30,242 $ 2,170 $ 60,114
Net income per share:        
Basic (in dollars per share) $ 0.01 $ 0.39 $ 0.03 $ 0.77
Diluted (in dollars per share) $ 0.01 $ 0.38 $ 0.03 $ 0.76
Weighted-average number of shares used in per share calculations:        
Basic (in shares) 77,159 77,897 77,112 78,071
Diluted (in shares) 77,616 79,210 77,450 79,423
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Statement of Comprehensive Income [Abstract]        
Net income $ 828 $ 30,242 $ 2,170 $ 60,114
Other comprehensive income (loss), net of tax:        
Translation adjustments (122) (3,856) 710 (6,554)
Unrealized gains (losses) on available-for-sale marketable securities (85) (547) 518 (1,751)
Unrealized gains (losses) on derivative instruments (52) (116) (95) 758
Other comprehensive income (loss), net of tax: (259) (4,519) 1,133 (7,547)
Comprehensive income $ 569 $ 25,723 $ 3,303 $ 52,567
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Loss
Accumulated Deficit
Beginning balance (in shares) at Dec. 25, 2021   78,240,506      
Beginning balance at Dec. 25, 2021 $ 815,780 $ 78 $ 898,945 $ (1,449) $ (81,794)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under the Employee Stock Purchase Plan (in shares)   157,642      
Issuance of common stock under the Employee Stock Purchase Plan 5,645   5,645    
Issuance of common stock pursuant to exercise of options (in shares)   6,000      
Issuance of common stock pursuant to exercise of options 42   42    
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)   234,076      
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (4,243)   (4,243)    
Purchase of common stock retired through repurchase program (in shares)   1,443,491      
Purchase and retirement of common stock through repurchase program (54,328) $ (1) (54,327)    
Stock-based compensation 14,522   14,522    
Other comprehensive income (loss) (7,547)     (7,547)  
Net income 60,114       60,114
Ending balance (in shares) at Jun. 25, 2022   77,194,733      
Ending balance at Jun. 25, 2022 829,985 $ 77 860,584 (8,996) (21,680)
Beginning balance (in shares) at Mar. 26, 2022   78,166,212      
Beginning balance at Mar. 26, 2022 846,673 $ 78 902,994 (4,477) (51,922)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)   231,464      
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (4,171)   (4,171)    
Purchase of common stock retired through repurchase program (in shares)   1,202,943      
Purchase and retirement of common stock through repurchase program (44,931) $ (1) (44,930)    
Stock-based compensation 6,691   6,691    
Other comprehensive income (loss) (4,519)     (4,519)  
Net income 30,242       30,242
Ending balance (in shares) at Jun. 25, 2022   77,194,733      
Ending balance at Jun. 25, 2022 $ 829,985 $ 77 860,584 (8,996) (21,680)
Beginning balance (in shares) at Dec. 31, 2022 76,914,590 76,914,590      
Beginning balance at Dec. 31, 2022 $ 808,285 $ 77 844,842 (5,578) (31,056)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under the Employee Stock Purchase Plan (in shares)   210,055      
Issuance of common stock under the Employee Stock Purchase Plan 5,024   5,024    
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)   59,367      
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (456)   (456)    
Stock-based compensation 18,107   18,107    
Other comprehensive income (loss) 1,133     1,133  
Net income $ 2,170       2,170
Ending balance (in shares) at Jul. 01, 2023 77,184,012 77,184,012      
Ending balance at Jul. 01, 2023 $ 834,263 $ 77 867,517 (4,445) (28,886)
Beginning balance (in shares) at Apr. 01, 2023   77,142,023      
Beginning balance at Apr. 01, 2023 824,372 $ 77 858,195 (4,186) (29,714)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)   41,989      
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (69) $ 0 (69)    
Stock-based compensation 9,391   9,391    
Other comprehensive income (loss) (259)     (259)  
Net income $ 828       828
Ending balance (in shares) at Jul. 01, 2023 77,184,012 77,184,012      
Ending balance at Jul. 01, 2023 $ 834,263 $ 77 $ 867,517 $ (4,445) $ (28,886)
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Cash flows from operating activities:    
Net income $ 2,170 $ 60,114
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation 15,121 14,146
Amortization 4,766 4,702
Reduction in the carrying amount of right-of-use assets 3,914 4,414
Stock-based compensation expense 18,494 13,878
Deferred income tax benefit (3,639) (3,703)
Provision for excess and obsolete inventories 8,628 4,726
Other adjustments to reconcile net income to net cash provided by operating activities 1,801 3,846
Changes in assets and liabilities:    
Accounts receivable (6,830) 5,530
Inventories (5,880) (32,268)
Prepaid expenses and other current assets (1,099) 1,295
Other assets (83) (40)
Accounts payable 3,578 7,521
Accrued liabilities (10,606) 4,102
Other liabilities 456 73
Deferred revenues (9,945) 2,727
Deferred grant 18,000  
Operating lease liabilities (4,065) (4,262)
Net cash provided by operating activities 34,781 86,801
Cash flows from investing activities:    
Acquisition of property, plant and equipment (40,177) (30,116)
Acquisition of business 0 3,121
Purchases of marketable securities (66,650) (52,344)
Purchase of promissory note receivable 0 (1,000)
Proceeds from maturities and sales of marketable securities 58,363 45,470
Net cash used in investing activities (48,464) (41,111)
Cash flows from financing activities:    
Proceeds from issuances of common stock 5,024 5,687
Purchase of common stock through stock repurchase program 0 (54,328)
Tax withholdings related to net share settlements of equity awards (456) (4,243)
Principal repayments on term loans (519) (4,379)
Net cash provided by (used in) financing activities 4,049 (57,263)
Effect of exchange rate changes on cash, cash equivalents and restricted cash (1,958) (3,470)
Net decrease in cash, cash equivalents and restricted cash (11,592) (15,043)
Cash, cash equivalents and restricted cash, beginning of period 112,982 155,342
Cash, cash equivalents and restricted cash, end of period 101,390 140,299
Non-cash investing and financing activities:    
Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases 9,187 4,165
Operating lease, right-of-use assets obtained in exchange for lease obligations 3,635 3,438
Supplemental disclosure of cash flow information:    
Cash paid for income taxes, net 9,427 6,473
Cash paid for interest 212 294
Operating cash outflows from operating leases 4,514 4,379
Reconciliation of cash, cash equivalents and restricted cash:    
Cash and cash equivalents 97,981 136,395
Restricted cash, current 1,144 2,102
Restricted cash, non-current 2,265 1,802
Total cash, cash equivalents and restricted cash $ 101,390 $ 140,299
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Basis of Presentation and Significant Accounting Policies
6 Months Ended
Jul. 01, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation and Significant Accounting Policies Basis of Presentation and Significant Accounting Policies
 
Basis of Presentation
The accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.
 
Fiscal Year 
We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the six months ended July 1, 2023 and June 25, 2022 each contained 26 weeks. Fiscal 2023 will end on December 30, 2023.

Significant Accounting Policies
Our significant accounting policies have not changed during the six months ended July 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022, except for:

Government Assistance
In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.

The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize the Grant when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the Grant is to offset operations.

New Accounting Pronouncements
Reference Rate Reform
In March 2020, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2020-04, “Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.” The ASU provides temporary optional expedients and exceptions for applying GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference the London Interbank Offered Rate (“LIBOR“) or another reference rate expected to be discontinued. In December 2022, the FASB issued ASU 2022-06, “Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,” extending the relief offered in Topic 848 from December 31, 2022 to December 31, 2024, after which entities will no longer be permitted to apply the optional expedients in Topic 848.

In May 2023, the Company entered into a rate replacement amendment to its credit facility loan agreement to replace LIBOR with the Secured Overnight Financing Rate (“SOFR”) and concurrently signed an amendment to modify the floating rate option on its interest rate swap to match that of the debt. The Company applied practical expedients provided in Topic 848 allowing the modified instrument to be accounted for and presented in the same manner as the instrument existing before the modification. These modifications had no significant impact on our financial statements. Refer to Note 6, Debt for further information regarding the terms of the credit facility loan agreement and interest rate swap agreement.
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Concentration of Credit and Other Risks
6 Months Ended
Jul. 01, 2023
Risks and Uncertainties [Abstract]  
Concentration of Credit and Other Risks Concentration of Credit and Other Risks
The following customer accounted for 10% or more of our revenues for the periods indicated:
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Intel Corporation14.2 %20.9 %17.2 %20.9 %
At July 1, 2023 and December 31, 2022, one customer accounted for 15.3% and 13.8% of gross accounts receivable, respectively.
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Inventories, net
6 Months Ended
Jul. 01, 2023
Inventory Disclosure [Abstract]  
Inventories, net Inventories, net
Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.
 
Inventories, net, consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Raw materials$55,491 $55,726 
Work-in-progress44,549 46,067 
Finished goods20,258 21,364 
$120,298 $123,157 
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill and Intangible Assets
6 Months Ended
Jul. 01, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Intangible Assets Goodwill and Intangible Assets
Goodwill by reportable segment was as follows (in thousands):
Probe CardsSystemsTotal
Goodwill, as of December 25, 2021$178,424 $33,875 $212,299 
Addition - Woburn Acquisition— 550 550 
Foreign currency translation— (1,405)(1,405)
Goodwill, as of December 31, 2022178,424 33,020 211,444 
Foreign currency translation— 485 485 
Goodwill, as of July 1, 2023$178,424 $33,505 $211,929 

We have not recorded goodwill impairments for the six months ended July 1, 2023.

Intangible assets were as follows (in thousands):
July 1, 2023December 31, 2022
Intangible Assets GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
Net
Existing developed technologies $171,896 $153,200 $18,696 $171,441 $151,212 $20,229 
Customer relationships51,036 48,085 2,951 50,912 45,003 5,909 
Trade name8,000 7,898 102 7,972 7,759 213 
In-process research and development400 — 400 400 — 400 
$231,332 $209,183 $22,149 $230,725 $203,974 $26,751 
Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Cost of revenues$838 $788 $1,669 $1,596 
Selling, general and administrative1,550 1,545 3,097 3,106 
$2,388 $2,333 $4,766 $4,702 

The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands):
Fiscal YearAmount
Remainder of 2023$2,435 
20244,624 
20254,280 
20263,184 
20272,839 
Thereafter4,387 
$21,749 
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Liabilities
6 Months Ended
Jul. 01, 2023
Payables and Accruals [Abstract]  
Accrued Liabilities Accrued Liabilities
Accrued liabilities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Accrued compensation and benefits$17,386 $15,864 
Employee stock purchase plan contributions withheld4,142 4,585 
Accrued income and other taxes3,944 12,817 
Accrued warranty3,506 4,199 
Accrued restructuring charges207 1,249 
Other accrued expenses2,228 3,401 
$31,413 $42,115 
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Debt
6 Months Ended
Jul. 01, 2023
Debt Disclosure [Abstract]  
Debt Debt
On June 22, 2020, we entered into an $18.0 million 15-year credit facility loan agreement (the “Building Term Loan”) with MUFG Union Bank, National Association (“Union Bank”). The proceeds of the Building Term Loan were used to purchase a building adjacent to our leased facilities in Livermore, California. On May 19, 2023, we amended the Building Term Loan, replacing the benchmark reference rate LIBOR with the term SOFR, with no change to the amount or timing of contractual cash flows.

The Building Term Loan bears interest at a rate equal to the applicable SOFR rate, plus 0.1148%, plus 1.75% per annum. Interest payments are payable in monthly installments over a fifteen-year period. The interest rate at July 1, 2023 was 5.17%.

On March 17, 2020, we entered into an interest rate swap agreement with Union Bank to hedge the interest payment on the Building Term Loan for the notional amount of $18.0 million. As future levels of LIBOR over the life of the loan were uncertain, we entered into this interest-rate swap agreement to hedge the exposure in interest rate risks associated with movement in LIBOR rates. By entering into the agreement, we converted a floating-rate interest at one-month LIBOR plus 1.75% into a fixed-rate interest at 2.75%. This agreement was amended on May 19, 2023 to replace the benchmark reference rate LIBOR with the term SOFR to match the Building Term Loan agreement (as amended). After the amendment, the interest rate swap continues to convert our floating-rate interest into a fixed-rate at 2.75%.
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Restructuring Charges
6 Months Ended
Jul. 01, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring Charges
2022 Restructuring Plan
On October 25, 2022, we adopted a restructuring plan (“2022 restructuring plan”) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce.

The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5 million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.

2021 Restructuring Plan
On September 25, 2021, we adopted restructuring plans (“2021 restructuring plans”) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations.

The Company has recognized 2021 restructuring plans charges of approximately $13.3 million, with $10.1 million within the Probe Cards segment and $3.2 million within the Systems segment, which were comprised of $1.4 million of severance and employee-related costs, $2.0 million in contract and lease termination costs, $9.4 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.

Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$47 $285 $332 $227 $227 $454 
Research and development170 51 221 — 53 53 
Selling, general and administrative59 65 — 74 74 
$223 $395 $618 $227 $354 $581 
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$106 $251 $357 $266 $327 $593 
Research and development182 109 291 — 199 199 
Selling, general and administrative1,069 118 1,187 99 102 
$1,357 $478 $1,835 $269 $625 $894 
Changes to the restructuring accrual in the six months ended July 1, 2023 were as follows (in thousands):
Employee Severance
and Benefits
Stock-based CompensationInventory
Impairments &
Other Inventory
Related Costs
Contract
Termination &
Other Costs
Total
December 31, 2022$1,249 $— $— $— $1,249 
Restructuring charges917 295 390 233 1,835 
Cash payments(1,959)— (89)(233)(2,281)
Non-cash settlement— (295)(301)— (596)
July 1, 2023$207 $— $— $— $207 
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value and Derivative Instruments
6 Months Ended
Jul. 01, 2023
Fair Value Disclosures [Abstract]  
Fair Value and Derivative Instruments Fair Value and Derivative Instruments
Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:
Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;
Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.

We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three and six months ended July 1, 2023 or the year ended December 31, 2022.

The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities.

No changes were made to our valuation techniques during the first six months of fiscal 2023.
Assets and Liabilities Measured at Fair Value on a Recurring Basis
Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): 
July 1, 2023Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$30,179 $— $— $30,179 
U.S. treasuries1,691 — — 1,691 
31,870 — — 31,870 
Marketable securities:
 U.S. treasuries46,803 — — 46,803 
 Certificates of deposit— 235 — 235 
 U.S. agency securities— 14,733 — 14,733 
 Corporate bonds— 53,097 — 53,097 
 Commercial paper— 24,075 — 24,075 
46,803 92,140 — 138,943 
Foreign exchange derivative contracts— 549 — 549 
Promissory note receivable— — 926 926 
Interest rate swap derivative contracts— 2,263 — 2,263 
Total assets$78,673 $94,952 $926 $174,551 
Liabilities:
Foreign exchange derivative contracts$— $(60)$— $(60)
Total liabilities$— $(60)$— $(60)

December 31, 2022Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$21,279 $— $— $21,279 
Commercial paper— 4,969 — 4,969 
U.S. agency securities— 996 — 996 
21,279 5,965 — 27,244 
Marketable securities:
U.S. treasuries25,019 — — 25,019 
Certificates of deposit— 706 — 706 
U.S. agency securities— 11,045 — 11,045 
Corporate bonds— 67,396 — 67,396 
Commercial paper— 24,840 — 24,840 
25,019 103,987 — 129,006 
Foreign exchange derivative contracts— 664 — 664 
Promissory note receivable— — 943 943 
Interest rate swap derivative contracts— 2,374 — 2,374 
Total assets$46,298 $112,990 $943 $160,231 
Liabilities:
Foreign exchange derivative contracts$— $(193)$— $(193)
Total liabilities$— $(193)$— $(193)
 
Cash Equivalents
The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities.

Marketable Securities
We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are
priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.

Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.

Interest Rate Swaps
The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets.

Foreign Exchange Derivative Contracts
We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses.

We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction.

The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at July 1, 2023 will mature by the second quarter of fiscal 2024.

The following table provides information about our foreign currency forward contracts outstanding as of July 1, 2023 (in thousands):
CurrencyContract PositionContract Amount
(Local Currency)
Contract Amount
(U.S. Dollars)
Euro DollarBuy18,558 $19,903 
Euro DollarSell1,077 1,176 
Japanese YenSell3,104,537 21,583 
Korean WonBuy1,258,185 962 
Taiwan DollarSell31,197 1,001 

Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.

Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis
We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business
acquisition. Other than as discussed in Note 7, Restructuring Charges, there were no assets or liabilities measured at fair value on a nonrecurring basis during the three and six months ended July 1, 2023 or June 25, 2022.
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Warranty
6 Months Ended
Jul. 01, 2023
Product Warranties Disclosures [Abstract]  
Warranty Warranty
We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.

Changes in our warranty liability were as follows (in thousands):
Six Months Ended
July 1,
2023
June 25,
2022
Balance at beginning of period$4,199 $2,805 
Accruals2,934 3,846 
Settlements(3,627)(2,673)
Balance at end of period$3,506 $3,978 
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant, and Equipment, net
6 Months Ended
Jul. 01, 2023
Property, Plant and Equipment [Abstract]  
Property, Plant and Equipment, net Property, Plant and Equipment, net
Property, plant and equipment, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Land$17,136 $17,136 
Building and building improvements44,452 44,932 
Machinery and equipment 284,837 276,180 
Computer equipment and software46,774 45,813 
Furniture and fixtures 7,468 7,540 
Leasehold improvements 88,416 86,500 
Sub-total 489,083 478,101 
Less: Accumulated depreciation and amortization (349,123)(335,711)
Net, property, plant and equipment 139,960 142,390 
Construction-in-process64,617 47,458 
Total$204,577 $189,848 
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation
3 Months Ended
Jul. 01, 2023
Equity [Abstract]  
Stockholders’ Equity and Stock-Based Compensation Stockholders’ Equity and Stock-Based Compensation
Common Stock Repurchase Programs
On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the six months ended June 25, 2022, we repurchased 676,408 shares of common stock for $26.0 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022.

On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the six months ended July 1, 2023, we did not repurchase any common stock. As of July 1, 2023, $18.6 million remained available for future repurchases.
Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.

Restricted Stock Units
Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:
UnitsWeighted Average Grant Date Fair Value
RSUs at December 31, 20222,227,081 $35.28 
Awards granted1,014,619 30.97 
Awards vested(75,144)37.76 
Awards forfeited(122,881)35.09 
RSUs at July 1, 20233,043,675 33.78 

Performance Restricted Stock Units
We may grant Performance RSUs (“PRSUs”) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the six months ended July 1, 2023. PRSUs are included as part of the RSU activity above.

Employee Stock Purchase Plan
Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows:
 Six Months Ended
 July 1, 2023
Shares issued210,055 
Weighted average per share purchase price$23.92 
Weighted average per share discount from the fair value of our common stock on the date of issuance$(4.22)

Stock-Based Compensation
Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Cost of revenues$1,515 $734 $3,425 $1,812 
Research and development2,363 1,695 4,735 3,681 
Selling, general and administrative5,326 3,929 10,334 8,385 
Total stock-based compensation$9,204 $6,358 $18,494 $13,878 
 
Unrecognized Compensation Costs
At July 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): 
Unrecognized ExpenseAverage Expected
Recognition Period
in Years
Restricted stock units$60,794 2.28
Performance restricted stock units7,789 1.72
Employee stock purchase plan246 0.09
Total unrecognized stock-based compensation expense$68,829 2.22
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income per Share
6 Months Ended
Jul. 01, 2023
Earnings Per Share [Abstract]  
Net Income per Share Net Income per Share
The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Weighted-average shares used in computing basic net income per share77,159 77,897 77,112 78,071 
Add potentially dilutive securities457 1,313 338 1,352 
Weighted-average shares used in computing diluted net income per share77,616 79,210 77,450 79,423 
Securities not included as they would have been antidilutive486 23 343 — 
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies
6 Months Ended
Jul. 01, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Leases
See Note 14, Leases.

Contractual Obligations and Commitments
Our contractual obligations and commitments have not materially changed as of July 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022.

Legal Matters
From time to time, we are subject to legal proceedings and claims in the ordinary course of business, the outcomes of which cannot be estimated with certainty. Our ability to estimate the outcomes may change in the near term and the effect of any such change could have a material adverse effect on our financial position, results of operations or cash flows.
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Leases
6 Months Ended
Jul. 01, 2023
Leases [Abstract]  
Leases Leases
We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of July 1, 2023 and the weighted-average discount rate was 4.28%.

The components of lease expense were as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Lease expense:
Operating lease expense$2,124 $2,183 $4,076 $4,404 
Short-term lease expense136 76 293 116 
Variable lease expense483 677 1,229 1,135 
$2,743 $2,936 $5,598 $5,655 
Future minimum payments under our non-cancelable operating leases were as follows as of July 1, 2023 (in thousands):
Fiscal YearAmount
Remainder of 2023$4,295 
20248,667 
20258,575 
20267,049 
20276,631 
Thereafter3,434 
  Total minimum lease payments38,651 
Less: interest(4,322)
  Present value of net minimum lease payments34,329 
Less: current portion(7,871)
  Total long-term operating lease liabilities$26,458 
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue
6 Months Ended
Jul. 01, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
Transaction price allocated to the remaining performance obligations: On July 1, 2023, we had $9.4 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered. We expect to recognize approximately 46.7% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 45.8% in fiscal 2024, and approximately 7.5% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.

Contract balances: The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of July 1, 2023 and December 31, 2022 were $4.1 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.

Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of July 1, 2023 and December 31, 2022 were $21.0 million and $30.9 million, respectively. During the six months ended July 1, 2023, we recognized $21.5 million of revenue that was included in contract liabilities as of December 31, 2022.

Costs to obtain a contract: We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year.
Revenue by category: Refer to Note 16, Operating Segments and Enterprise-Wide Information, for further details.
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Operating Segments and Enterprise-Wide Information
6 Months Ended
Jul. 01, 2023
Segment Reporting [Abstract]  
Operating Segments and Enterprise-Wide Information Operating Segments and Enterprise-Wide InformationOur chief operating decision maker (“CODM”) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting
of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$115,303 $40,613 $— $155,916 $167,708 $36,199 $— $203,907 
Gross profit 42,112 21,124 (2,953)60,283 78,420 18,276 (2,327)94,369 
Gross margin36.5 %52.0 %38.7 %46.8 %50.5 %46.3 %
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$242,631 $80,733 $— $323,364 $327,691 $73,390 $— $401,081 
Gross profit 85,735 41,870 (6,244)121,361 155,622 37,683 (4,712)188,593 
Gross margin35.3 %51.9 %37.5 %47.5 %51.3 %47.0 %

Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures.

Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.

Certain revenue category information by reportable segment was as follows (in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$81,967 $— $81,967 $122,380 $— $122,380 
DRAM30,464 — 30,464 36,843 — 36,843 
Flash2,872 — 2,872 8,485 — 8,485 
Systems— 40,613 40,613 — 36,199 36,199 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Timing of revenue recognition:
Products transferred at a point in time$112,985 $40,040 $153,025 $166,701 $33,081 $199,782 
Products and services transferred over time2,318 573 2,891 1,007 3,118 4,125 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Geographical region:
United States$31,131 $11,542 $42,673 $21,539 $9,703 $31,242 
Taiwan25,316 4,196 29,512 45,188 4,832 50,020 
South Korea26,455 1,408 27,863 27,418 1,337 28,755 
China16,516 6,992 23,508 40,578 9,157 49,735 
Europe2,415 8,401 10,816 3,824 4,267 8,091 
Japan3,902 4,030 7,932 6,716 3,221 9,937 
Malaysia6,177 500 6,677 16,157 87 16,244 
Singapore1,718 1,105 2,823 5,131 1,977 7,108 
Rest of the world1,673 2,439 4,112 1,157 1,618 2,775 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$183,529 $— $183,529 $236,501 $— $236,501 
DRAM50,354 — 50,354 71,280 — 71,280 
Flash8,748 — 8,748 19,910 — 19,910 
Systems— 80,733 80,733 — 73,390 73,390 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Timing of revenue recognition:
Products transferred at a point in time$236,903 $79,510 $316,413 $325,537 $68,497 $394,034 
Products and services transferred over time5,728 1,223 6,951 2,154 4,893 7,047 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Geographical region:
United States$55,772 $24,632 $80,404 $41,515 $15,374 $56,889 
Taiwan64,213 5,628 69,841 87,710 15,379 103,089 
China34,992 15,615 50,607 73,369 14,765 88,134 
South Korea46,027 2,611 48,638 52,299 3,957 56,256 
Europe5,841 14,401 20,242 6,206 10,280 16,486 
Japan11,038 7,871 18,909 11,501 7,818 19,319 
Malaysia16,501 1,446 17,947 37,674 769 38,443 
Singapore4,918 3,245 8,163 15,415 2,589 18,004 
Rest of the world3,329 5,284 8,613 2,002 2,459 4,461 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Basis of Presentation and Significant Accounting Policies (Policies)
6 Months Ended
Jul. 01, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation Basis of PresentationThe accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.
Fiscal Year
Fiscal Year 
We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the six months ended July 1, 2023 and June 25, 2022 each contained 26 weeks. Fiscal 2023 will end on December 30, 2023.
Fair Value
Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:
Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;
Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.

We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three and six months ended July 1, 2023 or the year ended December 31, 2022.

The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities.

No changes were made to our valuation techniques during the first six months of fiscal 2023.
Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis
We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business
acquisition.
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Concentration of Credit and Other Risks (Tables)
6 Months Ended
Jul. 01, 2023
Risks and Uncertainties [Abstract]  
Schedule of Customer Percentage of Revenue
The following customer accounted for 10% or more of our revenues for the periods indicated:
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Intel Corporation14.2 %20.9 %17.2 %20.9 %
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Inventories, net (Tables)
6 Months Ended
Jul. 01, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventory Components
Inventories, net, consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Raw materials$55,491 $55,726 
Work-in-progress44,549 46,067 
Finished goods20,258 21,364 
$120,298 $123,157 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill and Intangible Assets (Tables)
6 Months Ended
Jul. 01, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill by Reportable Segments
Goodwill by reportable segment was as follows (in thousands):
Probe CardsSystemsTotal
Goodwill, as of December 25, 2021$178,424 $33,875 $212,299 
Addition - Woburn Acquisition— 550 550 
Foreign currency translation— (1,405)(1,405)
Goodwill, as of December 31, 2022178,424 33,020 211,444 
Foreign currency translation— 485 485 
Goodwill, as of July 1, 2023$178,424 $33,505 $211,929 
Schedule of Intangible Assets
Intangible assets were as follows (in thousands):
July 1, 2023December 31, 2022
Intangible Assets GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
Net
Existing developed technologies $171,896 $153,200 $18,696 $171,441 $151,212 $20,229 
Customer relationships51,036 48,085 2,951 50,912 45,003 5,909 
Trade name8,000 7,898 102 7,972 7,759 213 
In-process research and development400 — 400 400 — 400 
$231,332 $209,183 $22,149 $230,725 $203,974 $26,751 
Schedule of Amortization Expense
Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):
 Three Months EndedSix Months Ended
 July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Cost of revenues$838 $788 $1,669 $1,596 
Selling, general and administrative1,550 1,545 3,097 3,106 
$2,388 $2,333 $4,766 $4,702 
Schedule of Estimated Amortization of Intangible Assets
The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands):
Fiscal YearAmount
Remainder of 2023$2,435 
20244,624 
20254,280 
20263,184 
20272,839 
Thereafter4,387 
$21,749 
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Liabilities (Tables)
6 Months Ended
Jul. 01, 2023
Payables and Accruals [Abstract]  
Schedule of Accrued Liabilities
Accrued liabilities consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Accrued compensation and benefits$17,386 $15,864 
Employee stock purchase plan contributions withheld4,142 4,585 
Accrued income and other taxes3,944 12,817 
Accrued warranty3,506 4,199 
Accrued restructuring charges207 1,249 
Other accrued expenses2,228 3,401 
$31,413 $42,115 
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Restructuring Charges (Tables)
6 Months Ended
Jul. 01, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Costs by Reportable Segment
Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$47 $285 $332 $227 $227 $454 
Research and development170 51 221 — 53 53 
Selling, general and administrative59 65 — 74 74 
$223 $395 $618 $227 $354 $581 
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$106 $251 $357 $266 $327 $593 
Research and development182 109 291 — 199 199 
Selling, general and administrative1,069 118 1,187 99 102 
$1,357 $478 $1,835 $269 $625 $894 
Schedule of Restructuring Accrual Activity
Changes to the restructuring accrual in the six months ended July 1, 2023 were as follows (in thousands):
Employee Severance
and Benefits
Stock-based CompensationInventory
Impairments &
Other Inventory
Related Costs
Contract
Termination &
Other Costs
Total
December 31, 2022$1,249 $— $— $— $1,249 
Restructuring charges917 295 390 233 1,835 
Cash payments(1,959)— (89)(233)(2,281)
Non-cash settlement— (295)(301)— (596)
July 1, 2023$207 $— $— $— $207 
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value and Derivative Instruments (Tables)
6 Months Ended
Jul. 01, 2023
Fair Value Disclosures [Abstract]  
Schedule of Fair Value Assets Measured on Recurring Basis
Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): 
July 1, 2023Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$30,179 $— $— $30,179 
U.S. treasuries1,691 — — 1,691 
31,870 — — 31,870 
Marketable securities:
 U.S. treasuries46,803 — — 46,803 
 Certificates of deposit— 235 — 235 
 U.S. agency securities— 14,733 — 14,733 
 Corporate bonds— 53,097 — 53,097 
 Commercial paper— 24,075 — 24,075 
46,803 92,140 — 138,943 
Foreign exchange derivative contracts— 549 — 549 
Promissory note receivable— — 926 926 
Interest rate swap derivative contracts— 2,263 — 2,263 
Total assets$78,673 $94,952 $926 $174,551 
Liabilities:
Foreign exchange derivative contracts$— $(60)$— $(60)
Total liabilities$— $(60)$— $(60)

December 31, 2022Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$21,279 $— $— $21,279 
Commercial paper— 4,969 — 4,969 
U.S. agency securities— 996 — 996 
21,279 5,965 — 27,244 
Marketable securities:
U.S. treasuries25,019 — — 25,019 
Certificates of deposit— 706 — 706 
U.S. agency securities— 11,045 — 11,045 
Corporate bonds— 67,396 — 67,396 
Commercial paper— 24,840 — 24,840 
25,019 103,987 — 129,006 
Foreign exchange derivative contracts— 664 — 664 
Promissory note receivable— — 943 943 
Interest rate swap derivative contracts— 2,374 — 2,374 
Total assets$46,298 $112,990 $943 $160,231 
Liabilities:
Foreign exchange derivative contracts$— $(193)$— $(193)
Total liabilities$— $(193)$— $(193)
Schedule of Foreign Currency Forward Contracts
The following table provides information about our foreign currency forward contracts outstanding as of July 1, 2023 (in thousands):
CurrencyContract PositionContract Amount
(Local Currency)
Contract Amount
(U.S. Dollars)
Euro DollarBuy18,558 $19,903 
Euro DollarSell1,077 1,176 
Japanese YenSell3,104,537 21,583 
Korean WonBuy1,258,185 962 
Taiwan DollarSell31,197 1,001 
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Warranty (Tables)
6 Months Ended
Jul. 01, 2023
Product Warranties Disclosures [Abstract]  
Schedule of Reconciliation of Changes in Warranty Liability
Changes in our warranty liability were as follows (in thousands):
Six Months Ended
July 1,
2023
June 25,
2022
Balance at beginning of period$4,199 $2,805 
Accruals2,934 3,846 
Settlements(3,627)(2,673)
Balance at end of period$3,506 $3,978 
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant, and Equipment, net (Tables)
6 Months Ended
Jul. 01, 2023
Property, Plant and Equipment [Abstract]  
Schedule of Property, Plant and Equipment
Property, plant and equipment, net consisted of the following (in thousands):
July 1,
2023
December 31,
2022
Land$17,136 $17,136 
Building and building improvements44,452 44,932 
Machinery and equipment 284,837 276,180 
Computer equipment and software46,774 45,813 
Furniture and fixtures 7,468 7,540 
Leasehold improvements 88,416 86,500 
Sub-total 489,083 478,101 
Less: Accumulated depreciation and amortization (349,123)(335,711)
Net, property, plant and equipment 139,960 142,390 
Construction-in-process64,617 47,458 
Total$204,577 $189,848 
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation (Tables)
6 Months Ended
Jul. 01, 2023
Equity [Abstract]  
Schedule of Restricted Stock Unit Activity
Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:
UnitsWeighted Average Grant Date Fair Value
RSUs at December 31, 20222,227,081 $35.28 
Awards granted1,014,619 30.97 
Awards vested(75,144)37.76 
Awards forfeited(122,881)35.09 
RSUs at July 1, 20233,043,675 33.78 
Schedule of ESPP Activity
Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows:
 Six Months Ended
 July 1, 2023
Shares issued210,055 
Weighted average per share purchase price$23.92 
Weighted average per share discount from the fair value of our common stock on the date of issuance$(4.22)
Schedule of Stock-based Compensation
Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Cost of revenues$1,515 $734 $3,425 $1,812 
Research and development2,363 1,695 4,735 3,681 
Selling, general and administrative5,326 3,929 10,334 8,385 
Total stock-based compensation$9,204 $6,358 $18,494 $13,878 
Schedule of Unrecognized Stock-based Compensation
At July 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): 
Unrecognized ExpenseAverage Expected
Recognition Period
in Years
Restricted stock units$60,794 2.28
Performance restricted stock units7,789 1.72
Employee stock purchase plan246 0.09
Total unrecognized stock-based compensation expense$68,829 2.22
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income per Share (Tables)
6 Months Ended
Jul. 01, 2023
Earnings Per Share [Abstract]  
Schedule of Calculation of Numerator and Denominator in Earnings Per Share
The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Weighted-average shares used in computing basic net income per share77,159 77,897 77,112 78,071 
Add potentially dilutive securities457 1,313 338 1,352 
Weighted-average shares used in computing diluted net income per share77,616 79,210 77,450 79,423 
Securities not included as they would have been antidilutive486 23 343 — 
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Tables)
6 Months Ended
Jul. 01, 2023
Leases [Abstract]  
Schedule of Components of Lease Expense The components of lease expense were as follows (in thousands):
Three Months EndedSix Months Ended
July 1,
2023
June 25,
2022
July 1,
2023
June 25,
2022
Lease expense:
Operating lease expense$2,124 $2,183 $4,076 $4,404 
Short-term lease expense136 76 293 116 
Variable lease expense483 677 1,229 1,135 
$2,743 $2,936 $5,598 $5,655 
Schedule of Future Minimum Payments Under Leases
Future minimum payments under our non-cancelable operating leases were as follows as of July 1, 2023 (in thousands):
Fiscal YearAmount
Remainder of 2023$4,295 
20248,667 
20258,575 
20267,049 
20276,631 
Thereafter3,434 
  Total minimum lease payments38,651 
Less: interest(4,322)
  Present value of net minimum lease payments34,329 
Less: current portion(7,871)
  Total long-term operating lease liabilities$26,458 
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Operating Segments and Enterprise-Wide Information (Tables)
6 Months Ended
Jul. 01, 2023
Segment Reporting [Abstract]  
Schedule of Operating Results by Segment The following table summarizes the operating results by reportable segment (dollars in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$115,303 $40,613 $— $155,916 $167,708 $36,199 $— $203,907 
Gross profit 42,112 21,124 (2,953)60,283 78,420 18,276 (2,327)94,369 
Gross margin36.5 %52.0 %38.7 %46.8 %50.5 %46.3 %
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$242,631 $80,733 $— $323,364 $327,691 $73,390 $— $401,081 
Gross profit 85,735 41,870 (6,244)121,361 155,622 37,683 (4,712)188,593 
Gross margin35.3 %51.9 %37.5 %47.5 %51.3 %47.0 %
Schedule of Disaggregation of Revenue by Segment Certain revenue category information by reportable segment was as follows (in thousands):
Three Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$81,967 $— $81,967 $122,380 $— $122,380 
DRAM30,464 — 30,464 36,843 — 36,843 
Flash2,872 — 2,872 8,485 — 8,485 
Systems— 40,613 40,613 — 36,199 36,199 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Timing of revenue recognition:
Products transferred at a point in time$112,985 $40,040 $153,025 $166,701 $33,081 $199,782 
Products and services transferred over time2,318 573 2,891 1,007 3,118 4,125 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Geographical region:
United States$31,131 $11,542 $42,673 $21,539 $9,703 $31,242 
Taiwan25,316 4,196 29,512 45,188 4,832 50,020 
South Korea26,455 1,408 27,863 27,418 1,337 28,755 
China16,516 6,992 23,508 40,578 9,157 49,735 
Europe2,415 8,401 10,816 3,824 4,267 8,091 
Japan3,902 4,030 7,932 6,716 3,221 9,937 
Malaysia6,177 500 6,677 16,157 87 16,244 
Singapore1,718 1,105 2,823 5,131 1,977 7,108 
Rest of the world1,673 2,439 4,112 1,157 1,618 2,775 
Total$115,303 $40,613 $155,916 $167,708 $36,199 $203,907 
Six Months Ended
July 1, 2023June 25, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$183,529 $— $183,529 $236,501 $— $236,501 
DRAM50,354 — 50,354 71,280 — 71,280 
Flash8,748 — 8,748 19,910 — 19,910 
Systems— 80,733 80,733 — 73,390 73,390 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Timing of revenue recognition:
Products transferred at a point in time$236,903 $79,510 $316,413 $325,537 $68,497 $394,034 
Products and services transferred over time5,728 1,223 6,951 2,154 4,893 7,047 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
Geographical region:
United States$55,772 $24,632 $80,404 $41,515 $15,374 $56,889 
Taiwan64,213 5,628 69,841 87,710 15,379 103,089 
China34,992 15,615 50,607 73,369 14,765 88,134 
South Korea46,027 2,611 48,638 52,299 3,957 56,256 
Europe5,841 14,401 20,242 6,206 10,280 16,486 
Japan11,038 7,871 18,909 11,501 7,818 19,319 
Malaysia16,501 1,446 17,947 37,674 769 38,443 
Singapore4,918 3,245 8,163 15,415 2,589 18,004 
Rest of the world3,329 5,284 8,613 2,002 2,459 4,461 
Total$242,631 $80,733 $323,364 $327,691 $73,390 $401,081 
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Basis of Presentation and Significant Accounting Policies (Details) - USD ($)
$ in Thousands
1 Months Ended
Jan. 31, 2023
Jul. 01, 2023
Dec. 31, 2022
Organization, Consolidation and Presentation of Financial Statements [Abstract]      
Cash received from grant $ 18,000 $ 18,000 $ 0
Grant term 5 years    
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Concentration of Credit and Other Risks (Details) - Customer Concentration Risk
3 Months Ended 6 Months Ended
Jul. 01, 2023
Apr. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Revenue Benchmark | Two Major Customers          
Concentration Risk [Line Items]          
Concentration risk percentage       10.00% 10.00%
Revenue from Contract with Customer Benchmark | Intel Corporation          
Concentration Risk [Line Items]          
Concentration risk percentage 14.20%   20.90% 17.20% 20.90%
Accounts Receivable | Major Customer 1          
Concentration Risk [Line Items]          
Concentration risk percentage   13.80%   15.30%  
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Inventories, net (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Raw materials $ 55,491 $ 55,726
Work-in-progress 44,549 46,067
Finished goods 20,258 21,364
Inventories $ 120,298 $ 123,157
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill and Intangible Assets - Goodwill (Details) - USD ($)
$ in Thousands
6 Months Ended 9 Months Ended
Jul. 01, 2023
Sep. 24, 2022
Goodwill [Roll Forward]    
Goodwill, beginning balance $ 211,444 $ 212,299
Foreign currency translation 485 (1,405)
Goodwill, ending balance 211,929  
Woburn    
Goodwill [Roll Forward]    
Goodwill, acquired during period   550
Probe Cards    
Goodwill [Roll Forward]    
Goodwill, beginning balance 178,424 178,424
Foreign currency translation 0 0
Goodwill, ending balance 178,424  
Probe Cards | Woburn    
Goodwill [Roll Forward]    
Goodwill, acquired during period   0
Systems    
Goodwill [Roll Forward]    
Goodwill, beginning balance 33,020 33,875
Foreign currency translation 485 (1,405)
Goodwill, ending balance $ 33,505  
Systems | Woburn    
Goodwill [Roll Forward]    
Goodwill, acquired during period   $ 550
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill and Intangible Assets - Additional information (Details)
6 Months Ended
Jul. 01, 2023
USD ($)
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill, impairment loss $ 0
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Gross $ 231,332 $ 230,725
Accumulated Amortization 209,183 203,974
Net 22,149 26,751
Existing developed technologies    
Finite-Lived Intangible Assets [Line Items]    
Gross 171,896 171,441
Accumulated Amortization 153,200 151,212
Net 18,696 20,229
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross 51,036 50,912
Accumulated Amortization 48,085 45,003
Net 2,951 5,909
Trade name    
Finite-Lived Intangible Assets [Line Items]    
Gross 8,000 7,972
Accumulated Amortization 7,898 7,759
Net 102 213
In-process research and development    
Finite-Lived Intangible Assets [Line Items]    
Gross 400 400
Accumulated Amortization 0 0
Net $ 400 $ 400
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill and Intangible Assets - Amortization Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Property, Plant and Equipment [Line Items]        
Amortization of intangible assets $ 2,388 $ 2,333 $ 4,766 $ 4,702
Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]        
Remainder of 2023 2,435   2,435  
2024 4,624   4,624  
2025 4,280   4,280  
2026 3,184   3,184  
2027 2,839   2,839  
Thereafter 4,387   4,387  
Net 21,749   21,749  
Cost of revenues        
Property, Plant and Equipment [Line Items]        
Amortization of intangible assets 838 788 1,669 1,596
Selling, general and administrative        
Property, Plant and Equipment [Line Items]        
Amortization of intangible assets $ 1,550 $ 1,545 $ 3,097 $ 3,106
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued Liabilities (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Payables and Accruals [Abstract]    
Accrued compensation and benefits $ 17,386 $ 15,864
Accrued income and other taxes 3,944 12,817
Accrued warranty 3,506 4,199
Employee stock purchase plan contributions withheld 4,142 4,585
Accrued restructuring charges 207 1,249
Other accrued expenses 2,228 3,401
Accrued liabilities $ 31,413 $ 42,115
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Debt (Details) - Building Term Loan - USD ($)
$ in Millions
Jun. 22, 2020
Mar. 17, 2020
Jul. 01, 2023
Debt Instrument [Line Items]      
Interest rate at period end     5.17%
Maximum borrowing capacity $ 18.0    
Long-term debt, term 15 years    
Interest payment term 15 years    
Interest rate, effective percentage   2.75%  
Interest Rate Contract      
Debt Instrument [Line Items]      
Derivative, notional amount   $ 18.0  
SOFR      
Debt Instrument [Line Items]      
Basis spread on variable rate 1.75%    
Additional SOFR      
Debt Instrument [Line Items]      
Basis spread on variable rate 0.1148%    
LIBOR      
Debt Instrument [Line Items]      
Basis spread on variable rate   1.75%  
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Restructuring Charges - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 5 Months Ended 6 Months Ended 18 Months Ended
Oct. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Apr. 01, 2023
Jul. 01, 2023
Jun. 25, 2022
Apr. 01, 2023
Restructuring Cost and Reserve [Line Items]              
Restructuring charges   $ 618 $ 581   $ 1,835 $ 894  
Stock-based Compensation              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges         295    
Employee Severance and Benefits              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges         917    
Contract Termination & Other Costs              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges         233    
Inventory Impairments & Other Inventory Related Costs              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges         390    
Probe Cards              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges   223 227   1,357 269  
Systems              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges   $ 395 $ 354   $ 478 $ 625  
2022 Restructuring Plan              
Restructuring Cost and Reserve [Line Items]              
Percent of workforce eliminated 13.00%            
Restructuring charges       $ 8,100      
2022 Restructuring Plan | Stock-based Compensation              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges       300      
2022 Restructuring Plan | Corporate, Non-Segment              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges       500      
2022 Restructuring Plan | Probe Cards              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges       7,100      
2022 Restructuring Plan | Systems              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges       $ 500      
2021 Restructuring Plan              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             $ 13,300
2021 Restructuring Plan | Employee Severance and Benefits              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             1,400
2021 Restructuring Plan | Contract Termination & Other Costs              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             2,000
2021 Restructuring Plan | Inventory Impairments & Other Inventory Related Costs              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             9,400
2021 Restructuring Plan | Other Costs              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             500
2021 Restructuring Plan | Probe Cards              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             10,100
2021 Restructuring Plan | Systems              
Restructuring Cost and Reserve [Line Items]              
Restructuring charges             $ 3,200
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Restructuring Charges - Restructuring Charges (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Dec. 31, 2022
Restructuring Cost and Reserve [Line Items]          
Restructuring charges $ 618 $ 581 $ 1,835 $ 894  
Accrued restructuring charges 207   207   $ 1,249
Cash payments     (2,281)    
Non-cash settlement     (596)    
Cost of revenues          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 332 454 357 593  
Research and development          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 221 53 291 199  
Selling, general and administrative          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 65 74 1,187 102  
Probe Cards          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 223 227 1,357 269  
Probe Cards | Cost of revenues          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 47 227 106 266  
Probe Cards | Research and development          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 170 0 182 0  
Probe Cards | Selling, general and administrative          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 6 0 1,069 3  
Systems          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 395 354 478 625  
Systems | Cost of revenues          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 285 227 251 327  
Systems | Research and development          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges 51 53 109 199  
Systems | Selling, general and administrative          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges $ 59 $ 74 $ 118 $ 99  
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Restructuring Charges - Changes to the Restructuring Accrual (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Restructuring Reserve [Roll Forward]        
Accrual at beginning of period     $ 1,249  
Restructuring charges $ 618 $ 581 1,835 $ 894
Cash payments     (2,281)  
Non-cash settlement     (596)  
Accrual at end of period 207   207  
Employee Severance and Benefits        
Restructuring Reserve [Roll Forward]        
Accrual at beginning of period     1,249  
Restructuring charges     917  
Cash payments     (1,959)  
Non-cash settlement     0  
Accrual at end of period 207   207  
Stock-based Compensation        
Restructuring Reserve [Roll Forward]        
Accrual at beginning of period     0  
Restructuring charges     295  
Cash payments     0  
Non-cash settlement     (295)  
Accrual at end of period 0   0  
Inventory Impairments & Other Inventory Related Costs        
Restructuring Reserve [Roll Forward]        
Accrual at beginning of period     0  
Restructuring charges     390  
Cash payments     (89)  
Non-cash settlement     (301)  
Accrual at end of period 0   0  
Contract Termination & Other Costs        
Restructuring Reserve [Roll Forward]        
Accrual at beginning of period     0  
Restructuring charges     233  
Cash payments     (233)  
Non-cash settlement     0  
Accrual at end of period $ 0   $ 0  
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents $ 31,870 $ 27,244
Marketable securities 138,943 129,006
Total assets 174,551 160,231
Total liabilities (60) (193)
Foreign exchange derivative contracts    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative liability (60)  
Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 549 664
Derivative liability   (193)
Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 926 943
Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 2,263 2,374
Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 30,179 21,279
Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   4,969
Marketable securities 24,075  
Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   24,840
Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 53,097 67,396
U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 1,691  
Marketable securities 46,803 25,019
Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 235 706
U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   996
Marketable securities 14,733 11,045
Level 1    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 31,870 21,279
Marketable securities 46,803 25,019
Total assets 78,673 46,298
Total liabilities 0 0
Level 1 | Foreign exchange derivative contracts    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative liability 0  
Level 1 | Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Derivative liability   0
Level 1 | Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Level 1 | Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Level 1 | Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 30,179 21,279
Level 1 | Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   0
Marketable securities 0  
Level 1 | Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   0
Level 1 | Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 1 | U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 1,691  
Marketable securities 46,803 25,019
Level 1 | Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 1 | U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   0
Marketable securities 0 0
Level 2    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 5,965
Marketable securities 92,140 103,987
Total assets 94,952 112,990
Total liabilities (60) (193)
Level 2 | Foreign exchange derivative contracts    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative liability (60)  
Level 2 | Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 549 664
Derivative liability   (193)
Level 2 | Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Level 2 | Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 2,263 2,374
Level 2 | Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Level 2 | Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   4,969
Marketable securities 24,075  
Level 2 | Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   24,840
Level 2 | Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 53,097 67,396
Level 2 | U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0  
Marketable securities 0 0
Level 2 | Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 235 706
Level 2 | U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   996
Marketable securities 14,733 11,045
Level 3    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Marketable securities 0 0
Total assets 926 943
Total liabilities 0 0
Level 3 | Foreign exchange derivative contracts    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative liability 0  
Level 3 | Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Derivative liability   0
Level 3 | Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 926 943
Level 3 | Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Level 3 | Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Level 3 | Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   0
Marketable securities 0  
Level 3 | Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   0
Level 3 | Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 3 | U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0  
Marketable securities 0 0
Level 3 | Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 3 | U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   0
Marketable securities $ 0 $ 0
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) - Jul. 01, 2023 - Foreign Exchange Forward
€ in Thousands, ₩ in Thousands, ¥ in Thousands, $ in Thousands, $ in Thousands
USD ($)
EUR (€)
JPY (¥)
KRW (₩)
TWD ($)
Buy | Euro Dollar          
Derivative [Line Items]          
Derivative, notional amount $ 19,903 € 18,558      
Buy | Korean Won          
Derivative [Line Items]          
Derivative, notional amount 962     ₩ 1,258,185  
Sell | Euro Dollar          
Derivative [Line Items]          
Derivative, notional amount 1,176 € 1,077      
Sell | Japanese Yen          
Derivative [Line Items]          
Derivative, notional amount 21,583   ¥ 3,104,537    
Sell | Taiwan Dollar          
Derivative [Line Items]          
Derivative, notional amount $ 1,001       $ 31,197
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value and Derivative Instruments - Additional Information (Details) - USD ($)
Jul. 01, 2023
Dec. 31, 2022
Jun. 25, 2022
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets measured at fair value on non-recurring basis $ 174,551,000 $ 160,231,000  
Liabilities measured at fair value on non-recurring basis 60,000 $ 193,000  
Nonrecurring      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets measured at fair value on non-recurring basis 0   $ 0
Liabilities measured at fair value on non-recurring basis $ 0   $ 0
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.23.2
Warranty (Details) - USD ($)
$ in Thousands
6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]    
Balance at beginning of period $ 4,199 $ 2,805
Accruals 2,934 3,846
Settlements (3,627) (2,673)
Balance at end of period $ 3,506 $ 3,978
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.23.2
Property, Plant, and Equipment, net (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Sub-total $ 489,083 $ 478,101
Less: Accumulated depreciation and amortization (349,123) (335,711)
Net, property, plant and equipment 139,960 142,390
Construction-in-process 64,617 47,458
Total 204,577 189,848
Land    
Property, Plant and Equipment [Line Items]    
Sub-total 17,136 17,136
Building and building improvements    
Property, Plant and Equipment [Line Items]    
Sub-total 44,452 44,932
Machinery and equipment    
Property, Plant and Equipment [Line Items]    
Sub-total 284,837 276,180
Computer equipment and software    
Property, Plant and Equipment [Line Items]    
Sub-total 46,774 45,813
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Sub-total 7,468 7,540
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Sub-total $ 88,416 $ 86,500
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation - Additional Information (Details) - USD ($)
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jun. 25, 2022
May 20, 2022
Oct. 26, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Purchase of common stock value retired through repurchase program   $ 44,931,000 $ 54,328,000    
Common Stock | October 2020 Stock Repurchase Program          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock repurchase program authorized amount         $ 50,000,000
Common Stock | May 2022 Stock Repurchase Program          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock repurchase program authorized amount       $ 75,000,000  
Purchase of common stock retired through repurchase program (in shares) 0        
Amount remaining for future repurchases $ 18,600,000        
Common Stock | 2020 Share Repurchase Program          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Purchase of common stock retired through repurchase program (in shares)     676,408    
Purchase of common stock value retired through repurchase program     $ 26,000,000    
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) - Equity Incentive Plan - Restricted Stock Units
6 Months Ended
Jul. 01, 2023
$ / shares
shares
Units  
Beginning balance (in shares) | shares 2,227,081
Awards granted (in shares) | shares 1,014,619
Awards vested (in shares) | shares (75,144)
Awards canceled (in shares) | shares (122,881)
Ending balance (in shares) | shares 3,043,675
Weighted Average Grant Date Fair Value  
Beginning balance (in dollars per share) | $ / shares $ 35.28
Awards granted (in dollars per share) | $ / shares 30.97
Awards vested (in dollars per share) | $ / shares 37.76
Awards canceled (in dollars per share) | $ / shares 35.09
Ending balance (in dollars per share) | $ / shares $ 33.78
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation - ESPP Activity (Details) - Employee stock purchase plan
6 Months Ended
Jul. 01, 2023
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Shares issued (in shares) | shares 210,055
Weighted average per share purchase price (in dollars per share) $ 23.92
Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share) $ (4.22)
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation - Stock-Based Compensation (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation $ 9,204 $ 6,358 $ 18,494 $ 13,878
Cost of revenues        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation 1,515 734 3,425 1,812
Research and development        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation 2,363 1,695 4,735 3,681
Selling, general and administrative        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation $ 5,326 $ 3,929 $ 10,334 $ 8,385
XML 67 R58.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholders’ Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)
$ in Thousands
6 Months Ended
Jul. 01, 2023
USD ($)
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 68,829
Average Expected Recognition Period in Years 2 years 2 months 19 days
Restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 60,794
Average Expected Recognition Period in Years 2 years 3 months 10 days
Performance restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 7,789
Average Expected Recognition Period in Years 1 year 8 months 19 days
Employee stock purchase plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 246
Average Expected Recognition Period in Years 1 month 2 days
XML 68 R59.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income per Share (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Earnings Per Share [Abstract]        
Weighted-average shares used in computing basic net income per share (in shares) 77,159 77,897 77,112 78,071
Add potentially dilutive securities (in shares) 457 1,313 338 1,352
Weighted-average shares used in computing diluted net income per share (in shares) 77,616 79,210 77,450 79,423
Securities not included as they would have been antidilutive (in shares) 486 23 343 0
XML 69 R60.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Narrative (Details)
Jul. 01, 2023
Lessee, Lease, Description [Line Items]  
Operating lease, renewal term 20 years
Operating lease, weighted average remaining lease term 5 years
Operating lease, weighted average discount rate 4.28%
Minimum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 1 year
Maximum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 6 years
Automobiles  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 1 year
XML 70 R61.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Components of Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Leases [Abstract]        
Operating lease expense $ 2,124 $ 2,183 $ 4,076 $ 4,404
Short-term lease expense 136 76 293 116
Variable lease expense 483 677 1,229 1,135
Total lease expense $ 2,743 $ 2,936 $ 5,598 $ 5,655
XML 71 R62.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Schedule of Future Minimum Payments Under Leases (Details) - USD ($)
$ in Thousands
Jul. 01, 2023
Dec. 31, 2022
Leases [Abstract]    
Remainder of 2023 $ 4,295  
2024 8,667  
2025 8,575  
2026 7,049  
2027 6,631  
Thereafter 3,434  
Total minimum lease payments 38,651  
Less: interest (4,322)  
Present value of net minimum lease payments 34,329  
Less: current portion (7,871) $ (7,353)
Total long-term operating lease liabilities $ 26,458 $ 27,587
XML 72 R63.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Additional Information (Details) - USD ($)
$ in Millions
6 Months Ended
Jul. 01, 2023
Dec. 31, 2022
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Performance obligations $ 9.4  
Contract assets 4.1 $ 1.9
Contract with customer, liability 21.0 $ 30.9
Revenue recognized included in contracts $ 21.5  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-07-02    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, percentage 46.70%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 6 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, percentage 45.80%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-12-29    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, percentage 7.50%  
Revenue, remaining performance obligation, expected timing of satisfaction, period  
XML 73 R64.htm IDEA: XBRL DOCUMENT v3.23.2
Operating Segments and Enterprise-Wide Information - Additional Information (Details)
6 Months Ended
Jul. 01, 2023
segment
Segment Reporting [Abstract]  
Number of reportable segments 2
XML 74 R65.htm IDEA: XBRL DOCUMENT v3.23.2
Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Segment Reporting Information [Line Items]        
Revenues $ 155,916 $ 203,907 $ 323,364 $ 401,081
Gross profit $ 60,283 $ 94,369 $ 121,361 $ 188,593
Gross margin 38.70% 46.30% 37.50% 47.00%
Probe Cards        
Segment Reporting Information [Line Items]        
Revenues $ 115,303 $ 167,708 $ 242,631 $ 327,691
Systems        
Segment Reporting Information [Line Items]        
Revenues 40,613 36,199 80,733 73,390
Operating segments | Probe Cards        
Segment Reporting Information [Line Items]        
Revenues 115,303 167,708 242,631 327,691
Gross profit $ 42,112 $ 78,420 $ 85,735 $ 155,622
Gross margin 36.50% 46.80% 35.30% 47.50%
Operating segments | Systems        
Segment Reporting Information [Line Items]        
Revenues $ 40,613 $ 36,199 $ 80,733 $ 73,390
Gross profit $ 21,124 $ 18,276 $ 41,870 $ 37,683
Gross margin 52.00% 50.50% 51.90% 51.30%
Operating segments | Corporate and Other        
Segment Reporting Information [Line Items]        
Revenues $ 0 $ 0 $ 0 $ 0
Gross profit $ (2,953) $ (2,327) $ (6,244) $ (4,712)
Gross margin
XML 75 R66.htm IDEA: XBRL DOCUMENT v3.23.2
Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jul. 01, 2023
Jun. 25, 2022
Jul. 01, 2023
Jun. 25, 2022
Disaggregation of Revenue [Line Items]        
Revenues $ 155,916 $ 203,907 $ 323,364 $ 401,081
Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 115,303 167,708 242,631 327,691
Systems        
Disaggregation of Revenue [Line Items]        
Revenues 40,613 36,199 80,733 73,390
Taiwan        
Disaggregation of Revenue [Line Items]        
Revenues 29,512 50,020 69,841 103,089
Taiwan | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 25,316 45,188 64,213 87,710
Taiwan | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 4,196 4,832 5,628 15,379
United States        
Disaggregation of Revenue [Line Items]        
Revenues 42,673 31,242 80,404 56,889
United States | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 31,131 21,539 55,772 41,515
United States | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 11,542 9,703 24,632 15,374
China        
Disaggregation of Revenue [Line Items]        
Revenues 23,508 49,735 50,607 88,134
China | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 16,516 40,578 34,992 73,369
China | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 6,992 9,157 15,615 14,765
South Korea        
Disaggregation of Revenue [Line Items]        
Revenues 27,863 28,755 48,638 56,256
South Korea | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 26,455 27,418 46,027 52,299
South Korea | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 1,408 1,337 2,611 3,957
Malaysia        
Disaggregation of Revenue [Line Items]        
Revenues 6,677 16,244 17,947 38,443
Malaysia | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 6,177 16,157 16,501 37,674
Malaysia | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 500 87 1,446 769
Japan        
Disaggregation of Revenue [Line Items]        
Revenues 7,932 9,937 18,909 19,319
Japan | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 3,902 6,716 11,038 11,501
Japan | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 4,030 3,221 7,871 7,818
Europe        
Disaggregation of Revenue [Line Items]        
Revenues 10,816 8,091 20,242 16,486
Europe | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 2,415 3,824 5,841 6,206
Europe | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 8,401 4,267 14,401 10,280
Singapore        
Disaggregation of Revenue [Line Items]        
Revenues 2,823 7,108 8,163 18,004
Singapore | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 1,718 5,131 4,918 15,415
Singapore | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 1,105 1,977 3,245 2,589
Rest of the world        
Disaggregation of Revenue [Line Items]        
Revenues 4,112 2,775 8,613 4,461
Rest of the world | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 1,673 1,157 3,329 2,002
Rest of the world | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 2,439 1,618 5,284 2,459
Products transferred at a point in time        
Disaggregation of Revenue [Line Items]        
Revenues 153,025 199,782 316,413 394,034
Products transferred at a point in time | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 112,985 166,701 236,903 325,537
Products transferred at a point in time | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 40,040 33,081 79,510 68,497
Products and services transferred over time        
Disaggregation of Revenue [Line Items]        
Revenues 2,891 4,125 6,951 7,047
Products and services transferred over time | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 2,318 1,007 5,728 2,154
Products and services transferred over time | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 573 3,118 1,223 4,893
Foundry & Logic        
Disaggregation of Revenue [Line Items]        
Revenues 81,967 122,380 183,529 236,501
Foundry & Logic | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 81,967 122,380 183,529 236,501
Foundry & Logic | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
DRAM        
Disaggregation of Revenue [Line Items]        
Revenues 30,464 36,843 50,354 71,280
DRAM | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 30,464 36,843 50,354 71,280
DRAM | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Flash        
Disaggregation of Revenue [Line Items]        
Revenues 2,872 8,485 8,748 19,910
Flash | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 2,872 8,485 8,748 19,910
Flash | Systems        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Systems        
Disaggregation of Revenue [Line Items]        
Revenues 40,613 36,199 80,733 73,390
Systems | Probe Cards        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Systems | Systems        
Disaggregation of Revenue [Line Items]        
Revenues $ 40,613 $ 36,199 $ 80,733 $ 73,390
XML 76 R9999.htm IDEA: XBRL DOCUMENT v3.23.2
Label Element Value
Increase (Decrease) in Deferred Government Grant form_IncreaseDecreaseInDeferredGovernmentGrant $ 0
XML 77 form-20230701_htm.xml IDEA: XBRL DOCUMENT 0001039399 2023-01-01 2023-07-01 0001039399 2023-08-02 0001039399 2023-07-01 0001039399 2022-12-31 0001039399 2023-04-02 2023-07-01 0001039399 2022-03-27 2022-06-25 0001039399 2021-12-26 2022-06-25 0001039399 us-gaap:CommonStockMember 2022-12-31 0001039399 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001039399 us-gaap:RetainedEarningsMember 2022-12-31 0001039399 us-gaap:CommonStockMember 2023-01-01 2023-07-01 0001039399 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-07-01 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-07-01 0001039399 us-gaap:RetainedEarningsMember 2023-01-01 2023-07-01 0001039399 us-gaap:CommonStockMember 2023-07-01 0001039399 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 0001039399 us-gaap:RetainedEarningsMember 2023-07-01 0001039399 us-gaap:CommonStockMember 2023-04-01 0001039399 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 0001039399 us-gaap:RetainedEarningsMember 2023-04-01 0001039399 2023-04-01 0001039399 us-gaap:CommonStockMember 2023-04-02 2023-07-01 0001039399 us-gaap:AdditionalPaidInCapitalMember 2023-04-02 2023-07-01 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-02 2023-07-01 0001039399 us-gaap:RetainedEarningsMember 2023-04-02 2023-07-01 0001039399 us-gaap:CommonStockMember 2021-12-25 0001039399 us-gaap:AdditionalPaidInCapitalMember 2021-12-25 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-25 0001039399 us-gaap:RetainedEarningsMember 2021-12-25 0001039399 2021-12-25 0001039399 us-gaap:CommonStockMember 2021-12-26 2022-06-25 0001039399 us-gaap:AdditionalPaidInCapitalMember 2021-12-26 2022-06-25 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-26 2022-06-25 0001039399 us-gaap:RetainedEarningsMember 2021-12-26 2022-06-25 0001039399 us-gaap:CommonStockMember 2022-06-25 0001039399 us-gaap:AdditionalPaidInCapitalMember 2022-06-25 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-25 0001039399 us-gaap:RetainedEarningsMember 2022-06-25 0001039399 2022-06-25 0001039399 us-gaap:CommonStockMember 2022-03-26 0001039399 us-gaap:AdditionalPaidInCapitalMember 2022-03-26 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-26 0001039399 us-gaap:RetainedEarningsMember 2022-03-26 0001039399 2022-03-26 0001039399 us-gaap:CommonStockMember 2022-03-27 2022-06-25 0001039399 us-gaap:AdditionalPaidInCapitalMember 2022-03-27 2022-06-25 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-27 2022-06-25 0001039399 us-gaap:RetainedEarningsMember 2022-03-27 2022-06-25 0001039399 2023-01-01 2023-04-01 0001039399 2023-01-31 0001039399 2023-01-01 2023-01-31 0001039399 form:TwoMajorCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-06-25 0001039399 form:TwoMajorCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-07-01 0001039399 form:IntelMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-04-02 2023-07-01 0001039399 form:IntelMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-03-27 2022-06-25 0001039399 form:IntelMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-07-01 0001039399 form:IntelMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-06-25 0001039399 form:MajorCustomer1Member us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-07-01 0001039399 form:MajorCustomer1Member us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-04-01 0001039399 form:ProbeCardsSegmentMember 2021-12-25 0001039399 form:SystemsSegmentMember 2021-12-25 0001039399 form:WoburnMember form:ProbeCardsSegmentMember 2021-12-26 2022-09-24 0001039399 form:WoburnMember form:SystemsSegmentMember 2021-12-26 2022-09-24 0001039399 form:WoburnMember 2021-12-26 2022-09-24 0001039399 form:ProbeCardsSegmentMember 2021-12-26 2022-09-24 0001039399 form:SystemsSegmentMember 2021-12-26 2022-09-24 0001039399 2021-12-26 2022-09-24 0001039399 form:ProbeCardsSegmentMember 2022-12-31 0001039399 form:SystemsSegmentMember 2022-12-31 0001039399 form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 form:ProbeCardsSegmentMember 2023-07-01 0001039399 form:SystemsSegmentMember 2023-07-01 0001039399 form:ExistingDevelopedTechnologiesMember 2023-07-01 0001039399 form:ExistingDevelopedTechnologiesMember 2022-12-31 0001039399 us-gaap:CustomerRelationshipsMember 2023-07-01 0001039399 us-gaap:CustomerRelationshipsMember 2022-12-31 0001039399 us-gaap:TradeNamesMember 2023-07-01 0001039399 us-gaap:TradeNamesMember 2022-12-31 0001039399 us-gaap:InProcessResearchAndDevelopmentMember 2023-07-01 0001039399 us-gaap:InProcessResearchAndDevelopmentMember 2022-12-31 0001039399 us-gaap:CostOfSalesMember 2023-04-02 2023-07-01 0001039399 us-gaap:CostOfSalesMember 2022-03-27 2022-06-25 0001039399 us-gaap:CostOfSalesMember 2023-01-01 2023-07-01 0001039399 us-gaap:CostOfSalesMember 2021-12-26 2022-06-25 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-04-02 2023-07-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-03-27 2022-06-25 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-07-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-12-26 2022-06-25 0001039399 form:BuildingTermLoanMember 2020-06-22 0001039399 form:BuildingTermLoanMember form:AdditionalSOFRMember 2020-06-22 2020-06-22 0001039399 form:BuildingTermLoanMember form:SOFRMember 2020-06-22 2020-06-22 0001039399 form:BuildingTermLoanMember 2020-06-22 2020-06-22 0001039399 form:BuildingTermLoanMember 2023-07-01 0001039399 form:BuildingTermLoanMember us-gaap:InterestRateContractMember 2020-03-17 0001039399 form:BuildingTermLoanMember form:LIBORMember 2020-03-17 2020-03-17 0001039399 form:BuildingTermLoanMember 2020-03-17 0001039399 form:A2022RestructuringPlanMember 2022-10-25 2022-10-25 0001039399 form:A2022RestructuringPlanMember 2022-10-25 2023-04-01 0001039399 form:StockBasedCompensationMember form:A2022RestructuringPlanMember 2022-10-25 2023-04-01 0001039399 form:A2022RestructuringPlanMember form:ProbeCardsSegmentMember 2022-10-25 2023-04-01 0001039399 form:A2022RestructuringPlanMember form:SystemsSegmentMember 2022-10-25 2023-04-01 0001039399 us-gaap:CorporateNonSegmentMember form:A2022RestructuringPlanMember 2022-10-25 2023-04-01 0001039399 form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 form:A2021RestructuringPlanMember form:ProbeCardsSegmentMember 2021-09-25 2023-04-01 0001039399 form:A2021RestructuringPlanMember form:SystemsSegmentMember 2021-09-25 2023-04-01 0001039399 us-gaap:EmployeeSeveranceMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 us-gaap:ContractTerminationMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 form:InventoryImpairmentsMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 us-gaap:OtherRestructuringMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 us-gaap:CostOfSalesMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:CostOfSalesMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:CostOfSalesMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:CostOfSalesMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-02 2023-07-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember 2022-03-27 2022-06-25 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:CostOfSalesMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:CostOfSalesMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:CostOfSalesMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:CostOfSalesMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-07-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember 2021-12-26 2022-06-25 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:EmployeeSeveranceMember 2022-12-31 0001039399 form:StockBasedCompensationMember 2022-12-31 0001039399 form:InventoryImpairmentsMember 2022-12-31 0001039399 us-gaap:ContractTerminationMember 2022-12-31 0001039399 us-gaap:EmployeeSeveranceMember 2023-01-01 2023-07-01 0001039399 form:StockBasedCompensationMember 2023-01-01 2023-07-01 0001039399 form:InventoryImpairmentsMember 2023-01-01 2023-07-01 0001039399 us-gaap:ContractTerminationMember 2023-01-01 2023-07-01 0001039399 us-gaap:EmployeeSeveranceMember 2023-07-01 0001039399 form:StockBasedCompensationMember 2023-07-01 0001039399 form:InventoryImpairmentsMember 2023-07-01 0001039399 us-gaap:ContractTerminationMember 2023-07-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:MoneyMarketFundsMember 2023-07-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember 2023-07-01 0001039399 us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:CertificatesOfDepositMember 2023-07-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-07-01 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:CorporateBondSecuritiesMember 2023-07-01 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:CommercialPaperMember 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:NotesReceivableMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel1Member 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel2Member 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel3Member 2023-07-01 0001039399 us-gaap:ForeignExchangeContractMember 2023-07-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:MoneyMarketFundsMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:CommercialPaperMember 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001039399 us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 currency:EUR us-gaap:ForeignExchangeForwardMember us-gaap:LongMember 2023-07-01 0001039399 currency:EUR us-gaap:ForeignExchangeForwardMember us-gaap:ShortMember 2023-07-01 0001039399 currency:JPY us-gaap:ForeignExchangeForwardMember us-gaap:ShortMember 2023-07-01 0001039399 currency:KRW us-gaap:ForeignExchangeForwardMember us-gaap:LongMember 2023-07-01 0001039399 currency:TWD us-gaap:ForeignExchangeForwardMember us-gaap:ShortMember 2023-07-01 0001039399 us-gaap:FairValueMeasurementsNonrecurringMember 2022-06-25 0001039399 us-gaap:FairValueMeasurementsNonrecurringMember 2023-07-01 0001039399 us-gaap:LandMember 2023-07-01 0001039399 us-gaap:LandMember 2022-12-31 0001039399 us-gaap:BuildingAndBuildingImprovementsMember 2023-07-01 0001039399 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001039399 us-gaap:EquipmentMember 2023-07-01 0001039399 us-gaap:EquipmentMember 2022-12-31 0001039399 us-gaap:ComputerEquipmentMember 2023-07-01 0001039399 us-gaap:ComputerEquipmentMember 2022-12-31 0001039399 us-gaap:FurnitureAndFixturesMember 2023-07-01 0001039399 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001039399 us-gaap:LeaseholdImprovementsMember 2023-07-01 0001039399 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001039399 form:October2020StockRepurchaseProgramMember us-gaap:CommonStockMember 2020-10-26 0001039399 form:A2020ShareRepurchaseProgramMember us-gaap:CommonStockMember 2021-12-26 2022-06-25 0001039399 form:May2022StockRepurchaseProgramMember us-gaap:CommonStockMember 2022-05-20 0001039399 form:May2022StockRepurchaseProgramMember us-gaap:CommonStockMember 2023-04-02 2023-07-01 0001039399 form:May2022StockRepurchaseProgramMember us-gaap:CommonStockMember 2023-07-01 0001039399 us-gaap:RestrictedStockUnitsRSUMember form:EquityIncentivePlanMember 2022-12-31 0001039399 us-gaap:RestrictedStockUnitsRSUMember form:EquityIncentivePlanMember 2023-01-01 2023-07-01 0001039399 us-gaap:RestrictedStockUnitsRSUMember form:EquityIncentivePlanMember 2023-07-01 0001039399 us-gaap:EmployeeStockMember 2023-01-01 2023-07-01 0001039399 us-gaap:EmployeeStockMember 2023-07-01 0001039399 us-gaap:RestrictedStockMember 2023-07-01 0001039399 us-gaap:RestrictedStockMember 2023-01-01 2023-07-01 0001039399 form:PerformanceRestrictedStockUnitsMember 2023-07-01 0001039399 form:PerformanceRestrictedStockUnitsMember 2023-01-01 2023-07-01 0001039399 srt:MinimumMember 2023-07-01 0001039399 srt:MaximumMember 2023-07-01 0001039399 us-gaap:AutomobilesMember 2023-07-01 0001039399 2023-07-02 2023-07-01 0001039399 2023-12-31 2023-07-01 0001039399 2024-12-29 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2023-04-02 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:OperatingSegmentsMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2022-03-27 2022-06-25 0001039399 us-gaap:OperatingSegmentsMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2023-01-01 2023-07-01 0001039399 us-gaap:OperatingSegmentsMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:OperatingSegmentsMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2021-12-26 2022-06-25 0001039399 form:FoundryLogicProductGroupMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 form:FoundryLogicProductGroupMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 form:FoundryLogicProductGroupMember 2023-04-02 2023-07-01 0001039399 form:FoundryLogicProductGroupMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 form:FoundryLogicProductGroupMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 form:FoundryLogicProductGroupMember 2022-03-27 2022-06-25 0001039399 form:DRAMProductGroupMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 form:DRAMProductGroupMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 form:DRAMProductGroupMember 2023-04-02 2023-07-01 0001039399 form:DRAMProductGroupMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 form:DRAMProductGroupMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 form:DRAMProductGroupMember 2022-03-27 2022-06-25 0001039399 form:FlashProductGroupMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 form:FlashProductGroupMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 form:FlashProductGroupMember 2023-04-02 2023-07-01 0001039399 form:FlashProductGroupMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 form:FlashProductGroupMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 form:FlashProductGroupMember 2022-03-27 2022-06-25 0001039399 form:SystemsProductGroupMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 form:SystemsProductGroupMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 form:SystemsProductGroupMember 2023-04-02 2023-07-01 0001039399 form:SystemsProductGroupMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 form:SystemsProductGroupMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 form:SystemsProductGroupMember 2022-03-27 2022-06-25 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-04-02 2023-07-01 0001039399 form:SystemsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-04-02 2023-07-01 0001039399 us-gaap:TransferredAtPointInTimeMember 2023-04-02 2023-07-01 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredAtPointInTimeMember 2022-03-27 2022-06-25 0001039399 form:SystemsSegmentMember us-gaap:TransferredAtPointInTimeMember 2022-03-27 2022-06-25 0001039399 us-gaap:TransferredAtPointInTimeMember 2022-03-27 2022-06-25 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredOverTimeMember 2023-04-02 2023-07-01 0001039399 form:SystemsSegmentMember us-gaap:TransferredOverTimeMember 2023-04-02 2023-07-01 0001039399 us-gaap:TransferredOverTimeMember 2023-04-02 2023-07-01 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredOverTimeMember 2022-03-27 2022-06-25 0001039399 form:SystemsSegmentMember us-gaap:TransferredOverTimeMember 2022-03-27 2022-06-25 0001039399 us-gaap:TransferredOverTimeMember 2022-03-27 2022-06-25 0001039399 country:US form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:US form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:US 2023-04-02 2023-07-01 0001039399 country:US form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:US form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:US 2022-03-27 2022-06-25 0001039399 country:TW form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:TW form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:TW 2023-04-02 2023-07-01 0001039399 country:TW form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:TW form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:TW 2022-03-27 2022-06-25 0001039399 country:KR form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:KR form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:KR 2023-04-02 2023-07-01 0001039399 country:KR form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:KR form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:KR 2022-03-27 2022-06-25 0001039399 country:CN form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:CN form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:CN 2023-04-02 2023-07-01 0001039399 country:CN form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:CN form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:CN 2022-03-27 2022-06-25 0001039399 srt:EuropeMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 srt:EuropeMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 srt:EuropeMember 2023-04-02 2023-07-01 0001039399 srt:EuropeMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 srt:EuropeMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 srt:EuropeMember 2022-03-27 2022-06-25 0001039399 country:JP form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:JP form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:JP 2023-04-02 2023-07-01 0001039399 country:JP form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:JP form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:JP 2022-03-27 2022-06-25 0001039399 country:MY form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:MY form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:MY 2023-04-02 2023-07-01 0001039399 country:MY form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:MY form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:MY 2022-03-27 2022-06-25 0001039399 country:SG form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 country:SG form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 country:SG 2023-04-02 2023-07-01 0001039399 country:SG form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 country:SG form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 country:SG 2022-03-27 2022-06-25 0001039399 form:RestOfTheWorldMember form:ProbeCardsSegmentMember 2023-04-02 2023-07-01 0001039399 form:RestOfTheWorldMember form:SystemsSegmentMember 2023-04-02 2023-07-01 0001039399 form:RestOfTheWorldMember 2023-04-02 2023-07-01 0001039399 form:RestOfTheWorldMember form:ProbeCardsSegmentMember 2022-03-27 2022-06-25 0001039399 form:RestOfTheWorldMember form:SystemsSegmentMember 2022-03-27 2022-06-25 0001039399 form:RestOfTheWorldMember 2022-03-27 2022-06-25 0001039399 form:FoundryLogicProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 form:FoundryLogicProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 form:FoundryLogicProductGroupMember 2023-01-01 2023-07-01 0001039399 form:FoundryLogicProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:FoundryLogicProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:FoundryLogicProductGroupMember 2021-12-26 2022-06-25 0001039399 form:DRAMProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 form:DRAMProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 form:DRAMProductGroupMember 2023-01-01 2023-07-01 0001039399 form:DRAMProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:DRAMProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:DRAMProductGroupMember 2021-12-26 2022-06-25 0001039399 form:FlashProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 form:FlashProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 form:FlashProductGroupMember 2023-01-01 2023-07-01 0001039399 form:FlashProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:FlashProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:FlashProductGroupMember 2021-12-26 2022-06-25 0001039399 form:SystemsProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 form:SystemsProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 form:SystemsProductGroupMember 2023-01-01 2023-07-01 0001039399 form:SystemsProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:SystemsProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:SystemsProductGroupMember 2021-12-26 2022-06-25 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-07-01 0001039399 form:SystemsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-07-01 0001039399 us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-07-01 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-12-26 2022-06-25 0001039399 form:SystemsSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-12-26 2022-06-25 0001039399 us-gaap:TransferredAtPointInTimeMember 2021-12-26 2022-06-25 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredOverTimeMember 2023-01-01 2023-07-01 0001039399 form:SystemsSegmentMember us-gaap:TransferredOverTimeMember 2023-01-01 2023-07-01 0001039399 us-gaap:TransferredOverTimeMember 2023-01-01 2023-07-01 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredOverTimeMember 2021-12-26 2022-06-25 0001039399 form:SystemsSegmentMember us-gaap:TransferredOverTimeMember 2021-12-26 2022-06-25 0001039399 us-gaap:TransferredOverTimeMember 2021-12-26 2022-06-25 0001039399 country:US form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:US form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:US 2023-01-01 2023-07-01 0001039399 country:US form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:US form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:US 2021-12-26 2022-06-25 0001039399 country:TW form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:TW form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:TW 2023-01-01 2023-07-01 0001039399 country:TW form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:TW form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:TW 2021-12-26 2022-06-25 0001039399 country:CN form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:CN form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:CN 2023-01-01 2023-07-01 0001039399 country:CN form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:CN form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:CN 2021-12-26 2022-06-25 0001039399 country:KR form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:KR form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:KR 2023-01-01 2023-07-01 0001039399 country:KR form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:KR form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:KR 2021-12-26 2022-06-25 0001039399 srt:EuropeMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 srt:EuropeMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 srt:EuropeMember 2023-01-01 2023-07-01 0001039399 srt:EuropeMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 srt:EuropeMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 srt:EuropeMember 2021-12-26 2022-06-25 0001039399 country:JP form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:JP form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:JP 2023-01-01 2023-07-01 0001039399 country:JP form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:JP form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:JP 2021-12-26 2022-06-25 0001039399 country:MY form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:MY form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:MY 2023-01-01 2023-07-01 0001039399 country:MY form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:MY form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:MY 2021-12-26 2022-06-25 0001039399 country:SG form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 country:SG form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 country:SG 2023-01-01 2023-07-01 0001039399 country:SG form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 country:SG form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 country:SG 2021-12-26 2022-06-25 0001039399 form:RestOfTheWorldMember form:ProbeCardsSegmentMember 2023-01-01 2023-07-01 0001039399 form:RestOfTheWorldMember form:SystemsSegmentMember 2023-01-01 2023-07-01 0001039399 form:RestOfTheWorldMember 2023-01-01 2023-07-01 0001039399 form:RestOfTheWorldMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:RestOfTheWorldMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:RestOfTheWorldMember 2021-12-26 2022-06-25 shares iso4217:USD iso4217:USD shares pure iso4217:EUR iso4217:JPY iso4217:KRW iso4217:TWD form:segment false 0001039399 --12-30 2023 Q2 P0Y6M P1Y 10-Q true 2023-07-01 false 000-50307 FormFactor, Inc. DE 13-3711155 7005 Southfront Road Livermore CA 94551 925 290-4000 Common stock, $0.001 par value FORM NASDAQ Yes Yes Large Accelerated Filer false false false 77656368 97981000 109130000 138943000 129006000 510000 168000 94013000 88143000 120298000 123157000 1144000 1221000 25876000 23895000 478255000 474552000 2265000 2631000 31001000 31362000 204577000 189848000 211929000 211444000 22149000 26751000 71172000 67646000 3790000 3994000 1025138000 1008228000 63770000 69308000 31413000 42115000 1150000 1045000 19899000 29846000 7871000 7353000 124103000 149667000 13765000 14389000 2704000 2732000 26458000 27587000 18000000 0 5845000 5568000 190875000 199943000 0.001 0.001 250000000 250000000 77184012 77184012 76914590 76914590 77000 77000 867517000 844842000 -4445000 -5578000 -28886000 -31056000 834263000 808285000 1025138000 1008228000 155916000 203907000 323364000 401081000 95633000 109538000 202003000 212488000 60283000 94369000 121361000 188593000 28340000 28317000 56585000 55451000 33255000 33406000 65997000 66312000 61595000 61723000 122582000 121763000 -1312000 32646000 -1221000 66830000 1482000 181000 2758000 127000 450000 551000 473000 743000 620000 33378000 2010000 67700000 -208000 3136000 -160000 7586000 828000 30242000 2170000 60114000 0.01 0.39 0.03 0.77 0.01 0.38 0.03 0.76 77159000 77897000 77112000 78071000 77616000 79210000 77450000 79423000 828000 30242000 2170000 60114000 -122000 -3856000 710000 -6554000 -85000 -547000 518000 -1751000 -52000 -116000 -95000 758000 -259000 -4519000 1133000 -7547000 569000 25723000 3303000 52567000 76914590 77000 844842000 -5578000 -31056000 808285000 210055 5024000 5024000 59367 -456000 -456000 18107000 18107000 1133000 1133000 2170000 2170000 77184012 77000 867517000 -4445000 -28886000 834263000 77142023 77000 858195000 -4186000 -29714000 824372000 41989 0 -69000 -69000 9391000 9391000 -259000 -259000 828000 828000 77184012 77000 867517000 -4445000 -28886000 834263000 78240506 78000 898945000 -1449000 -81794000 815780000 157642 5645000 5645000 6000 42000 42000 234076 -4243000 -4243000 1443491 1000 54327000 54328000 14522000 14522000 -7547000 -7547000 60114000 60114000 77194733 77000 860584000 -8996000 -21680000 829985000 78166212 78000 902994000 -4477000 -51922000 846673000 231464 -4171000 -4171000 1202943 1000 44930000 44931000 6691000 6691000 -4519000 -4519000 30242000 30242000 77194733 77000 860584000 -8996000 -21680000 829985000 2170000 60114000 15121000 14146000 4766000 4702000 3914000 4414000 18494000 13878000 -3639000 -3703000 8628000 4726000 1801000 3846000 6830000 -5530000 5880000 32268000 1099000 -1295000 83000 40000 3578000 7521000 -10606000 4102000 456000 73000 -9945000 2727000 18000000 0 -4065000 -4262000 34781000 86801000 40177000 30116000 0 3121000 66650000 52344000 0 1000000 58363000 45470000 -48464000 -41111000 5024000 5687000 0 54328000 456000 4243000 519000 4379000 4049000 -57263000 -1958000 -3470000 -11592000 -15043000 112982000 155342000 101390000 140299000 9187000 4165000 3635000 3438000 9427000 6473000 212000 294000 4514000 4379000 97981000 136395000 1144000 2102000 2265000 1802000 101390000 140299000 Basis of Presentation and Significant Accounting Policies<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year. </span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the six months ended July 1, 2023 and June 25, 2022 each contained 26 weeks. Fiscal 2023 will end on December 30, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Significant Accounting Policies</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our significant accounting policies have not changed during the six months ended July 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022, except for:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Government Assistance</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize the Grant when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the Grant is to offset operations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">New Accounting Pronouncements</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Reference Rate Reform</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, the Financial Accounting Standards Board (the “FASB”) issued Accounting Standards Update (“ASU”) 2020-04, “Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.” The ASU provides temporary optional expedients and exceptions for applying GAAP to contract modifications and hedging relationships, subject to meeting certain criteria, that reference the London Interbank Offered Rate (“LIBOR“) or another reference rate expected to be discontinued. In December 2022, the FASB issued ASU 2022-06, “Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,” extending the relief offered in Topic 848 from December 31, 2022 to December 31, 2024, after which entities will no longer be permitted to apply the optional expedients in Topic 848. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2023, the Company entered into a rate replacement amendment to its credit facility loan agreement to replace LIBOR with the Secured Overnight Financing Rate (“SOFR”) and concurrently signed an amendment to modify the floating rate option on its interest rate swap to match that of the debt. The Company applied practical expedients provided in Topic 848 allowing the modified instrument to be accounted for and presented in the same manner as the instrument existing before the modification. These modifications had no significant impact on our financial statements. Refer to Note 6,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Debt</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for further information regarding the terms of the credit facility loan agreement and interest rate swap agreement.</span></div> Basis of PresentationThe accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the six months ended July 1, 2023 and June 25, 2022 each contained 26 weeks. Fiscal 2023 will end on December 30, 2023.</span></div> 18000000 P5Y Concentration of Credit and Other Risks<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following customer accounted for 10% or more of our revenues for the periods indicated: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14.2 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.2 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div>At July 1, 2023 and December 31, 2022, one customer accounted for 15.3% and 13.8% of gross accounts receivable, respectively. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following customer accounted for 10% or more of our revenues for the periods indicated: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14.2 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.2 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 0.10 0.10 0.142 0.209 0.172 0.209 0.153 0.138 Inventories, net <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,726 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,549 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,364 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">120,298 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,157 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,726 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,549 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,364 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">120,298 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,157 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 55491000 55726000 44549000 46067000 20258000 21364000 120298000 123157000 Goodwill and Intangible Assets <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.572%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,875 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">212,299 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,020 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,444 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">485 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">485 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of July 1, 2023</span></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,505 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,929 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have not recorded goodwill impairments for the six months ended July 1, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.239%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,896 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">153,200 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,696 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,441 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,212 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,229 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51,036 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,085 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,951 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,912 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,003 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,909 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,898 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,972 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,759 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">231,332 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">209,183 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,149 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">230,725 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,974 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,751 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.853%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">838 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">788 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,545 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,388 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,333 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,766 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,702 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,435 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,624 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,184 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,839 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,749 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.572%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,875 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">212,299 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,020 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,444 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">485 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">485 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of July 1, 2023</span></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,505 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,929 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 178424000 33875000 212299000 0 550000 550000 0 -1405000 -1405000 178424000 33020000 211444000 0 485000 485000 178424000 33505000 211929000 0 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.239%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,896 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">153,200 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,696 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,441 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,212 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,229 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51,036 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,085 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,951 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,912 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,003 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,909 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,898 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,972 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,759 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">231,332 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">209,183 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,149 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">230,725 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,974 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,751 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 171896000 153200000 18696000 171441000 151212000 20229000 51036000 48085000 2951000 50912000 45003000 5909000 8000000 7898000 102000 7972000 7759000 213000 400000 0 400000 400000 0 400000 231332000 209183000 22149000 230725000 203974000 26751000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.853%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.185%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">838 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">788 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,545 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,388 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,333 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,766 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,702 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 838000 788000 1669000 1596000 1550000 1545000 3097000 3106000 2388000 2333000 4766000 4702000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,435 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,624 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,184 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,839 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,749 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2435000 4624000 4280000 3184000 2839000 4387000 21749000 Accrued Liabilities<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,864 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,142 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,585 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,944 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,817 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,506 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">207 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,228 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,413 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,115 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,864 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,142 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,585 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,944 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,817 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,506 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">207 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,228 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,413 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,115 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 17386000 15864000 4142000 4585000 3944000 12817000 3506000 4199000 207000 1249000 2228000 3401000 31413000 42115000 Debt<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 22, 2020, we entered into an $18.0 million 15-year credit facility loan agreement (the “Building Term Loan”) with MUFG Union Bank, National Association (“Union Bank”). The proceeds of the Building Term Loan were used to purchase a building adjacent to our leased facilities in Livermore, California. On May 19, 2023, we amended the Building Term Loan, replacing the benchmark reference rate LIBOR with the term SOFR, with no change to the amount or timing of contractual cash flows. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Building Term Loan bears interest at a rate equal to the applicable SOFR rate, plus 0.1148%, plus 1.75% per annum. Interest payments are payable in monthly installments over a fifteen-year period. The interest rate at July 1, 2023 was 5.17%. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 17, 2020, we entered into an interest rate swap agreement with Union Bank to hedge the interest payment on the Building Term Loan for the notional amount of $18.0 million. As future levels of LIBOR over the life of the loan were uncertain, we entered into this interest-rate swap agreement to hedge the exposure in interest rate risks associated with movement in LIBOR rates. By entering into the agreement, we converted a floating-rate interest at one-month LIBOR plus 1.75% into a fixed-rate interest at 2.75%. This agreement was amended on May 19, 2023 to replace the benchmark reference rate LIBOR with the term SOFR to match the Building Term Loan agreement (as amended). After the amendment, the interest rate swap continues to convert our floating-rate interest into a fixed-rate at 2.75%.</span></div> 18000000 P15Y 0.001148 0.0175 P15Y 0.0517 18000000 0.0175 0.0275 0.0275 Restructuring Charges<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2022 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 25, 2022, we adopted a restructuring plan (“2022 restructuring plan”) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5 million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2021 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 25, 2021, we adopted restructuring plans (“2021 restructuring plans”) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2021 restructuring plans charges of approximately $13.3 million, with $10.1 million within the Probe Cards segment and $3.2 million within the Systems segment, which were comprised of $1.4 million of severance and employee-related costs, $2.0 million in contract and lease termination costs, $9.4 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.581%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">285 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">332 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">227 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">227 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">454 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">59 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">223 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">395 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">618 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">227 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">354 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">581 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">251 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">357 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">266 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">182 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">109 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">291 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,069 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">118 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,187 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,357 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,835 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">269 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">625 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">894 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the six months ended July 1, 2023 were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:21.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:13.525%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract<br/>Termination &amp;<br/>Other Costs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">917 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">390 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">233 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,835 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,959)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(89)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(233)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,281)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(301)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(596)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">207 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">207 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0.13 8100000 300000 7100000 500000 500000 13300000 10100000 3200000 1400000 2000000 9400000 500000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.581%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">285 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">332 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">227 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">227 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">454 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">59 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">223 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">395 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">618 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">227 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">354 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">581 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">251 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">357 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">266 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">593 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">182 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">109 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">291 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,069 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">118 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,187 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,357 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,835 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">269 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">625 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">894 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 47000 285000 332000 227000 227000 454000 170000 51000 221000 0 53000 53000 6000 59000 65000 0 74000 74000 223000 395000 618000 227000 354000 581000 106000 251000 357000 266000 327000 593000 182000 109000 291000 0 199000 199000 1069000 118000 1187000 3000 99000 102000 1357000 478000 1835000 269000 625000 894000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the six months ended July 1, 2023 were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:21.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:13.525%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract<br/>Termination &amp;<br/>Other Costs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">917 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">390 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">233 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,835 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,959)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(89)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(233)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,281)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(301)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(596)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">207 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">207 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1249000 0 0 0 1249000 917000 295000 390000 233000 1835000 1959000 0 89000 233000 2281000 0 295000 301000 0 596000 207000 0 0 0 207000 Fair Value and Derivative Instruments<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three and six months ended July 1, 2023 or the year ended December 31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first six months of fiscal 2023.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.391%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,179 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,179 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,691 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,691 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,870 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,870 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,803 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,803 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,075 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,075 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,803 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">92,140 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">138,943 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">926 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">926 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,263 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,263 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,673 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,952 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">926 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">174,551 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.391%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,965 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,244 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,006 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,298 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,990 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">160,231 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Equivalents </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable Securities </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Swaps </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Exchange Derivative Contracts</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at July 1, 2023 will mature by the second quarter of fiscal 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of July 1, 2023 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.601%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.231%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,558 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,903 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,077 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,176 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,104,537 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,583 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,258,185 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">962 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,197 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,001 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">acquisition. Other than as discussed in Note 7,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restructuring Charges, </span>there were no assets or liabilities measured at fair value on a nonrecurring basis during the three and six months ended July 1, 2023 or June 25, 2022. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three and six months ended July 1, 2023 or the year ended December 31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first six months of fiscal 2023.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div>acquisition. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.391%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,179 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,179 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,691 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,691 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,870 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,870 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,803 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,803 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,097 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,075 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,075 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,803 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">92,140 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">138,943 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">926 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">926 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,263 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,263 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,673 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,952 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">926 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">174,551 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(60)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.391%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,965 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,244 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,006 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,298 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,990 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">160,231 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 30179000 0 0 30179000 1691000 0 0 1691000 31870000 0 0 31870000 46803000 0 0 46803000 0 235000 0 235000 0 14733000 0 14733000 0 53097000 0 53097000 0 24075000 0 24075000 46803000 92140000 0 138943000 0 549000 0 549000 0 0 926000 926000 0 2263000 0 2263000 78673000 94952000 926000 174551000 0 60000 0 60000 0 60000 0 60000 21279000 0 0 21279000 0 4969000 0 4969000 0 996000 0 996000 21279000 5965000 0 27244000 25019000 0 0 25019000 0 706000 0 706000 0 11045000 0 11045000 0 67396000 0 67396000 0 24840000 0 24840000 25019000 103987000 0 129006000 0 664000 0 664000 0 0 943000 943000 0 2374000 0 2374000 46298000 112990000 943000 160231000 0 193000 0 193000 0 193000 0 193000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of July 1, 2023 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.601%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.231%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,558 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,903 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,077 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,176 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,104,537 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,583 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,258,185 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">962 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,197 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,001 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 18558000 19903000 1077000 1176000 3104537000 21583000 1258185000 962000 31197000 1001000 0 0 0 0 Warranty<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,805 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,934 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,846 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,627)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,673)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,506 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,978 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,805 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,934 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,846 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,627)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,673)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,506 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,978 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4199000 2805000 2934000 3846000 3627000 2673000 3506000 3978000 Property, Plant and Equipment, net<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,452 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">284,837 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">276,180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,774 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,813 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,416 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">489,083 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478,101 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(349,123)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(335,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">204,577 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,848 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,452 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">284,837 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">276,180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,774 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,813 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,416 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">489,083 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478,101 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(349,123)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(335,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">204,577 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,848 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 17136000 17136000 44452000 44932000 284837000 276180000 46774000 45813000 7468000 7540000 88416000 86500000 489083000 478101000 349123000 335711000 139960000 142390000 64617000 47458000 204577000 189848000 Stockholders’ Equity and Stock-Based Compensation<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock Repurchase Programs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the six months ended June 25, 2022, we repurchased 676,408 shares of common stock for $26.0 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the six months ended July 1, 2023, we did not repurchase any common stock. As of July 1, 2023, $18.6 million remained available for future repurchases.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,227,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.28 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,014,619 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(75,144)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37.76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(122,881)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.09 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at July 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,043,675 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33.78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may grant Performance RSUs (“PRSUs”) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the six months ended July 1, 2023. PRSUs are included as part of the RSU activity above. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.007%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">210,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23.92 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.122%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,515 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">734 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,425 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,812 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,695 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,735 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,681 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,326 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,929 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,334 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,385 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,204 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,358 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,494 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,878 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Unrecognized Compensation Costs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At July 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.544%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">60,794 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.28</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,789 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.72</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">246 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.09</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,829 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.22</span></td></tr></table></div> 50000000 676408 26000000 75000000 0 18600000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,227,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.28 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,014,619 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(75,144)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37.76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(122,881)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.09 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at July 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,043,675 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33.78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2227081 35.28 1014619 30.97 75144 37.76 122881 35.09 3043675 33.78 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.007%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">210,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23.92 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 210055 23.92 -4.22 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.122%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,515 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">734 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,425 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,812 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,695 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,735 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,681 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,326 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,929 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,334 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,385 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,204 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,358 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,494 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,878 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1515000 734000 3425000 1812000 2363000 1695000 4735000 3681000 5326000 3929000 10334000 8385000 9204000 6358000 18494000 13878000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At July 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.544%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">60,794 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.28</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,789 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.72</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">246 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.09</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,829 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.22</span></td></tr></table></div> 60794000 P2Y3M10D 7789000 P1Y8M19D 246000 P0Y1M2D 68829000 P2Y2M19D Net Income per Share<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:49.777%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.745%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,159 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,897 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,112 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,071 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">457 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,313 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">338 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,352 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,616 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,210 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,450 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,423 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">486 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">343 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:49.777%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.745%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,159 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,897 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,112 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,071 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">457 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,313 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">338 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,352 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,616 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,210 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,450 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,423 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">486 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">343 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 77159000 77897000 77112000 78071000 457000 1313000 338000 1352000 77616000 79210000 77450000 79423000 486000 23000 343000 0 Commitments and Contingencies<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 14, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contractual Obligations and Commitments</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contractual obligations and commitments have not materially changed as of July 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Matters</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">From time to time, we are subject to legal proceedings and claims in the ordinary course of business, the outcomes of which cannot be estimated with certainty. Our ability to estimate the outcomes may change in the near term and the effect of any such change could have a material adverse effect on our financial position, results of operations or cash flows.</span></div> Leases<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of July 1, 2023 and the weighted-average discount rate was 4.28%. </span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.923%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.346%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,183 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,076 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,404 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">293 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">116 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">677 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,229 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,135 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,743 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,936 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,598 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,655 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of July 1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,295 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,575 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,049 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,631 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,434 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,651 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,329 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(7,871)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,458 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P1Y P6Y P20Y P1Y P5Y 0.0428 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.923%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.346%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,183 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,076 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,404 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">293 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">116 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">677 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,229 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,135 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,743 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,936 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,598 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,655 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 2124000 2183000 4076000 4404000 136000 76000 293000 116000 483000 677000 1229000 1135000 2743000 2936000 5598000 5655000 <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of July 1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,295 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,575 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,049 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,631 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,434 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,651 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,329 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(7,871)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,458 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4295000 8667000 8575000 7049000 6631000 3434000 38651000 4322000 34329000 7871000 26458000 Revenue<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Transaction price allocated to the remaining performance obligations:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> On July 1, 2023, we had $9.4 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered. We expect to recognize approximately 46.7% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 45.8% in fiscal 2024, and approximately 7.5% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contract balances:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of July 1, 2023 and December 31, 2022 were $4.1 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of July 1, 2023 and December 31, 2022 were $21.0 million and $30.9 million, respectively. During the six months ended July 1, 2023, we recognized $21.5 million of revenue that was included in contract liabilities as of December 31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Costs to obtain a contract:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year. </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue by category: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 16, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Operating Segments and Enterprise-Wide Information</span>, for further details. 9400000 0.467 0.458 0.075 4100000 1900000 21000000 30900000 21500000 Operating Segments and Enterprise-Wide InformationOur chief operating decision maker (“CODM”) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.142%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,953)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">60,283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,420 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,276 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,327)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46.8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">85,735 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">41,870 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(6,244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">121,361 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,622 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,683 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,712)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">188,593 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.</span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:40.712%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.113%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">81,967 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">81,967 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">122,380 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">122,380 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,464 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,464 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,843 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,843 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,872 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,872 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,985 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,040 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">153,025 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">166,701 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,081 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">199,782 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,318 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">573 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,007 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,118 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,125 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,131 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,542 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,673 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,539 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,703 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,242 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,196 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,832 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,020 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,455 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,408 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,863 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,418 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,337 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,755 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,508 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,578 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,157 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,735 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,415 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,824 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,091 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,902 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,030 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,932 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,716 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,221 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,937 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,177 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,677 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,157 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,244 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,718 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,105 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,823 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,131 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,673 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,157 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,618 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,775 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:41.883%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.917%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,529 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,529 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">71,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">71,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,910 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,910 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,903 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,510 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">316,413 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">325,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">394,034 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,728 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,223 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,951 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,154 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,893 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,047 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,772 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,404 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">41,515 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">56,889 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,213 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,841 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87,710 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,379 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,089 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,992 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,615 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,607 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,765 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,027 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,611 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,638 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52,299 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,957 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">56,256 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,242 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,206 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,486 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,038 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,871 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,909 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,501 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,319 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,446 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,947 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">769 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,443 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,918 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,245 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,163 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,415 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,589 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,284 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,002 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,459 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,461 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:11pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 2 The following table summarizes the operating results by reportable segment (dollars in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.142%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,953)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">60,283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,420 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,276 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,327)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46.8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">85,735 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">41,870 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(6,244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">121,361 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,622 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,683 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,712)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">188,593 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.9 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table> 115303000 40613000 0 155916000 167708000 36199000 0 203907000 42112000 21124000 -2953000 60283000 78420000 18276000 -2327000 94369000 0.365 0.520 0.387 0.468 0.505 0.463 242631000 80733000 0 323364000 327691000 73390000 0 401081000 85735000 41870000 -6244000 121361000 155622000 37683000 -4712000 188593000 0.353 0.519 0.375 0.475 0.513 0.470 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:40.712%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.113%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">81,967 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">81,967 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">122,380 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">122,380 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,464 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,464 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,843 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,843 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,872 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,872 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,985 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,040 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">153,025 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">166,701 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,081 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">199,782 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,318 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">573 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,007 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,118 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,125 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,131 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,542 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,673 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,539 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,703 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,242 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,196 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,832 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,020 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,455 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,408 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,863 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,418 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,337 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,755 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,508 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,578 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,157 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,735 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,415 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,824 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,091 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,902 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,030 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,932 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,716 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,221 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,937 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,177 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,677 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,157 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,244 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,718 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,105 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,823 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,131 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,673 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,157 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,618 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,775 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">115,303 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,613 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">155,916 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,708 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,199 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,907 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:41.883%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.917%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 25, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,529 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">183,529 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">71,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">71,280 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,910 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,910 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,903 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,510 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">316,413 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">325,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,497 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">394,034 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,728 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,223 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,951 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,154 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,893 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,047 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,772 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,632 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,404 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">41,515 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">56,889 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">64,213 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,841 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87,710 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,379 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,089 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,992 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,615 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,607 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,765 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">88,134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,027 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,611 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48,638 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52,299 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,957 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">56,256 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,242 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,206 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,486 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,038 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,871 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,909 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,501 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,319 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,446 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,947 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">769 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,443 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,918 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,245 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,163 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,415 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,589 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,284 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,002 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,459 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,461 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">242,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,733 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">323,364 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">327,691 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">73,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">401,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:11pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table> 81967000 0 81967000 122380000 0 122380000 30464000 0 30464000 36843000 0 36843000 2872000 0 2872000 8485000 0 8485000 0 40613000 40613000 0 36199000 36199000 115303000 40613000 155916000 167708000 36199000 203907000 112985000 40040000 153025000 166701000 33081000 199782000 2318000 573000 2891000 1007000 3118000 4125000 115303000 40613000 155916000 167708000 36199000 203907000 31131000 11542000 42673000 21539000 9703000 31242000 25316000 4196000 29512000 45188000 4832000 50020000 26455000 1408000 27863000 27418000 1337000 28755000 16516000 6992000 23508000 40578000 9157000 49735000 2415000 8401000 10816000 3824000 4267000 8091000 3902000 4030000 7932000 6716000 3221000 9937000 6177000 500000 6677000 16157000 87000 16244000 1718000 1105000 2823000 5131000 1977000 7108000 1673000 2439000 4112000 1157000 1618000 2775000 115303000 40613000 155916000 167708000 36199000 203907000 183529000 0 183529000 236501000 0 236501000 50354000 0 50354000 71280000 0 71280000 8748000 0 8748000 19910000 0 19910000 0 80733000 80733000 0 73390000 73390000 242631000 80733000 323364000 327691000 73390000 401081000 236903000 79510000 316413000 325537000 68497000 394034000 5728000 1223000 6951000 2154000 4893000 7047000 242631000 80733000 323364000 327691000 73390000 401081000 55772000 24632000 80404000 41515000 15374000 56889000 64213000 5628000 69841000 87710000 15379000 103089000 34992000 15615000 50607000 73369000 14765000 88134000 46027000 2611000 48638000 52299000 3957000 56256000 5841000 14401000 20242000 6206000 10280000 16486000 11038000 7871000 18909000 11501000 7818000 19319000 16501000 1446000 17947000 37674000 769000 38443000 4918000 3245000 8163000 15415000 2589000 18004000 3329000 5284000 8613000 2002000 2459000 4461000 242631000 80733000 323364000 327691000 73390000 401081000 EXCEL 78 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $Z "%<'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 " !.@ A7 ,)^*^T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)O)VU!)'1S6?&D(+B@> O)[&ZP24,RTN[;F\;=+J(/(.22F3_? M? /I=1!ZC/@F&QYVU7\+I]=RP5O1=.\+ZX__*[";C1V;_^Q M\450]O#K7\@O4$L#!!0 ( $Z "%>97)PC$ 8 )PG 3 >&PO=&AE M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X? MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@ MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1 MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?= MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%, M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SC MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_ M+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE" M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT ML@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3 M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.' M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\ M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^ M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?! M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83 M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL' M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5 MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$% @ M3H (5Q@_E5O-!0 QQX !@ !X;"]W;W)K MV6!G4_G >)8OB6_G18^.+J^DX5:J+^E*"$V>XRA)+ULKK=?O'"?U5R+FZ;E< MBP3>+*2*N89;M732M1(\R(/BR&&NVW-B'B:MT3!_-E6CH+L +P. M!F'SVO%W(E>%"*L1Z9$'F>A52FZ20 1?QSM0H+)4;%^J*X8*_II%Y\2E9X2Y MS+.49X*'C[,EA#-;^%?%\,*RU4]$(>Q5HJ;%.A M0AF87DA@,+ F#U?*^UW>\6I['BK0$+1?@O:/;)J*PT22SP/UB<2U%CQ*K9E$ MPQH"7I2 %VBA;A(=ZA=R&T:"?,CBN5 V,%S#==UVU_7B81"HRD5FBU0O\#ZQU<$#]^L9&C @QR$_\F=P%T$_# M1>CGW$AC/B!)O;;7IY1VNU9>-+@I+ZMXV3&\XR ]?1L?T'NX3OR,;'G%9?L MNVZ7S,!OKQ8*/!5YE#RPDJ,R3)E1J7NPBE4FBN+5Y"SJ5J>81 M^2M6L>PZJT'PP4&S#X0@V^2"X(93_.?R(SX6<* M,FF%Q)4F,HYA5H+5M?_EC'SOGKLN)6NNR(9'=G^/"S9%KZP3Q3T/&-X@3)9D M]A+/960E/F":/CX^6+E.89)899(8;F/V.20WS_Z*)TM1ZPD/"'T8SZ['UH4G M'MB4L/)$["A/-,F4,BN78KF2IQ+FD\\2>6ERP'O04MH=5MH?AKF6?R)6 1&)XN$P]WBGL#ZOL M#\.=RWZD+>;V63&WS_(M;?(QTV!F$S.'6HF_D;'9U4.AULW5S#G*9M3O][H] MKW[6O26_AH77J."!6MQF-AS5EK#R/ASN4MXR[_?=Z M2ESN$[,R?E._X[PZ*C037GZ"FA+?[$86IX;ET_*4=IR?33K5Y\41[P,W\V5* M(K& 4/>\#P.>*DY-BQLMU_G!XUQJ+>/\"T=)/+6M M5)8#W*>_E1/LQ)(%W/4-V/%J_5])WM^N??H@Y/=JR;E"CT5>5F>CI5*KD_&X M2I>\8-6Q6/$2KLR%+)B"4[D85RO)V:P95.1CXGGAN&!9.9J<-K_=R,FIJ%6> ME?Q&HJHN"B:?/O!D!C\5?&'ZJ=8Z1#N1?BNSZYFIV-/*V(YSQ5V@6#?VL^ MY7FN/8&.'UNGH_:>>N#N\;/WWYO@(9A[5O&IR/_.9FIY-HI':,;GK,[55_'P MD6\#"K2_5.15\Q<];&PC.D)I72E1; >#@B(K-__9XW8B=@9@?V V0X@KQU MMP-H$^A&61/6!5-L(#BZO?YT=7%^!RHMN/EY=WM^@(?;N]0+\>_(8.4%:BNZ6H M*U;.JM.Q @W:TSC=WN_#YGYDX'Y_UODQ\O A(AZAEN%3]_ +GAXCNAE.]H>/ M(?(V?-*&3QI_="C\6DI>*L2JBJOJQ!;/QH%O=Z"?LI-JQ5)^-H+'J.)RS4>3 M=[_@T'MOB^XG.=N+E;:Q4I?WR9152P2KAE)]P'_4V9KE$+QU%3>NPL:53@7K M21(E,3X=KW?#,:VPEV#JM69[0OU6J.\4^IG)[URQ^YRCBJ>US%3&K2(W;H+= MV],X\6E/I<6,))#F["J#5F7@5'F>IJ*&V8-DEG*82I![B$I(O&*.6 [ID94I M1Y!H42KY+%,H%[#)*GWY(,!>LQ('.(QM@06&XL3W<#\NTRJ.\4[T>V&%;5BA M,ZRK<@U[0DB8\B82>*>/IL9Q4%D%QBU B.GP*^\4C)+%=]L9)N^ MR+PQ]OV>.HL1(=BN+6ZUQ4YM-Y*O6#9#_!$PJQ=;+[)02PZ;8"_3V%3'AB 2 MQ%'8DVVQ@CT?V'4GK>[$J?M.*):_0F)BW-R/8A($/8TV,S\(B%TD]CI6>?]W MZ;<>]N:'A'V!-JN0#BP^WF$I=NJ[7G')5%8N4,ZAM#A$4A<11V)^5%?\:'A: MMVYWY5#L>?UL:S6CX="T=@S$3NS KH6J4*JG0[3*F5Y_V+0:#RLHUU27T]*T M+NJ!3FC%=B5D#(N;\>GX01?V(3#L<)[$?#X34H0Z[6?>'$+.'+,^M MXJ@I#N.$)'UQ5CM_)Y'LB^OPAMU\NRH5*Q<9 &,XQ6(36I"=?$.CQ2R,@J&= MW+$-N^%VP><89 MN\_RILRREL#82;VWUL _R]M^T!WJL)MU;=VV8D^Z:+,&;!(LI%%D[!R+64*] M@74A'>>(FW,@4=;P\.VLB[4S,2E&L6^4B18S'Q+90,E .MH1-^V>=\]*R*8C M!T8H+@NHM[NWF M_J_[V00?II%1CMK,?*CJ!X+J^$CFD 384'L&QO48A6$ YRC'>>HFW.;%/&"0FKB"R=> M'/4U6NV29.A]".TX1[&S2KI5(OV^%/F,R^K=+S'!T?NF/5)/UF*).JGYUF+I M9WG;C[UC(G4S<2J* M!>Z2DX1 ?>,72E4#A)M&:YG9#41)_1]KEM]J7NO-UT ML_%\-LMTJH8=I=_!'&4E2MDJ@QUFE6E"+]:-DR'58N?[L3^0\FB'1^K&X_E. M.[U]0R0*6,.E_D2RYLW;0JMPDX!'T),:3X/%+ BBH4>VXR1]\:WGSEN >99F MUK1'3:(=D3B.^V^S;'84>\% I40[]%$W^C:II1I\=*VB3;C%U"=AOPBQV4$_ M%@]4H+3#('U-R[B3#YM7,6\,(K*\D[>UE59#6ULYWOFZI#_M?69RD945 'H. M([WC""9";KZ6;4Z46#4?G.Z%4J)H#I><@7QM -?G0JCG$_T-J_UF.?D74$L# M!!0 ( $Z "%<>"2;B] ( "@( 8 >&PO=V]R:W-H965T&ULK59K3]LP%/TK5H8FD%CS:)L :R.5M@@F!A5AVX=I']S$;2P<.[.= MENW7[]HI40OA):T?&MNYY_BB^8%P-G5SK\L1U59J3 JN. M* F'-PLA"ZRA*Y>N*B7!F045S T\+W0+3+D3#^S83,8#46E&.9E)I*JBP/+/ M*6%B/71\YV'@ABYS;0;<>%#B)4F(_E;.)/3&*"HXD60R=D7\RCDR\ M#?A.R5IMM9%Q,A?BSG0NLJ'C&4&$D50;!@R/%1D3Q@P1R/B]X72:*0UPN_W M?F:]@Y3$9W4+G='0YNAI/47(^G=XF M:'^&)>$Z)YJFF!V@3^A;,D'[>P=H#U&.;G-1*/WAF M_B\5ZR#//T2!%W1;X..7X1.2=E"WA@>[*)*G)*A P=.$;DB3OSQ M@Q]ZG]N,_R>RG31TFS1T7V*/1PQ.-W@G".X)E(EJKA<5@S.7BHKKUF6N"4-+ M:*Z.5=SWO8&[VK;T-,8/CYJ8':6]1FGO1:5C412P+G!.TKM#5&*)5IA5!.W# MMLP$8U@J5!*XMG+8P0=MPFO^:$N4U_$\_Y'TUZ)VQ/<;\?UWB+<2%<*5SH6D M?TEF3=2CK,@;!R$[W= E:I>5Q\^T11%_E'/\X-' MXEL"PV._US]^1GO4:(_>KQT*G=)PE5&^?,U ]%8#+8'M!MRM>]S4T*]8+BE7 MB)$%0+U.!!RRKDMU1XO27NUSH:%0V&8.I9Q($P#O%T+HAXZI%LW'0?P/4$L# M!!0 ( $Z "%'/\P4 4; 8 >&PO=V]R:W-H965T&ULK5G9;N,V%/T5PAT4&2")N6A-'0.)I6E3- O&F<1G$VFD[*9T_Y=,+V(HDS M^I0#OD_3*/_GEB;LY7J$1F\//L>;K2@>C*>37;2A3=N6%9Q2C,> MLPSD='T]ND%7(<9%0(GX/:8O_.@:%%(6C/U5W-RMKD>PZ!%-Z%(4%)'\.= 9 M39*"2?;C[YITU+19!!Y?O[%_*L5+,8N(TQE+OL8KL;T>>2.PHNMHGXC/[.47 M6@NR"[XE2WCY%[S46#@"RST7+*V#90_2.*M^H]8B ME_^-99R8SAX?@O!A'@9 7LT??[L+;I[ES?Q9_MR'#\]S\/@)W#W,'N]#< &^ MS -P]N$CX-LHIQS$&7C>LCV/LA4_!Q].[B=C(;M7-#)>UEVYK;J".[I"P#W+ MQ):#,%O1E2$^Z(]W>N+',BU-;O!;;FYQ+^&O^^020'0.,,3$T)_9>^'9)GU2)8W3O,#'4U__ $Y\"=3GH:+:GQI5613IE9/&N.$R1;?O(F8P/QXG581@2'[JGL$"'$4R(8YW"0AUF M000]U,!.9-J-3+M7YHQQ =A:OI6ZY58,]E'+ONT0HJC540CZ-O$4M3I,+B$( M%;;0 $/8\CRS6J=1Z_2J_3EGG(-=SM:Q,"EUM%8=B#U5J8[R+>+XBE =A3 B M#E*$&F">9_O$+-1MA+J]]>1Q1_-(Q-D&T%?I>CCE5R:][I!U9$BR8$BR<""R MDY'PFI'PWJDCG$;Y<@OD:UMZK(,TC[NBPIN&P],GO4^5/)?&5$Z]<["AF9R&22D]6DE_%1?OM,*[FM3[6E\( MP;;2XYD)94&E] 8ZRK%]7\E1:$ Y!&&S>@1;TP=[]3\S(44S;0D:31O4^X!L M7U5MA+E8J4R! 88PMCVL"#?BD.MT5!UTY'=1K_2V[L25HSE+9,7]:%2.M#Y< MH./LU\IU&,&.I0ZXD0UCM=H:8([C$=BA&[>Z<:_NNTQ063M$+?L<9-2XPFN: MD\1;ZO#,3"@/J8IU$'9M3Q5LH,)NA]S6K:)>ZS5]%%N:OZN5:$U;MEK,#"#; MUJ0:F%S5,1A KM4UH5L7B/IM8&W,%W3-ALC2+J=XJM3B!K=[7W8/2*:%"S."A;,"A;.!3;Z8BT MAA'U.\;;B,=+T-7W2/>_2;H)I7V8FKDTZ2:4VU%M<&L9,>Q=A5_++5>Z MNH@.TD!M*,CVZ4)*EU_F]6[@GLO,R,0T"0'+*%GNDZC8$39_W>%>F_J]*W90 MMF!0MG HMM/1:UTO[G>][8JM!LLX5[%N/5U76GUELAIAGOKI$IC95/< M=#L^\'#K=W&_WSU>JGV:=??INHZV46:"^5CU.H&13;.4H9'-PJH5'!]MZZ92W0BV*P\5%DP(EI:76QJM:%X Y/_7C(FWFZ*!YN1K^B]0 M2P,$% @ 3H (5_(3G>?X P D X !@ !X;"]W;W)K9[D??*2O!D>*'OA,2$"O&9ISD=&+,1V8)I\ M%9,,\QNZ);E\LZ8LPT(VV<;D6T9P5)"RU+0MRS,SG.3&>%CT/;+QD.Y$FN3D MD0&^RS+,_KLC*3V,#&B\=3PEFUBH#G,\W.(-F1/QO'UDLF76*E&2D9PG- >, MK$?&+1R$T%*$ O$Y(0=^] Q4*$M*7U1C&HT,2\V(I&0EE 26?WLR(6FJE.0\ M_JU$C7I,13Q^?E/_6 0O@UEB3B8T_3.)1#PR>@:(R!KO4O%$#Y](%1!2>BN: M\N(7'"JL98#5C@N:560Y@RS)RW_\6AEQ1) Z>H)=$>PFP3U#<"J"\[TCN!7! M_=X14$4H0C?+V OC BSP>,CH 3"%EFKJH7"_8$N_DEPEREPP^3:1/#&>/,R" M<#8/ R"?Y@]_3(/;A6S,%_+O/IPMYN#AHWQU__@4?I*XZ><03&>R'8)K\#P/ MP/MW5^ =2'*PB.F.XSSB0U/(>2EU M^ +9E.YKY3/Z/GM\ &Q5T6Q?.SXT>_O#H M)V8X=88XA9YS1F\NL"!R:Q" KL&$9G(_BM5&L2=@FJ]H1L!?MTLNF/SD_]:M M?:GNZM75/CC@6[PB(T,*<\+VQ!C_^@OTK-]TQE]2++BD6'@AL9,E=&_MQS^X-S?VQKVV,8]FN?8H*VB@;^M8I*&R#/ M" MMT:=1(CJ"%%G$CZ(F#"P.LF^,F+P/J6<7WT .2DR5.#7@R%"]0%.5CN6B(1HS?';L^VAAC<:#'+]AC5M$(*-+S_4"$$? M0;TUO=J:WH];$Q&6[+$H/V%Y<.S.9DE/$V0S2308")LYH@'U&XZ&;8R/>GH; M^K4-_4X;?G[7ZK,V+SJ,+."-L45QLNEW:7 MB[*4JGOKZ]-M<6EH]-_!P01J^@-UW2HJ^F_RY5WM'K.-^H12LI9#63>^7!U6 M7G_*AJ#;HKY?4B%O"\5C+*^,A"F ?+^F5+PUU #U)73\%5!+ P04 " !. M@ A7W"AJNC$* "Z6 & 'AL+W=O ^(%0.(1R+/'HOQ2S3FOG:^++*_.!_.Z7KX>C:KI MG"^2ZE6QY+GXYJXH%TDM#LO[4;4L>3);%UID(^RZ_FB1I/G@XFS]M^ORXJQ8 MU5F:\^O2J5:+15)^>\NSXO%\@ 9/?_B8WL_KY@^CB[-E/UI>5V*H]%. M998N>%ZE1>Z4_.Y\\ :]9MZZP#KBMY0_5GN?G>94/A?%E^;@A@E[,IN/_Y29VM3UZDXN,B^U:;_Y.OVX;8 M*X#(@0)X6P!W+4"V!8A2 <'"M!M :H4((<*>-L"GIKAT$G[VP+^NNTWC;5N MZ4E2)Q=G9?'HE$VT4&L^K.U:EQ8-G.9-S[JI2_%M*LK5%^.K#Y/XPTT\<<2G MFZMWEY,WM^+@YE;\]S[^<'OC7#%Q=#7^QZ]7[R;QQYN_.O$_/UW>_ML9.I]N M)LZ+GUXZ/SEI[MS.BU65Y+/J;%2+>C7JH^FV#F\W=< 'ZG!;U$EF*#:V%QL7 MBX7HFS=U,?UB*#VQEWXSFZ5-WTXRYSI)9T-Q"N-DF9IK$A_1FDY7BU66U'SF M7-5S7CJB;F*@SYL1^,"==T5E:A;6777"[])I6LLB(^'USG"\,QRO5>D!U;?\ M/LWS-+\7 S)+\BEW7HA3K^9)R:N73E*+5--7#O9^<;"+D6JR9!1\N@A!3UW/]L]'#OIN066-(,08D M)KE)=FZ2GFYV<7"CZ>\U>HB\('3E)A_K84&HN&)0BL*(>G)8K(<-$:61',4, M42$*(KH+DYJ([IJ(KLN1 TUTF4_%);<2_5RTR_K3RV:^6D\;\R*;\;(2<]KO MJ[3^YOSG8Y%ECKAD/2;E[+^FIJ.0G1]2; (I%D.*,2 QR7UOY[YG'2"75;5: MCXOBSIEN+AA5X[RSRH7SCIBLG7BQS(IOG&^ZA'.]*J?SIK]=_NX&ESH1B5/L7*F(/,&4.*,2 QR6A_9[1_2J--YOJ:'YZO3FUC:ZWZCN$N M&6/(C Q(3+(LV%D6/,^RY:ILOJF=NG#X5UY.TVH=5"R;.[;JV*"T9NT[* /- M$M]UE2OE!#)C#"G&@,0D?\.=O^%)_#5Y&FHVJ//BV%J9OB/Q>+X8,A\#$I-\ MBG8^1=_OTP.OZN8^4\2(&M1E.FW6)4]3;%I7OS@YKYNO-W][3.OYG&A4R M;+#XK/%AR?,J:>Y_C(U-#,/ P^HMD#UC[XFQ4](8-"F#4I--:6$1LM*(BPV^ MG4KX-LW%,7=>9$5U8,JC>O<-/!JH[H#R'E"UN-LI,*BDLCLMS$%VFO-!W%!L MW##:H ,4WT6(JC9 ,H\)J%H,JL:.-HAL0XM:D)VUQ/G,\@/"WU?Y#C]CHT^0 M!&.,=&@2!"BB 2'J508R;PRJQJ#49$=;$H/L*$9QM).+.AD)<12%*B#;QDD_ M(P2J,P8MW_5"JEYJ]+AA&$6^.DL9PC#R]W[@D)NI!1K(3C2._GCV/BE%J_F6 M5H.D!F.D8XH@1+Z/D0J-0?/&H&H,2DTVM:4?R(X_C+^A'3=29PPA]?U 6ZM& MQW]%,VA%KAA+6O?7XX:4JJ.)F<(\%.W=N,F_'+=< +L_\*.B6-09,R*#79X1978#NN."$RM&?N/9H-V$)< MQ2.5Z$Y T\:@:@Q*33:[Q2#8CD%.@PRQ 3)0&A%ML-+CR/"0EJN.0="M+%!J MLBTM_\!V_M$'&6+#XM]7L?G8GK#WO-@E9PR:DT&IR9:T+ 3;6@:@Q*33:LI1O$3C<.;ZBWFH3TKNV&6.O:ACBM:Q,=1H24AMKV M,T/_<*'0Q@Y+J>IXY 4"X JL:@U&2_6RY [%S@!+OLB;Z0]\0]ISIS M@NZ=Z)0S!LW)H-1DYUIT0)[Y(,R/Q/;V.O8>SSIM\"+B:Q=4T!T:H&H,2DWN M%"V\(,]\:.;4U)X8Z8&O#GI0_M$I9PR:DT&IR?ZV^(/8\4 M:3501$(-;]X($-TDEUL8%'^ JC$H-=G4%G_09[Q^X[B1.H<(,26!-CT97L"A M=7^#EA>B2'UHW! WI"A40;@I#$?!H2WC=.\E'/0'TD(*N3(?@ZI-0-5B4#4& MI29W@I9!T/\#!F&O8^^^HS,(BJ(P4H-@1 H0*H6MSI#!A43MF;%BK0[X$*U+0M0GV(VIZA MMP>@3 %4C5'#SHZ]YI!? M8B!>^D2,'KC!0Z1T[L->YK J@:@U*3W6J1@@>. M%+R.2,$0IZVI3%HFI&"(,R$%4Y@)*8SVWN+:O-7W?5**U67E9/Q.%'1?!:)3 ME9L7Y6X.ZF*Y?K'KYZ*NB\7ZXYPG8BG5!(CO[XJB?CIHWA6[>UWQQ?\ 4$L# M!!0 ( $Z "%>3P^R@7PD *HK 8 >&PO=V]R:W-H965T&ULM5IM<]LV$OXK&%WGIIVQ(@($*3%G>\:QDVDZ;>R)W.MGB((L7DA" M)2"_W*\_@*0$B5C 3JO+AUB4%N"S ':?9P&5Y^]U=+H8X='NBZ_%PUJ9+R:7YQOVP.=<_;ZY:_339-_+ MLJAX+0M1HX:O+D97^/UU$IL&K<6_"_XD#SXCX\I"B&_FX?/R8A091+SDN3)= M,/WGD5_SLC0]:1Q_]IV.]N\T#0\_[WK_U#JOG5DPR:]%^4>Q5.N+T6R$EGS% MMJ7Z*IY^YKU#B>DO%Z5L_T=/O6TT0OE6*E'UC36"JJB[O^RY'XB#!KH?N 'I M&Y!A ^II$/<-VI&;=,A:MVZ88I?GC7A"C;'6O9D/[=BTK;4W16VF<:X:_6NA MVZG+Z]LO-Q^_S#_>(/UI?OOKYYNK>_TPO]=_?OOXY7Z.;C^AZZOYS^C3K[=_ MS-$8_3Z_03_^\!/Z 14UNE^+K63U4IY/E$9C^ISD_9L_=&\FGC>GZ#=1J[5$ M'^LE7QZWGV@O]JZ0G2L?2+##7[;E.Q3A,T0B$@-XKE]K7K]#)&F;DP"<>#^R M<=M?[!M9)M=HI<-$HE4C*J0CKV&JJ!^ZI5NH@LOWT+!UW5*X6Q/6[^6&Y?QB MI.-6\N:1CR[_^0^<1O^"?#Y19T3R$[QJE$<9T;W6$*]GC2H(S<[7\CPXLG8N41$KH9)2+.B]*CNH] M8/.]>24LWBBSHY&*]V/5AJT6R( M%K"*9],9#!='ELFB5Q;JBC>-1KL+8?:,%KSFJT*![!0Y,,9Q&F<#L*#9-(H] M: ]X%P?1WIFDTHHAK<7TF.9<2J29%(F%%"577+OQJ%.4:'2& ?%C!]@L);,A M?->*3HDG[C"QZ$D0_:U>U UB)TZDH)L$6%/1,+T 5O',EUZPI7#\"H>O6?W MI8GB+D+;&2H+MBA*?^K')V7P4_5V/ 26PW&8Q*_RW&0L:6:7%X]L48*1W_=R M%";I+![R.6"6) =6QR MH>,@ UY^?B54$A=<,ILYX "SF)#4EYDL@^(PA=XU M?,.*Y2YS]G'>AE"^U2E+$X*? +!+G6,<94Z> AB69(D'NF58'*;8/M#]Z%SZ M',_B(3; B/HFW7(L#I/L?F5NV(MW60+TF4R=).E:39,#"7,,T!(H#C.H!MAL M^5&^ #&Z?*@G.(V&0@6PH]BG5(BE31*FS6Z&7\%(7!:DR1 @8#3U\"2Q/$G" M/+EG]8;K&-]ZX+DL-\XRF@P!NF9D2J8>B)8,29@,]Q ?&E:#6H. )!8-$U#X M/7\QU1/+=B1()9>W>THNN99]KZZ)&(KJU!ETR(RDOG5KB8F\7EW^955!7!Z* MZ70VE!6 V2P]5!_'V"U?D7 %.MP;,%)/OJ6J)"^:Q-C'0L32) G3Y-VVR=?,J X-L6+--ZX, M6R+)M?;P!XA+B>,T31,'-&"7D)AZBD]BR9.$R7,'NU\952&E:%Y0+71E%):B MQ.5)!S5(N9%'DL262^,PE^JB+N=\V4=UQ50_PNU:EJS\SDF(74)-9KI&'7@# MF-&$3GW>6.J-P]2[S[!;V5;58)H"<0-T3'4Y-MP( .VP_N=!;ADY)M^57U=% MS71E^H:]UQ,Q<._?_X//XX,-Z#"?'Z]&'4!;/0C=$M2E>:63EC1[/. XN*2= M1,29/\ JG7GT5&R9/0XS^V'H'P)%:MV([<.Z?])%UNB^V-!^'R])[]HR>"K5>BW*I%Y^IH4NF="SUFR)RS1J3 Y0J>;>+ MHCTVE*=>$'MB#7RL$@-EJBO&02M"/7H\MJ0=OU;+%CJ2-JPTX\]>>M@U4KRI M4"E8#6,&*#C!PQH6LJ+Q-/-@MCP=AWD:E(H_]EGM)S [@$X 6\41=9P BMUD M2E+?R%LBC\-$_G&UXGF[=;U+I23!.GG6NFF7TJ!FG[C>M M=()139&;U6=^!_T#N!QGR;!:ALQB/]U8QH_#C&]F:^ M'.@:#?K-8H&>5"R95 MZLJ(#,^&51Q@17'JV>"D!V?48;$QV/0X@\[ED%@HIMNU(GB??,VY3;=1(A9E M\= >CL'^ 9L-:3S<)X&L:.S1(-1J$!K>:IAO-YM.76C*7A8R+X7<-IVVVJED M[59W(4A[ *_TDVX[G*JWXQ&Q"H:&%4Q;'+3[\68&[6$AEV=&E8'^N\(DH\19 MH:Y52GT[H-2J%QI6+T.\6FGI; 7"=*4'P0XY $:9IURG5IS0L#BQ8=2N*K%5 MX-67-E[@( '.L!/GH!NR\@I$:J4'S8)!\K4_N>QN.>QBXVU,!P=,4.I\=\"< MJ+?CVS)6R22O*YG6\^%P@/=>7.V133-G9Q4PP^;TW9//$RM1DK!$^3K4(?T) M&X@54!:8#M<<8$6\YRZ)51])^-3 5H;.1( ZYXA$.+LM@-6>.8%:]5!$E8' M]\+0Q]]3Y/TK#B]S@7H/LH/TWN3@UF/%FX?V,JA$K73I;@WNO]U?.+UJKUD. MOO^ WU]WUT9M-]TMUM]8HX6YU&EKI;N,WDWUN#;=Q=#N08E->[=R(9025?MQ MS=F2-\9 _[X20NT>S OVUW,O_P=02P,$% @ 3H (5^?3)I'!" >!4 M !@ !X;"]W;W)K[N MO#[SS"Q/ULY_"B51J^[KRH;34=FVS:O))&0EU3J,74,6*X7SM6[QZ%>3T'C2 MN1RJJ\EL.GTYJ;6QH[,3>7?CSTY-7M&"V@_-C)'Z[RT]&4#:**LI8E:/R[HPNJ*A8$,WY/,D>#2CZX_;N7?BF^PY>E#G3A MJM],WI:GH^.1RJG07=7>NO6/E/QYP?(R5P7YJ]9I[W2DLBZTKDZ'84%M;/RO M[U,<_LR!63HP$[NC(K'RC6[UV8EW:^5Y-Z3Q#W%53L,X8SDIB]9CU>!<>W:N M@PG*%>K&4R#;ZA@KFZN%65E3F$S;5LVSS'6V-7:E;EQE,D/A9-)"/0N99$G5 M>50U^XJJE^IG9]LRJ+MO/9T\*?-]58S4]V%.SZ>SP"7F' M0RP.1=[A5^1=^Y6VY@\)P9ZZ<#; UWP3D9T0(627QFJ;&5VI!5X2H-H&]9_Y M,K0>8/OO8Q&*!AP];@ 7X*O0Z(Q.1PWK\GIZ:-9UO8_,&*?(&'>#6OR<-Y]>S[[XYGL^GK=_/YC?P\>/U'%!6>=-:]*.M_=9J>V* -VZ-D%XLU>T>'O1 MZQFK']V:[@BA"%U6[H0*E,A\"7E5I73^$00DL-Z3.)L@KCL+5V&"Y6,5SL * MSPL[!]:E@7!$-5\5FM\?I/= MQ@43JQ3;P+\2$30JG^+#T:F2/,&K4+JNRH$;Q0V1_82,CYV-'4<@TT85WQ#,!O-.ZQ@H+8L' 9U M$.PZSSPW4W-K.QR^I<;Y%KD0;*N#Z?X_(;K"YD$MS!S29@ &8W.@FOMKGZM>.KQ =.B^ :K8^22^Z("O!])^#!8- M&?SY-Q[4;Y1L(39SR8M#M2;Z!-]D&Y]A;"% RX>$BF%!D86I+J*MTJ%5 M"]UV*&"!ZQL87"]IHY)C(9&7N"))+888Z!2%,2=)>Q"@L0]PL7K8&_(5S+VJ M8UE!I98DN]YWEM3LQ5Y40AHUD31A]^QE%+]KTMH@.!#'GO1&J\-I MG[QO4>@UD!*V]FR35K^GU'S8U.4W;0J)]SO/F@Q]>(^X% BX%<-X%I#A8KHZ!4XV*_9$ 0NQQV MY>P M]$'Z2/"Z@R)+2Z7L]MA,.$+NKL8F/EBFT#/=2506/#0.WCUA@KRK'HE MXC@V,$QP+E> WJC,(59_T,8()A.+PO1 M1[I$N3"OP<#!B">LWAH1(0\SB*MIS(3WN8F):<7 QKN,")PV #":##,%VEB_ M,QPQ<*$;K)*;3AP+_JI=%RSU4IJF#EL*C3!YBLNF78S5+[AW;9.0!]C1_Y+$ M6TX*<;)N&'Q< A/AX%\D1]@X3G9(#<"L/IF(--78PQ3G&E:$4PRTW RC0N3) MH6'KIJED+.9Q4L@#],UW$/!X+L2P&8M*RE>\U5,:)DO3!)X$EQ_A!1_FFI<9 MF[RP3H81$U. YDQIYJO>1W;^)Z *_EWQN+#4]A.S('$9WFY'_:>K\^O;]/NY M\ '(!3U\2Y@T_6%.B&,#-QC'"45VQPR;H67$=B'( 1 & ""*O+(_??E7DAJI M U'NQ^K.,LS?R!A2J&'K7I\QNF_1POI^B4@:*K@X*%T;AA.Q;K]H=.S>YR\! M0UT@B&EN1JK["@:#6J[ZOBG=+%ZH M6%DRG27&5("^*QWK6&G\S>47#Z60B^:$FQ,F=:F&!Q@'UM0K3]3O2L>59'YK M).6[ C1=<^_D#R9]92"6.XA97%_>[ER, 2^9D \_.6&)_>V7=,$[6DJA$F" MXCA,-K%@K5@OLRVZ8EP+:]W(8=UF981XPD%.R]2B^D!QM T4-UQ<)ML-]D#& M.PA W3K'BJQ'&4+M^C>[B7U0UH:D>4F.$S @*N93&_<-1Z[K8PCS['EO^"^HE!L;Q J ML;SHO!3V[J5R!2KN8\!3QC!"? -('(='LC5L&#_V662R]34,U^V5?/,#9CF^ M\N%0X#2 RL8/K:>_0]02P,$% @ 3H (5U-+@#QU @ M04 M !@ !X;"]W;W)KBK6Y;!=+?'WB1Y.<;;5Y ML!6B@\=:*CMGE7/--(IL7F'-[4@WJ,A2:E-S1Z)91[8QR(L05,LHC>/3J.9" ML6P6=#'3R3E=8/7K@LYBSV":'$W'D$3L<& MERBE!Z(T?O68;'C2!^[?=^B? G?BLN(6EUI^%X6KYNR<08$E;Z6[U=O/V/,Y M\7BYEC9\8=OY3F(&>6N=KOM@RJ 6JCOY8U^'O8#SUP+2/B ->7S MF=%;,-Z;T/PE4 W1E)Q0_J?<.4-607$N6VJ5HW*&AQKI$I8&"^& JP*^N H- MW K[8&>1H\=\2)3WP(L..'T%^!2NM7*5A8^JP.)Y?$1)#IFFNTP7Z4' JU:. M($Z.(8W3\0&\\M@3OQ^%Q!+? $U %7K4)(3X[_5EQ2&A*6VC2Z9Y-,1BD<4=.,WM&1G.U) M+_V2:&^4B-LZ+ P+@6 W58-VV$D7W2C^<>\6VC4W:Z$L2"PI-!Z=G3 PW9+H M!*>;,)@K[:B0X5K17D7C':NUV@G]@V-39;U!+ P04 " !.@ A7S_3U M1-<" 5!@ &0 'AL+W=OO91-56<(GW&DQ=EDROYRA4,_4B;QMXX,O"ND P MFU1LB8]HOU;WFKQ@AY+Q$J7A2H+&?.I=1N-YXO+;A&\<&[-G@^MDH=2S8WFY+5[AO;]%OVMZIEP4S>*7$$\]L,?5& M'F28LUK8!]5\QDT_?8>7*F':)S1=;B_V(*V-5>6FF!B47'9O]K(YA[V"4?A& M0;PIB%O>W48MRVMFV6RB50/:91.:,]I6VVHBQZ7[*(]6TRJG.CN[E2N45FF. MQ@>)=A)80G5K0;I!F'<(\1L( [A3TA8&/LD,L[_K V*SHQ1O*1#',:](WB]78N]%J_WCQ;7<,U-*I2I-<+WRX6QFN[$CT,==X#)84"GD[&I M6(I3CX1@4*_0FWUX%PW"CT?H)CNZR3'T__HB1Q$.\WL-"WL!8'0BQC*+&3 + MMD @L:(&E4.JC(632G.9\HH)L7:),F,Z:Y=\: J>%L"J2JL73C)Q<*FMF>A* MG?(@YYI,+OV-1=/!:8F;4U"Z94,#1?!?;"$05DS4> ZO"?N$1[/ .)+$RY', ME2">7"[AA$N*J-H0-7,Z!KI#:Z K=(TIE@OJI$?. VO $=2<"0/OH=_WDXNH M,X;Q )YH?IQQ>4:=+.G<#"2)WT\N(!GXX6 (-UQR$EH&2Z4R0[?3C_LCB"._ M-T@()'*!BU%K]?RH/X1#ER'8DVJ)>MD.)$.MU=)VJMU%=S/OLI/ZG_1N8-XQ MO>32@,"<2L/S8=\#W0VASK&J:H6_4);&2&L6-+=1NP1:SY6R6\=ML/L3S'X# M4$L#!!0 ( $Z "%=;P]5>VP0 /0* 9 >&PO=V]R:W-H965TSHIFTZ>SI:.[96VB.]X0XG2VU:Z; TJ['=&)9U8&J;<1)%DW$K53>:G82]"S,[T;UK5,<7 MAFS?MM+C>'2W\5&MULYOC&DH\@9QPY7S$B2&:S[GIO&"8,:7 MGRKYQ'_7V5][YDWMYE6YL M^-)VH,W3$56]=;K=,<."5G7#*&]V<;C'4$3?8$AV#$FP>U 4K'PMG9R=&+TE MXZDAS4^"JX$;QJG.)^72&9PJ\+G9+UK76]4T)+N:WG5.=BNU:)CFUK*S)V,' M'9YR7.WDG0WRDF_(F] 'W;FUI3==S?5#_C%LVQN8W!EXEAP4^+YOCBB*!251 MDAZ0E^X=3H.\](<D_D+2#\IZV]CN!VA\O;@'.C39.^E/+*T#6 MT59:PF^I&\#>T@O5D5OKWD*8_?F8+HQ>,)U+4UNZO+6.6TM7VLEF+U=X=KVD MUUQQNV!#21YJ(*:?*)X6(DLRS-)4%-,#^DC[I16\ZFE=? M>F6'S>?/"A"^HCR/PA_ !FP[ ,T8[JI;0KX[V\@'Q"]BD47YS_OQFQ:F0Y4F M>_M@791$L V<6?;_M&5%'OZ/M0 'M[2#P>,0Y-$0@EB424F?F-;RFJG3#IFI MM $0:767+M5NI#(^1SX[!EE!TM0-M0-LVA\8^W5\ MGJ@FHZU%JJJ^[1$0F/ ;'J2G=]_<*.M4M\+E>XU'98-MQ]6ZTXU>*;8A.+$H MRHF?Y:G ^^1GA9@,6U.?C5!&>2P0PHJ X2C KI_X[S4OD M*44$7FZ,KACN>.=1(X)6W+&1PRTF:[R@RE_JOA7P ME+@#\,UR E++*;YQY&LD$6F0B3'U0W1_U\9-^4 MU2AGF+.[-A*1I;E?9/!E@B^FN&]$4D1^.O$1*,+N%+1%6GIGT>PM'<1DB,HT M7#1BBA)[ZB$;W^M$ *15Z+&ULC57;CM,P$/V544 (I&IS[96V4O>" +&BVA7P@'APDDECK6,'V]FV?\\X M:4.1NA4OB6<\<^8<.S.9;Y5^,B6BA5TEI%EXI;7US/=-5F+%S)6J4=).H73% M+)EZXYM:(\O;I$KX41",_(IQZ2WGK6^MEW/56,$EKC68IJJ8WE^C4-N%%WI' MQP/?E-8Y_.6\9AM\1/NM7FNR_!XEYQ5*PY4$C<7"6X6SZ\3%MP'?.6[-R1J< MDE2I)V=\RA=>X BAP,PZ!$:O9[Q!(1P0T?A]P/3ZDB[Q='U$_]!J)RTI,WBC MQ ^>VW+A33S(L6"-L ]J^Q$/>H8.+U/"M$_8=K%Q[$'6&*NJ0S(QJ+CLWFQW M.(>3A$GP0D)T2(A:WEVAEN4MLVPYUVH+VD43FENT4MML(L>ENY1'JVF74YY= MKK),-YC#%\Y2+KCE:.:^)6"W[6<'D.L.)'H!9 3W2MK2P)W,,?\WWR="/:OH MR.HZN@CXN1%7$(0#B((HOH 7]RKC%B]^ 6_-]BP5:(#)'%K)3!CXN4J-U?1= M_#HGN4-,SB.Z7IF9FF6X\*@9#.IG])9O7H6CX/T%ODG/-[F$_K^WU![JK6\RP2E%# M3,81,U,5S0_#NA:DTT]18L&M@=<0C@?Q9.06P\%DE,!=50NU1P3ZZK,GJ!N= ME=1P4 LF'2&K>=HX($--8LL210[)($PB>@XGP[XFEU05VVJ*J&NP;$>2XL$T M22",!I-PW,=NF=9,VCWM#H.1@YM.^TTZ-:N;S#;:Z28R>D,X43 FN5$RA:\M M.CM$X\XI=0&#*)H08!*$)(Y.(PEC6B31( R'<.[S\$\:N$*JXL:4NX1&VJZ7 M>V\_"5?= /@;WHW1>R+)Z80$%I0:7(V''NAN-'6&574[#E)E:;BTRY*F.6H7 M0/N%4O9HN +]_V'Y!U!+ P04 " !.@ A7Y-CBA(4$ "3"@ &0 'AL M+W=OM&O1WFX?AGU0;#K6*DN^DMPT_WZDY#RZIATP($@LF3PZ) \9G76FEWFE3>-T>#@HS.PT29/%QKV<5IXW!J.31DSQ ?UC#WR7.W-HS<"038YYX<56<)D,FA ISSPB" M?I[Q')5B(*+QO<-,ED>RX_KS OTRQ$ZQ3(3#XR7&^7"-\RB;7:00-XZ;^K.F1C44L=?\=+E8C$ZLF8%E:T+CAQ!J\"9R4G-1'KREMY+\_.@")_YDX F)UX.\\QI'K^P= MKWVX,=I7#G[6!1:O_0?$8$DC6] 89Q\"?FU5'X9I#[)AMO,!WLXRK)V M_-! M6' A7:Z,:RW"GV<3YRU)X*]-P4:LWX?V&9/1YT_I_O#X M Z:[2Z:['Z&_6X#_]H);#5];C9!E(6_#'LP04'NT6(#4WH#0\$-ZV!^2ACH9]Z\)O@?A,*SIPSN0PK^-*AK0P7*'WX M1H==^+>]H 1:*GR+39 M0-2FI2",!2]K1J>4Y-1N+-^6TIH+5T%)T]3%U&U(U81JS-&R%)P'09_(!;\S MPN*@IE$R%Q.%@4^PZ$&C6@?#?IKN'FYUJ[1_L+<%#5H2E&[K/EPMD!LQ9\$X M$%0;6@0PRG+-XT'-Z=%YH52T,<^, *4L/:*.0B10:8H8R))OH$JD:2I026)% M8"8<[/73@ZVN6%1_2 \^4/YK.#<3S9K"0^I78N245%AP$=:)=.$!6;TCRI++ M1*^TZ42_J%[YNO/ZU U0MIZ'D<)G5$'I41HA+PQ"%.>KN/"EB>-0_CL[5KHG*F+7L 0?\E,3LX#"?1.HLC');CR//#@7 M'1%<'1IXDF(I+(82+%:: GH:&:[+TFC<#EKI\-?D%LM(:GG!XJUCQC8L&TK M6E5)(XNN-:\[FC,1&Q;_7[LR -T"\NH]*:R-SQ4-&F]G)'?;=3;MQ0SY-WH/ MA>,^E[JE446G=2D,L^R=%+Y-TC(WF_Z;!FL7A1KM-%R''!U$DHUWAN7N\L9U M%B\:*_-X7:,&G%)WDYA+0TM63-I_M MFLB)Y[*H['5O[=SFW7!HLS65T@[TABK,++4IIS95_=F=NKG3M"E71G1&V+DMIMA^HT$_7O;C7/+A7J[7C!\.;JXUQ$[ M1 5ECC5(_/M""RH*5@0W?MOI[+4F>6'WOM'^#Q\[8GF4EA:Z^$7E;GW=F_5$ M3DM9%^Y>/_U(NWC&K"_3A?57\11D1Q#.:NMTN5L,#TI5A?_R>9>'SH)9=&)! MLEN0>+^#(>_E]]+)FRNCGX1A:6CC&Q^J7PWG5,5%>7 &LPKKW,T]66?JS-5& M52NQ6$NS(GLU=%#- L-LI^9#4).<4#,1'W7EUE;\4.64'ZX?PJ76KZ3QZT-R M5N'/=3$04=P7292D9_2E;9RIUY>^*DY9Y>*>"NDH%[>,"^446?'K[2.D )3_ M'^@.2^8+]6Z^^R:>1._/N#]JW1^=T_[Z,IU5<]S) MH[HY[XDXG+HK9"7^C5_F]",9D8Q]>9*^>"(A<[WA=$JT:G?1AA>]^>Z;69)$ M[[W2E_-^-GY_*9P6LE"K2NC:B$Q;)QI10E^X-=;F=08K.:@)-2SH"Q6V+QZW M+$BR1,!-?56Y,?H+C]R:!"V7*E-495L_^5A;I,9:?DZ>&/Q(+[UE4)Z13!IV M(/ZS5C8$H:JLJ(%N 2(C[_L:+)CING+L@-S WK,"45"Q%7'Z;:.-:0GLF1$K M(['0Y4966[&6%N%D>E6IWZ'T1&I$MJL'E!U:N)@-8C!"43"Y0;^P2(:1548^ M0BHWA=X2O34[G',ZD:H0!:N_B ;IH0*GL\]OF>-8N@3O6Y^%?LC]Q;1CD)^H MRJ?VS@ -8B%-;N'#"HSM^JQ\?$SX86L=E1U!]O68\$*;C485D+5?2.1:5-H) M>MZ@6@P3A('4RCQ7[*$L!&?%*-SX.$43-439[(GL#G@B/@'S!P*@RP[0XP.@ MO]1FNSB/CPET@1[P21XB)^#(N6EQ35]!DS&7X;\N5(XG,)&1<=B&D8JJ7LK& M,.Y4$?B-B_RH4/KPSG'2=\7WC24$>3/ZI]WF' M@D^5XA0^. A[17 *>3XOUQ?_).S#5>C@6ZOD -= .-B#N4.PQA*W3+4*>AM' MN ?WZGT=UQ+)]S R'!(9JZN*"G'0+ZS#]U6_#:X?(O5JP^FB[370Q6V+R&(+ M<(,ZI.FX%C+76*^Q6<*_SQ1.)SHD5>;_Q[XO,@FB5F[KJ];$ Z\[1TU%$G^&G.-WS2T,A M>< K0T20Z"G9Q9\+Y$TP#7G)>>SCM[XBL?32(QC2,:"MY0X>2_&*?\>\'J# MC/7%"CN(@5E>*7,@5?')EG<6,1'CN9B,VY73$?_8;LJ>S-F?23QK/4G'/#N> MQ>)!/?_=.8JC"3N"8-D1GYX)/TF]:^-Y>B9)LP3+YR*9[[,4S^?^[S5YBOO1 M!-+(1-R/9U.1"EX<<:'B?O!E-)WYT2P=>\_FG+J$[V?S$1^EFWV($7Z(:9EE MIH;A':%9I+8,J:67J?TS^/ZPXS'$U=#;0^LL&E8+V?^>LG#< M2>-=#3FT9,1!-?D[?A>D[H\V^3R>H@)CX"H229KNDK60=HVM<1OZ]$W#,'!ZX]_808YX__>W_*I!A@4PO]3:-0,VT'["N?D#4$L#!!0 M ( $Z "%>6TP%IF P 4E 9 >&PO=V]R:W-H965TJ8*[LO^S V#Z O=']]4*\WQGYV2Z5*\37/"O?F;%F6J\N+ M"Y?2;F]49C9OSGIG]8./>K$LZ<'%U>N57*A[5?Z^NK.XNVBHI#I7 MA=.F$%;-WYQ=]RYO!K2>%_RAU<:UK@5I,C/F,]V\3]^<=4D@E:FD) H2_ZW5 MK5*DX?-D"#7A?]??@UV:&V8=!_8$(<-,*NQK[SZ46HK_I!9I80L4O%66;V6 M9"CQOG"EK6#_TKV^*,&*-EPD@>R-)QL_0'8D/IBB7#KQKDA5NK__ B(V?:;7?UKOM]HEF7&554[\XWH&K>$J_SRE MLR/;B9^)GNCQ*DE@Y#4VLU*ROBP.(#4[ M+P%X7A$B8P5\L7 R\7MT#6)"?4V6LE@TPN/5VF1KLMHIZ[PZD"1N2U*5.(5_ M*YAI4>@Y=A8E)"-/D#C38($(J)TL2;E@Y6!>DK&V;SA;/&D=;72PH5!826YB MUF0$F.MF1DKB?5L MVUX4_ -_0LA#:;AGMO4>7&69(&64!T'OTJ0OHC;8JD5U);>>)*W%4UNI ^! MTK(K;#%'!@7@D$T[XGH'\3^W)/W0.O%6?N$3_]B<^ V?^/7I+/$2IV&]=E@L MOM?DXZ9R(.I^N-SW@QJ?:Z^J7>HW4T(M+\TEG[A07RH</E[Y[Z#,&%]2+->-)KVFF7U__XI/'$R[AZ] M#(\_,'..T1W>7QXQ&(RB2;=_1"0\OE6 #X+^TOMV"FQVNFR6Q?WAWC531\E> M)-MV5FWD'D3C?O_P]M;8%0.RF!FR5/UZV(^ZT_'A[:W)!K"328[EW? 7FT M<\9N">94*]2/[#F-1_SWOD#Z(#1E?=U&KAYG&4?QJ']PYYTOP.>W8CR)1N,^ M+J:#:#J,Z0*,OA6]\2 :#GOM6+M\IL)MQ_Q^U/WA^(&7H1V#3^\Y@M#_;7C% MO2A^,+S"RP>=!Z8;30_NGG#FZ72T=QU8#+&WY87C*!X,GAN,\3#J]J9'SA,> M/Q6,X^YH[_JI8.Q%W<'P\/:A8!R-HWY+X7#[6#!.6O$6;H,BO6X_FDYVD=V+ MIU$7 K\L&D>CP=[U2Z(1H4]_+X_&_GAP<'<0C<";>#JA\.O%T73:Y;BDZ$2W M%\7]_SX<>]/^#R>>/!&0#^SBT'JW"RVN:=H9U+=IR4$$"N315E?6U(HG&ZUV M)X#+4VU(IQT@]SM710V99#"MGF]9COQ4&%$R;^K1UO $W\!2]\#2MF:?#,K'6JCOLA MWYQQ>57OVVBJ+YA?QK5BNZ'Z5Y4NB&E'W%CS6>UVP<3<4-+\#!7)!CTU1&_W M3+2$RNM&>=]F[Q2I%^Q4(2,>J@-Y _'93@(FGL,[:;[&@[(U>\/.-[S5_);S MP.'0A@15"V/1ZZ1T2C7,MY?-5"*I(VDY'3@W'G700C[+E'"G]U G3355JRB1 MT;2U6?IV!.W='!LUV0EQEK))3%;E7/"F"D4L#7Q*Y1O*_0$&RHR9[3B5]E5<9 M=ZFA%%.KJS8I#7+X:'U#W.:X MU0J-,@!F[>'%AW:'X%I(WX(Q^0JYTM$HXTFAOU2P*% ,Z.![-C_8(O?EPY(@ MPB@[1U,BEBI=*%=WF.$I2>),HGD]!4*(]D.N/O2\$?RA_ *P8S(!M3P4P#B2 MU>!!BH?2QSWJOCG,NL\5/WK!H%!Y=)*GQ6L91;9C@#0"^V%GEQ"(S,[A\,S:\=MQ^ MNBI#U[_Q0T"H9<*8L&ZT06$>9/$:HEQKZ@'B[&.W'AH=K<6#C;1IRZX@SAZ$ MXH_BETKDD@:2N5F'XVOQW&<5IF?S.2!?)"@X00!+M&-/.>(-0Z/HJEWX] 07 M][0/#DBKCDA8)(4BS)/#H>\--PE;_8@)@0^S+ZS,?%YLA1\%,:@!BZB< M]G/?5-4WP35.V'D5YOLYI%W40\%#V MCL&>8GAA9%MT WC.2%8JW+6Y#ENA;,K\*C]$3MM ]@C"U;Y0 M#^Z?-@6Y.PFWAW+LF%S>M"2#52+F:DF:;,O1XH'A-*RX=G4L70TV(0F0?$D9Z]@.^YV(H2?J>M_')S(!QHLF[Y"=':7A74G2X M%WSY<>P?Q6&^B?X_#^)/%D]D3=#P[87F1(F85=(6$-:%6D8XB?/92;Y9ZL3G M7399NA>@'C5=0R,*\_H=(?K&)C3.OT:49R7:X"72^8R:K\"OMK3'^984G0=* MJB.X/]EI;N3IQJY.O4\DJAKLV?561G/9=TTI\R5"H,"GKPB,3$A&>P/9C MF(=#Y=N:4EU9B#L:W1#;YLEU3JA[=/^NLD:\A0+H@FXJL)A$PR$/&*;1M-O? M>W]/Y4DOZH['^+H.7;?)]4)X2_6ZWQRW@D;7V,:<580$RFT\T\T-0 M66J46C99;H.S;YD"OZN__=;=ZUX!'TJCXV]Y=>'^)SX]_&**\\//#\BX]<== M#Q^$;>PR!58??6:HA2\#I*J-&E4N=+Y5>48A'XB_&I.S7]!Q-$B*# M/IHW!=7Q-PWB=OA=0\\)K)O@#>@<: #99AXZ-*E+8Q@/0 ':> "P(;-]IM9X M1K;VWU@AIG?43DAUU"R24BF"K'(N=!@T_TJE>=K\QN?:_[1EM]S_0.@#V%""S-0<6[N=\? ,]1;_ MZ,;?E&;%/W1!DBU-SI=+)0$^M #OYP;RAQMBT/SRZ>H_4$L#!!0 ( $Z M"%>+U'IT; 0 ,L) 9 >&PO=V]R:W-H965T5\ MHR*6OAJ'M6=5)J/&C//)9#YNE+;9XBJ]N_>+*]=&HRW?>PIMTRB_O67C-M?9 M2;9[\557=907X\756E7\P/&/];W':CR@E+IA&[2SY'EUG=V<7-[.9'_:\*?F M33AX)HEDZ=PW67PJK[.)$&+#110$A=L3W[$Q @0:WWO,;' IAH?/._1?4^R( M9:D"WSGSJ,M87V?G&96\4JV)7]WF-^[C.16\PIF0KK3I]L[RC(HV1-?TQF#0 M:-O=U7.OPX'!^>0-@[PWR!/OSE%B^5%%M;CR;D->=@--'E*HR1KDM)6D/$2/ MKQIV=9?Z&Y9R^.!OK0+_8DLN7]F.P&*CD.RJW M^;N GUMS3).3$>63?/H.WG0(;9KPIF_@W7M7MD6D/D3-@3[J4!@76H_GOVZ6 M(7I4Q=^OQ=Y!SUZ'EDZY#&M5\'6&5@CLGSA;_/3#R7SR\SO$9P/QV7OH[^;D M7>W@Z)')K5;L:;-7!(U1L(_H7EIW>@52MD2_%3 HN 0.(R2EX&D6QI=J31?P%)! MW4($6&X'N)721AQ[D(*U5579+8V55=[X)44?B&K5 [D/]C;YVM?.F\6#DHCZ$9#Y8'P M"+4,B@@#]R?EM6O1*'#OI: MC4XN+G#/1^>34[HI"H]A>3&GDWFZ7YR=TVL#?'SP@T4%5^D8$2!T:V/WKQW>#B>5F^X'O=_> M'7.^*(_H @;3"J:3X[/3C'QW=.@6T:W3[WKI(MHE/=8X;;&7#?B^&ULC55M;^,V#/XKA'<8KH!:ORFVDR4!FMX=;L-U"*Y[ M^3#L@V(SL7"VY)/DIMVO'V6G:0.TV;[8)$4^?"A*U'ROS3=;(SIX:!ME%T'M M7#<+0UO6V I[I3M4M++5IA6.5+,+;6=05$-0VX1)%&5A*Z0*EO/!MC;+N>Y= M(Q6N#=B^;85Y7&&C]XL@#IX,7^6N=MX0+N>=V.$=NM^[M2$M/*)4LD5EI59@ M<+L(KN/9BGO_P>$/B7O[0@9?R4;K;U[YN5H$D2>$#9;.(PCZW>,--HT'(AK? M#YC!,:4/?"D_H7\::J=:-L+BC6[^E)6K%T$10(5;T3?NJ]Y_QD,]$X]7ZL8. M7]B/OIPREKUUNCT$D]Y*-?[%PV$?7@04T1L!R2$@&7B/B0:6'X03R[G1>S#> MF]"\,)0Z1!,YJ7Q3[IRA54EQ;KDVU%_C'AFL&Z$< Z$J^/B]EQWM/*D*W3QT ME,B[A^4!=#6")F^ 9G"KE:LM?%055J?Q(1$\LDR>6*Z2LX"_],T51#&#)$K2 M,WCIL>ITP$O_7]6G1<-?UQOK#)V7OU\K?43FKR/[.S2SG2AQ$= EL6CN,5C^ M^$.<13^=X.I2:KJ\UF$%>@NN1MCJ MAJ: 5#MX+Q59=&\IS%[,@#K\"-3@#UABNT$#*2E?/.8[B',6I]FSL.IE4WD0 MO[QY4F3;&7V//KL%SAF?)/XW31.X%65-59O'4Y*0%)P5:0Y)GK&XB.!&MUWO M*/FSBP^P>NOVPB#PC.4Y!SYA19S"I]XHZ7JR>Z>M?/"RA9SQK*#OA$?P!6E@ MU+JI3MD5!>-Q!D7&)E$$=_WFTFDG&N#%E$5%"CPO6!S%%&[M#*[+LF_[1OA] MK)!Z5$HQ3C1**UIMG/QG-+Q/^93%27I!4CIA>1Q?P*](S>C.]0KB=,JF600Q M3U@Z]=N@Z/SWP]B\E.J2HDMB AEG69P3.]K; GX;*+^C*\G9),]]>XA^P0MX M[:"'+T94BV8W#&)+)Z17;IQ61^MQUE^/(^[9?7PH;H79266AP2V%1E?Y) S M#M]1<;H;!MY&.QJ?@UC3>X7&.]#Z5FOWI/@$QQ=P^2]02P,$% @ 3H ( M5T%/]!KA!@ VA !D !X;"]W;W)K&ULO5A; M;^.V$OXK SY8TL"E8$-_[:ZAQT)EFP M_[W3_I./';$LA94WNOBB^&*0#RN5*-(6[UYM?Y#:>">O+=&']7]JT>R?A M@++&.EUNA>%!J:KV5SQM<>@)I(<$XJU [/UN#7DOWPLG+L^-WI#AW=#&'SY4 M+PWG5,5)63B#504Y=[EP.ONZUD4NC?WQAS2.9N_H]J]&N6<254Y^^?0:8>=T MHTM0P0I&\WSD8)Q5C+*MH>O64'S 4$(?=>76EFZK7.;[\B,XW7D>[SR_CM]4 M^&M3#"F, HK#.'E#7](AD7A]R0%]VZC_N%I:9T"6/U^+L54Q?ET%%]"9K44F M+P:H$"O-HQQ<_OA#- W?O>'@N'-P_);V_V:J_B>&>%#BQZ_3O:P;DZVQB^Z, M?C"BM/2IHD^9TTMI*)[ZQ(4!Z<;0M18F)[VB]\J@7+6Q)!JWUD;]#2."W$:? M/DMAJ&Y5D=/H")V!IN:)HTF("BD*=@6JT(&L@[^J>J"L]/=D&Y#7>93\^77H4LCX*6Q?MD-XWAHV[ MM22KGJAL^2^9__1K4TF*)QZ$.*"-[,63TW0V#<9A2G8MS"M>H!?343P==O$. MZ0M0<*KP>+%!([DCL_D5? :3-SL\GW9"X@45B-!NG6/L;:*#Y("-IJ#67_ MM\3^QAGEU/1#V06X02 DGVI 0GH/M?%_HD3Q3-M^YAF1JYPJ[?I&1/6\Y_>0 MKGPL^[)'43J<=HBV5."$['%@U;AF+P($]@GQU[I0V3/F"^&83/U\V38]9A\[ M4 >[L,$\2!^:? +$6XRM(_T(:&M4[Z,H&I^F/B^$RD]519FHE<-8(STM/BWW M6Y0=T,P1+*#M>[.16"U%+HDU(%F%XO2V%+EO$&D4+D^CM&.YI(7,D .G('W[ M!#45?+[*'#L;S9,Q. :;I<_($$T,9X'*&(>VJWVNE+/]Z1U[E*-C[I5Q^.Y^ M\=E_1>].VDL'-\X7?LFVDRKX6?&-A.H"E;)ALQ:)*7!-LF=;0U_\I0)FK@ A M[DCTLQ&5(YSTDGX2RM#O'E%8A#3F929+[JY)2X68XB".9T&81G1$R608IW2U M0F!%4!P%830.IM&.=*G(R5!.$Z"*6H\28:SE.ZD\9=)3M0!@+]P5I];)_?WLX$= MT'<\ZJ!F"DKC0'7P#TEF;"WJ:*VRM8^'VIIN:A"W@9O96LE'WV.V8F@F7[EY M].QEH(HT2OB:!]<\X2J]V]IJ]'YTB.;?6>+#K1P3'&0H&MX "J!0/!M9 3:\ M4$@L44A#N@7+];.46\#NNE.6:?2A:N_I;=UW%?P*#=]4LT/X=G%WUP'\+447 MB*Y_I]O/^J(M7^ZX6(JC, @GDQ="BRVA ?:VE?8:J0+R1P2(YO%;$CD.*-V M(;ZW,UXKKHFVR[S6J/#!NW(N'ZSO3@/8.AX/X_CD\-5F<>A08%"Z[(%#;/-& M XZJU5%9M--_Z0L=-+Y/=SK.\2$,9WLO2WL>W#ZQO.S:-8]] M%Y@%LQ08#F?Q2P&WZR_EPP4WB5!BER!:_BUQXNH]Y[LY0X]?E5;\ >LKC;O>=L &NG]G M7/X#4$L#!!0 ( $Z "%=.2DYF\ ( -D& 9 >&PO=V]R:W-H965T M^ &VEEC$-)"9$M_%AV@L$?9:;;[@MIZ^P\N5,/X+FS8VC0+( M&V-5M4TF!A67[/27G7^G>SV6N*H0:-2Q*IG$<6D)VZV&^19FW*,D;* .X5-*6 M!LYD@<7+_) 8=;221UKS9"_@12,.(8I[D$1)N@1"=[R&8=V6P? M^C_?R5Z4W1QW0<.W$F&E!/4G'1%8MA1(_98KF7.!!BPM&Q=HH#%8 )>0,Y$W M@ED73SW!\*RI6H,19H/Q\1$([YX2[#@]R\= M]#0>@%[&12,1DG[OM>/&MR(6']D=:E*65^Q553=_XSX<]N+^D1M&1T-OQ0D, M1[UH&,.L**!6%J7E3-#FOD82%S"8-YI;3IME_2&12N,4TG3D9OWD/XCM/34B M,X@',#SJ)7'DK*P?.2M+4E@\,9#*YXK&G1KS]_A &MF( DHB $M$4D6JH:.? MC09 &&F6PL&[41(G)[#K.8?/Y*9"O?:B:HA](VVK/)VWT^U9*U=/X:WH7S*] MYM* P!6E1H?#?@"Z%=+6L*KVXK54EJ303TOZ]Z!V ;2^4G0/6\-MT/W-IG\ M4$L#!!0 ( $Z "%>P_-3!1@, $L' 9 >&PO=V]R:W-H965TV3HM 4[=+?>M05-%)JS3/LM-4"VF2[3JNW;GMVG9!28-W#GRG MM7"'2U1VOTD6R;AP+W=-X(5TNV[%#A\PO&OO',W2":62&HV7UH##>I-<+,XO M5VP?#=Y+W/NC,;"2PMI'GOQ6;9*,":'",C""H-\37J%2#$0T_ATPDRDD.QZ/ M1_2;J)VT%,+CE54?9!6:37*60(6UZ%2XM_M?<=!SPGBE53Y^8=_;GN0)E)T/ M5@_.Q$!+T__%\Y"'(X>S["L.^>"01]Y]H,CR6@2Q73N[!\?6A,:#*#5Z$SEI M^% >@J-=27YA>V6UEH&R'#P(4\&5-4&:'9I2HE^G@4*P85H.<)<]7/X5N%.X M)8#&PR^FPNI+_Y2H3?SRD=]E_BK@[YV:0[:809[ERU?PEI/>9<1;?HM>N):^ M5-9W#N'C1>&#HZ+Y^Z4L]$%6+P?ABW3N6U'B)J&;XM$]8;+]\8?%:?;S*Q)6 MDX35:^C__\B^ P[^1"IY#P^(\)<-"(O5;%R;1U-.42<4O"V4W F^:2/,9]BW MG8/RR-;^Q[8\LFW$$X*Q@8H\H)-"J0.4C2!"%0@/M@8JB0,,%0&ULQI"8SU" MU1\>V4D#ED)>&,/1[K&U+@"U +['L,A^^@.HFY$7P@&% ^1:A6LL41?H8-EC MYW,2NB/_6Q&(B8>;&(HZ$@0;_S/8(PBJ%=\5_U"7X74575IG2\2*TC@(5$)J MS[PXJ'6T0QV0='>.B).FHO-T+-[/>H,N4$HPJMTWLFR@%(9S4B"@I]"4FHH: M1: -=(%:;SC,8Y9%(94,!V8R&GZ)J,68SI&-X1200!V9\@K6-:NAX,(<2!S' M[UV(L*KZ(Q+3 8&HGI!UC'Y]]FO22#7$V;!>\F'/J(M[ZI91%STK;B@!.HM2 M^ 9J>B'\_*4;DAXU.(UN%]NX9SHF]+UN6IU>BHN^07XV[Y^96^%VDH(JK,DU MF[\Y2<#UK;N?!-O&=EG80,TW#AMZ[="Q >W7EN[!,.$ T_NY_0102P,$% M @ 3H (5[;F*\.F! >PH !D !X;"]W;W)K&UL?59M;]LV$/XK!^\%+:#8UJOM+#&0="NVHD6#I&LQ#/M 2[1%E")=DHKL M?[\[4G*=Q/47\T5W#Y_G>'?F5:?-5UMS[F#72&6O1[5SV\O)Q)8U;Y@=ZRU7 M^&6M3<,<+LUF8K>&L\H[-7*23*?%I&%"C997?N_.+*]TZZ10_,Z ;9N&F?TM ME[J['L6C8>->;&I'&Y/EU99M^ -W?V_O#*XF!Y1*-%Q9H148OKX>W<27MQG9 M>X//@G?V: ZD9*7U5UK\55V/ID2(2UXZ0F X//(W7$H"0AK?>LS1X4AR/)X/ MZ&^]=M2R8I:_T?*+J%Q]/9J/H.)KUDIWK[L_>:\G)[Q22^M_H0NV,1J7K76Z MZ9V102-4&-FNC\.1PWSZ X>D=T@\[W"09_D[JO=&XZ2[-7$(1;M3,K>[S;X)3_P*^"#5JZV\(>J>/74?X(<#D22 M@@8O/0A+/5YZ5AC\>[.RSN#=_W=*8X#(3D-0/5S: M+2OY]0@3WG+SR$?+7W^*B^EO9PAF!X+9.?0SD3_K=YI5K_8+!TDS+!DP&EU47)5,DE6TD.6-N&.:$VO1O;&,ZQY)P%K'X1X#P M'FO2--H@V!LF!:(HP<;P$9UET%2S1])##8:((D!C"3\&IZ& /6?&1IZ?U0T? MO(0J95N10N)CR9;O'$>K=DN+9!H\QQ0S)JT.YSP+2"^KQ2K4*R%QW0E7'[$) M83OB1* >LQ(51ML=B#"U'Z)BN.(=!G'@AF'0@]X>RT>?R;*5@X)XMI8]%F)?=0 MH:P\W TIQ)!A9]A#WQ@\87?JE$K84K<*-5"Z$4HV3N:_!$Z8R%NM?%XC8*#! M=_C'9@D)Q?L$IL!9>(6B7:U;BT?9UY?HCS7QI-O!@]@]W1@HOFL5AR2/7FZ\ M/S[S$CX^*[R!S,^01'&2A7&>XIA%TUGAQVR:P4.-!7;A(_C4,4X+0+MDD4(< M%_"989E2A3^URA"RF,V069(L\#=.]+=XFYBJ_V :P$WC[_7>IY$_V[( +^OM7;#@@XXO#>7_P-02P,$% @ 3H (5PTE/8BG!0 M[@T !D !X;"]W;W)K&ULI5?;C4Y&$P&W<('O2HC M+8SFY[51.BJUIC(*BT3?_E M?1N''8-7XV<,IJW!E'&G@QCEC8QR?N[=1GC:#6_TP%39&N"TI:3<18^O&G9Q M_D&ME6W4^2C"&2V-\M;P*AE.GS$\$>^_ M-283X\E03,?3HP/^CGIF1^SOZ# SL?2N$M? ZJ$ 1#>6XIKCJKSXZW(1>/WO MIP*0_,^>]D_53^4E^\R%!^] MM$$FZ==>YTI(8UPNHRI$="*6"C5%5:OM2M3*2[,*9>&\%\K(5 M;5J&8J-$*0OQXG4V@QR-(?=N^6U7L"QU7L+>*Y&["I "D, 4):2\QS.%D'#F M;:Z"D+80ZCXJ4IC82 ]*(4RZ DX/!.?%(ZJT2LH.JW1%P2MKKV[URA_A3#,3K+3EP3:-?[;G(4, M/0QM=T)>0'IPLM0AEZ8-[%<''6>O7I+1PY[9D/GN[SO-CK_:=LR[&LI0$VXD,&W\<(.[?0P!H?O%YIBV.+QK??R955 MB*T$0R^,"J&%;8)[.%O;-$ZX+R\P*X#$:[DPG/V@$:#V8Z]99:/V1!GID1"3 M,WAN(/&HPU)CP].0LX?27TA#'Z%JB@A$0D19NX^54LFM*/02RDS](^Y9:+MV M.J<7@,G;9A(R<9GGKK&1LIXKO68^FM^<)PE#?>0HF=-[1=N'PD**<"L3WPU3 M !>10YDZ"N-"4.3^";^LTJ*3%V*@74%%VBI;K)PK J4"JEDCKEV5\=JF5#9) MF687D]F+/LYH+)8*#HHT!*&K-T@A /8N/7;'#6*MNG1@N6&]$[S>=H&,'SYW MYU0H2@1$.)8CM#I- MG>G%+)OT?8WVO9ADK[N%(:@&:A&(K-FVNO8DG-IYTJA+F "AP+4%"W@*SNB" M%7R5]"?N:%@S,,F=$ 5C.?^W<"1UP7T(YJF_);YY@Q9I.U([+ VJ1AM$BJN* MRPLQV>+:U,N0A 9'_6J1VI$LUJE6EGNED[(E=_+ =P&@*#AJ#]. MR!VNX. ][)PEA15HKIHN8Q2=SONPUUI%:?Z2VD.;:H@M;FN=,QR:-*DK=/,G M$]U5:($[ _2T9N%.K5"*$Z(W%].1KRD^? MJ'&^?9A93]WO1CMW<$R#%?_2H,"@PZ?K>+_:_YBY3'?XA^WIE] [Z3%7 S@M M83K.3H\'J5-V+]'5?*-?N(C1PX\E?I I3QOP?>G K7VA _J?>/-_ 5!+ P04 M " !.@ A7SC.(#XT( !H%0 &0 'AL+W=OSF?"(FVXF/]6+9T<3LXFRM%^;&=+^N/SB,9CLI5;TR MK:]MRYR9GT]>B],W,>T/&_Y9FXW?ZS.RY-;:SS3XN3J?1 3(-*;L2()&]_9U7@8XU7=#JV^'_VP=R"/OG) C@=DP#TH"BC? MZDY?G#F[88YV0QIU@JGA-,#5+5W*3>>P6N-<=W&]-DYW=;M@-V8!9W>>Z;9B M[]K.N+6KO?D1Z@W[N1WN'XX\FW702Z=GY:CCS:!#?D5'RJYLVRT]I%:F.CP_ M ]X=:+D%_48^*?"7OIFR2' F(ZF>D*=V3E!!GOJ*O-%T]M&LK0O.^-?K6]\Y MA,R_CYD[2(N/2Z,T.O5K79KS"?+$&W=G)AAF.OKLW94^9RZ[G\[HTCK/-TH(/[BA!]R0#*#+1L\X&V3M-@'D+-F*Z:6RY MVPH%I1DLT-X;[VD>L@+XMC0,'=8M#8.AM3.LM*NU;A^F[#VO8I7:5WVX+VFGMYL%W9K6;G[)/2P( P!N2 M,,H.M%G_ =1TYDO#;Q^.0&$G%>1HYP/:I>T]E/J7IU#AC#E(3(:T>F!C5F'0 M&B:3,)('Z+=H+ZV#-G($V7$-4(Y]LIUNOG'W1W-GVAYF_84)D7 5*?3BB*>" M.A050KZBQ23AA4BIEV8\BW+T5,I%41QLDY'B192QGYSUGJV=G=<=BR470C(I MN) Q.Y&\2-1+ED97\"!*ITF[*\L MD=,(C8T&84UC!2:F_K^_\VY$DY(E4 OCWBF#IVKI(*Y<>AE/"UH M6X:I(CK8%H-UHUP<.C=/("YAL>!Y%K&3E,LX?LD$G*U2$:XMA94*8N'LDYAG M0F(YSWE2J#_Y-PG.2\2T(/]F@T>'!I-J&)'OK[\(?X"Y(P+JO9GW#<)]QT-$ M"40H2&R\,T)64'8/>1^&R%':L)__Y,BM:+MC,*3UE%T:Y!C0$B?8-N3[*.#+ MI-3@#M!7@[RM"$=E0)>HXR"6';&1'#QS!JRZL3B^J;LEL^$>5T;['N*F1V^Y M;LNFKW"_?3L2'/28>Y*'26>: 0XTZQ75MC\&+@8%[?FX$=X2]=.W:GFQZ;J__@63+07(4QB2Y_[\&UP3V<^26,_I&>2M6! M:7SKT\[U9=<[PE5B[P) -\NZ7 9GM;:C*ZR(KPQI' T Y3U>!V>63#_.Z9WE MX3*.\/+CW;DA+Q@Y;$$6[\?+<2;=:%RG'WG9LY/O3JA?S^]AY4J[SZ8[9>]M MWU: _$*OUJ_8/^RB+BFI!2_2["!;=U-"@M3RPU3>SKW]^/J*J8C'R/[MZC@$ MN^:Q>IP=AN\;[9=,(MGE;FD8@4?S9#C95W>\W.E';1A@@])0]7B$!$BM.MGQOG*,Y1CMG:(BM"I<0?CP ME0)&! !1' 4 BDY?-1 $4_OISH$YIXZ>X?D#5IP M"R)G2:;(B>!=$"Q,4*A7.8M1KI)GN^,G8Q=.KY%B$./,(CCA5W@#.&XZ) !5 M!X72&(J#$#R))2E!NJ-;BFD%",!:I$P6/$&A MC1,.@L=9PDL#4&9!2M<[,##\&(N$P@^7(R*> MXZCB.>I^S"72(><1W/R+QGN.D8. EDAQYJ'HI^N]#@#0,CLF"*B!*Z5J1_$MR+A,3!#/,Y2K/O MMJ]#_'5M*JRF(0QB>#L.#Q81-& >TB3/LN<'PW,?)L\C*9'C]N3A@^UQ3@)M M$C)J[SDWS@6:0B2IY)&FQF&&< 21;6?'X4!3"*,XWZ,D&@G!'[-G.^1_HBJ$>9;)H 5* MY* DCD@TWJ")".2,[,AH)D'1RHLM5Z6@ $')F,*4M$ ]$\A?)<G"A &$3F MQ<@\*@Z<@[448A%O*5*(4..?@>#,3-!_EB(J M F?C+.9$"&\EBD?:$D,"@6MC2 3+X9[H,0[W9#!#(290U1^Y"R9#"A@P)A(5 M8&:83XPJ>0+'0&4$7W_)7O *LC@!XACGB)(D=DKBLX3X+,:?@>?&Q[$/*+.] MKU\K@^.CO^!]VPT?PG:SN\^(KX>O9X_;AV^05^%OB&>-F>-H-,V2"7/# M=[UAT-EU^)9V:[O.KD)W:71E'&W ^MS:;CL@!;N/JQ?_!5!+ P04 " !. M@ A7@4>L;),' !^$@ &0 'AL+W=O]P74CHU'_X$ZMFL /II?GG5S1/87?NEN'N^F@I58M&:^L$8Z6%Z.KHS?7 MIRR?!'Y7M/8[UX(C65C[P#?OZXO1C!TB355@#1)_'NF&M&9%<.-3T3D:3/+! MW>M>^[L4.V)92$\W5G]4=6@N1M^-1$U+&76XL^L?J<1SPOHJJWWZ7ZR+[&PD MJNB#;- JD__*IX+#WSDP+P?FR>]L*'GYO0SR\MS9M7 L#6U\D4)-I^&< M,IR4^^#P5N%K8Q:JDJ:(*ZJRD83E%F)6ZM5 MI_#N)X? M5/A3U!,Q.QJ+^6Q^?$#?\0#+<=)W_ 5]_W0K:=2?"8VQN+'&(]AZ"\XSM(#> M.V6DJ934XAX/"54;O/C/U<('A[K[[SZ$L@.O]SO O?C&=[*BBU''MMPCC2Z_ M_NKH='9V(+S70WBO#VG?G_5]3OX?:O[5$'JMLFTGS88KIK)(LO%4\U7!$3?+ M 3)E,KGT6.+F'5"S;IP#?F^JB8"A:&2L%9_E%#32BP61$<"GDPY/E4F&70V] MA#X*3;HOA=LY!7.=1NFNR)"36F_X/74AGPUP_#>3]*KJ%-421._O*GM3,2/=DV/Y,;@SJIYAA.7SP[L&X4E /)<8^&[90I26FE 4>SY%@8JLA[ M4+B 'T**I51.="\Z@L]O4]Q9KW(O00R$F1#!9'$%'T:CDKX12TP)G_2R F4" MX&\%!)6M_41P./:/*(2"43 MLHF_4,P.LZ2Q7"B!U:, !G-0;*-C-IJ+*V,B#M]19UU +E*!BZ/9JY^A6D-X M,(NT<)'AG;_.A);CWH_<%Z#J\\'-XI*;0]H4BD&9&E7- ['/5:\=40 = M>NI051Q\4;^,J*\-23/=/[V8?&1"A3$N$EQ M,I^>'(LUT0.@36+L,I;11SSZ! ;71I2Y ME:1^BH;$_&2:7$\*[5S(%^G0[Y.#T/. M#?Z[U)'VI>O@V?V#[&,#!@:A,2]XM="@G)0:MO/(=G*5HX.VS2>]I])X6LF% MTH5'4=TUH?;;A%#TS&N?HN7BQ9KY@+T6S%]EC0K$$10#Y[=,C K_DKQ7K=*H MDQWII;-MV26+?*&ET#A"%2$LG6V9+G(_-3) <,-=%9FTT& M21_=;KPI#,G= MK)D WXC$_:=GXA?6)XZ25,^5$+6+4A')'7"9?A6P*^= "BDX:;RL\AG5[[_H M[#)SBO-X]6CU(Z.V#YVS%Y[,=SV) 5GXDZMZNRK:!>=8(J<%@3*T$%Q!N<#+ M/O;XEMSBR4YJQR\.&.[83%7,I.PQ$S3'UL>2P&9\,(-]B7C,:BTS]+.49!0' M7R$#]SE)6""<75B7N!^PMB-8I-^"]4]>2X(Y+F[E\A'BN;!W,M[#90XO_M9K-(JRFPPNG4 M(Z61QD,=XT6/?!U='VCN8H;Q,%67L=A/$;S>,F^6F9=M13J7UN MK]U@T1GW MOZD\.TTJI9A7*^Q7=P 3V'/]54GTEC=<0,53&8M/)L%U4F> MBVU;DH&JQJA/'.\.MDOE4"4[N *+Y7:.3<35EN)_V?'TPT[&MZ,H9_Q7:U[= M#5G//TA06#W#YCT\+U[PT$#ZLXG2T].MXUTB8%IWFIF,S]*GJ+J\]?Y@;9TF M+3]_CXEL5CRYAKGT>36RM9<5J9; ;3NP&!<_Z,B[E\(O)\7A6M)&J(W\>&)X.'U>N\C>%K7C^,O-! MNI4"8VA:XNAL\@\L:"Y_[<@WP7;I"\/"AF#;=-E@O2;' GB_M.#Q&PO=V]R:W-H965T M M%)N.AC9,=+L30OEDF)AX?7R5;I1U,B6GBNA#33H+2V'H>AR4JL MF!FH&B7=%$I7S)*H-Z&I-;+<&U4B3*+H/*P8ET$Z\;J%3B>JL8)+7&@P354Q M_3)#H;;3( YVBB7?E-8IPG12LPVNT#[4"TU2V*/DO$)IN)*@L9@&U_%X-G+O M_8,?'+=F[Q]<)&NE'IUPDT^#R!%"@9EU"(R.)YRC$ Z(:/SI,(/>I3/<_]^A M?_6Q4RQK9G"NQ$^>VW(:7 :08\$:89=J^PV[>,X<7J:$\5_8MF]'5P%DC;&J MZHR)0<5E>[+G+@][!I?1&P9)9Y!XWJTCS_(SLRR=:+4%[5X3FOOQH7IK(L>E M*\K*:KKE9&?3N9(92JN9SY$J8*XQYQ:8S.&[+5'#DIM' Q_NV5J@^3@)+7EU MMF'6>9BU'I(W/)S#G9*V-/!%YIB_M@^);4\YV5&>)4&Z +^(%RH2UULN5HX-?UVE!B,OO[4- MYN@PIANEL:E9AM. M9L6@?L(@??\N/H\^'6$\ZAF/CJ&G*QK-O!'HZ^5[A.JT0.TJ29/DU$M\0MG@ M(>;'L>]+A$()&E8N-UT'$CK+,M5(BSE=:HBC$Z"C4MH[4XVF ?4.C;^GQH$: M-5>Y 2YSGC&R',-]J1%?M0.L^/-K!57W!:BXMXU$2,Y._U?<$ T!" 1]@.SF]MM\[U^VX_7O>+JT[IC=< M&A!8D&DTN#@+0+>+H!6LJOWPK96E1/K?DG8G:O> [@NE[$YP#OIMG/X%4$L# M!!0 ( $Z "%? D)WAD@( 'T% 9 >&PO=V]R:W-H965TALKEHKN,0;#::M:Z:?ERC4 M9N%%WDO@EI>5=8$@FS>LQ#NTWYL;35XPH!2\1FFXDJ!QO?#.HMDR=?E=P@^. M&[-C@^MDI=2#8WG"D*]RU7] ON]ZI MEQ4S>*[$/2]LM?"F'A2X9JVPMVKS!;?]C!Q>KH3IOK#I"S M++#XNSX@6@.W^(7;,CX(^+45)Q!&/L1AG!S 2X9>DPXO^4^OSW#!32Z4:37" MS[.5L9J&X]>^CGO =#^@$\S,-"S'A4>*,*@?T*5^KNI&27+,/KX'$??S_7<"?,@5: ^CD9^>1KTQB<=P3SH] MYO*XT:HD&@;2U!^EIY"._7 \@4LN.0UT :52A:'+]^/1%.+(3\8I@40N<#KM MK,2/1A/8]Z^#'4G4J,M.^(9::Z7MU3%$A[?EK)?4:WK_,%TS77)I0.":2L.3 MR<@#W8N]=ZQJ.H&ME"6Y=F9%[R-JET#[:Z7LB^,.&%[<[ ]02P,$% @ M3H (5R9X_-4(!0 K P !D !X;"]W;W)K&UL MG5=[;]LV$/\J!W3G518Q$=J86+5XJT%W3<'5WAK7< MGD[\R?W!E5A7QAY,9R<;OL8%FM\WEXIVTX%+*1ILM9 M*%R=3N;^\5EJ[[L+ M?PC@[&WB9A?NJ8Z: ME!.M=$([P M"X>7AXY?^/]>_D'HHI:Z4PA_S9?:*,+/WX?,T$N)#DNQ,76L-[S TPD%C49U M@Y/9ZU=^XKT?>4,TO"$:XSY;4(R6'2DM5S"\9WD'5[B1REC7P0+7%$-&'U)] ME/EAU1]*43^EZ%X*;+D&^EO)FJ*=X"-:,)7L--E8'QW#I9)+A'.N2@V+.VVP MT7 M#:\'[9DEI]=\P *;)2H(8N=Q'WX!/\U8%$2T"D.6I3$M C]@09[#O"R% MB_*W\$TN.]7"O/C1"=T?OGZ5T<7W$,>>^Z=XIFAM*;Z4PK:X _)NJVN^=_F- MSR(O/AKF9S4,>TP&@WZDG1=XI!M11M'+I$59[/X?2R'4W\$.](]-$'N]"7R6 M!SF,P"D>X!2_&$Y/(N(0@$;9'0;0 [Z\C[0M*AP#S9X)GEK]:>A^4E)K D#1 M-1V9&4OXC:K;X=.+6Z&-:->4R6^H0FWHV&!1M;*6:X':F=QG69[851PR*G9V ME;&D/TJMCQTX8Y^1)ZU#/!:0/\Y=\B9-%?:^UI78:*!K7IB0KYE'[@Y8'OL0 M>RPGTBAFGA="S'(OAVO%2X26-PATE:2FI$4&OA?0*D_MF,8Y>3\D"[S=*%D@ M/<^:F:NB M2.(M H.$-/#'<)<,N$M>C+MY0SE%_--'Q\4M-1\:#T%OE.-AZ.VQQIZURUBB M+>J.JA0M0'8*SB75+/I8VI66M2@=7A:&)I=,^P IR+UCP+VN%.)>&82%N-T_ MN ?WEZY%E^N>')Q+;:P\1=YL.P?)+,QH3#,[^BQ)$9@9K;%'Q MOKCQDAH'84N8[8#L3KL\G[ HC"V MFXB3P^G0BL_[#O3G];Z/_\K56K0::EP1J?XW5L#P V7V+U!+ P04 " !.@ A7'N%? MAN@" L!@ &0 'AL+W=OL>-1[XIK-OPY].* M;? )[?=JI6GE=R@Y+U$:KB1H7,^\13A9)LZ_W>)3/O," M1P@%9M8A,/J\X"T*X8"(QI\#IM>E=(&G]A']0Z.=M*3,X*T2/WENBYDW\B#' M-:N%?53;CWC0TW=XF1*F^85MZQO''F2UL:H\!!.#DLOVRW:'.IP$C()7 J)# M0-3P;A,U+.^89?.I5EO0SIO0G-%(;:*)')?N4IZLIE-.<7:^R#)=8PY?.$NY MX):C@:MO+!5HKJ>^I0S.S\\.:,L6+7H%;0 /2MK"P+W,,?\_WB=F';WH2&\9 M703\7(L;",(>1$$47\"+.[EQ@Q>_@K=B^T8;,)E#HYT) [\6J;&:'LCO7^";='R32^CS)VK"O!8(:@UGKNH< MW8N Y^D>D<7)(\@4-9ZQM$NI;8&P5H(ZF,L-7'%).ZHV5$1S/0&ZI#W0'=UA MAF6*&F):'#$S5=( ,:SM0:IZBA+7W!IX"^&P%X\&SNCW1H,$[LM*J#TBT+// MGJ&J=590QT$EF'2$K.9I[8 ,=8DM"A0Y)+TPB>BW/^IW.;FDK-AD4T1=@V4[ MDA3WQDD"8=0;A-P=4H6LKC-;:Z>;R.@-X43!D.1& MR1B^-NCLX(T[I]0Y]*)H1(!)$)(XJD82QF0D42\,^W#N6?@G'5PB97%SREU" M+6W;S-UN-PH7[03XY][.T0$2='\0\[]02P,$% @ 3H (5UV>$ $R! 0@H !D M !X;"]W;W)K&ULO59M;]LV$/XK!WJM54I\4Z#:>M:Z/TU5FJW&/FCYXW[W^6+D,2"L M,+.L0=#K$6^PJE@1P?BGUSD:3++@(?VL_6?G._FR%@9O5/5GF=MB,4I&D.-& MM)6]5[M?L/?' V%"4)>R>XNG/@X' HGWAD#0"P0. M=V?(H?PDK%C.M=J!9F[2QH1SU4D3N%)R4E96TVE)$)?.#@<.GWA#SDL9 [W6 F+.5QQ@92V)/__NEH3%U7, MW\A]/P(\&^-$I[=_F2QEK8+TG M'QJE+2<-5KBEIK''@)]4?1SX@[*BHNX[M)KU54(C =;*%F +Y/0$+IQ$^-\( M-)60!DJ952T5!1&@6DW@J42DH0VBC*K*W*5A9>G%'AA0&[B5F:H1=J@1!)NL M:(Q0@9(.6ZC6D$5S?@D/A49\57I A;.'OFYH(0EB/.Y@WFFU1K@1.C>PVALR M9Z!S].T3#C4#TOB(LB7O?X)H1H\@B>D9A@'3P6QX1G%$63$H=%:XN.0D6*F& M/0-_YD'L$ZM);0XHRX^3D.$O\OPXB%94W^ZXOS'.LV"8'W_4:R36^O1C( M5"MM]XD?=H<+TE5W+WAA[VY77R@R)0WA"C':N/P74$L#!!0 ( $Z "%&PO=V]R:W-H965T<&_A9%I4^'ZV,J2?CL*L[E3 M*HLQ];QX7#)1C:9GKN]&3<]D8PI1\1L%NBE+IAXN>2'7YR-_M.GX+)8K8SO& MT[.:+?DM-U_J&X72N+%-80AO&CLSGJ75K%87MC_9W#CEAF3/,K67P3 M<[,Z'Z4CF/,%:PKS6:[?\PZ/"S"7A7;_L&[G1C@Y;[219:>,$92B:K_L9Y>' M@4+J/:% .P7JXFX=N2BOF6'3,R77H.QLM&8;#JK3QN!$91?EUB@<%:AGIN^8 M4/"5%0T'5LWAFBMQSVRBX$.EC6HP_T;#ZSLV*[@^.1L;]&DUQWEG_[*U3Y^P M'\,G69F5AK?5G,]W]<<8:Q\PW01\28\:_-@4I^#Y!*A'@R/V@CX!@;,7/)^ M:Z'S0NI&<0U_7\P0/M;,/XQ18.6X24$'O&3#!NO7J34IV]V6MW@E]/;4S#*X;'(?!)G?C]M M\VU[ Y^DB?=HL.O^Y)Q;EH"V*7"9FCQR$,8D]8)'1KKN*ZZ,6(B<&9R*RSOG MM=3"]--H$.VTG77<.JO\8>!U&W=(DB#8%Z^DJJ5"%S"3-E.;X2@@7I;LBU>R M++G*!>:_9C576_\A\9)H7^R 9)3XX397?I"2+ P ]U'<)2O@/_,5JY8< ?;; M38[;A.7;(* PVVG?*%D*K:5Z@$IB^%AJ'+5MRO?SF='8_3Y4!NM/&W!X]9K5 MQUU20N-@3VJ+C[54> E)2N(DP$86DBRBMH&.7H*?A"2*L':W1)G\(N!A8;Z. MO9/''6T,0PX^KW.-Z2EGN&)!2R_Z_]*+^H0^2:]N\,GBP=3%V9[T3#%G6;S3 M[EQ$J#NHPH30,/Q5,M*(>'[VJ'BZ[N?(F'CQ3OLY,OK$"Z-]\2DRQ@D)!H [ M\1@9TP'?.K$#XGL!R=(MLWV:$;RR_28;XSC<:?\.&Y'Z]O?[; R2<$_:8R/N M-S1++?U\2K+,<[RT[,3#EM#@O]/1SX*3 SW/$/*PUI'#/^H/_^C7#_\.S14> MN*[JL&/-U!S+I(-RZ,0_:O_PU>5NQ;OSVY[K+:]J)>_%''&+JGT9N"OV#*_] M(!N%T]O8\DULBRZV;9IQJC9X"[ VF6/8SEU@_Z+0H]R@@QM+1^NV[[DH95.9 M1_+;1DFX1@!,P66#+E+U"4!O '@F45?,-0G'E"HY3X:0193.&.B34.#LWCANQGUK[G M^7"H*,:#^SP2?NE>+1ISAVC:JWW?VS^,+MKWP'9Z^ZK"K7 I*@T%7Z"J=YK@ M^JOVI=(*1M;N=3"3!M\:KKG"QQU7=@*.+R2RNQ.L@_ZY./T74$L#!!0 ( M $Z "%?<\ @(L ( ,4% 9 >&PO=V]R:W-H965TO#=9]%U\$_"+8VU.]N"4 MK)5Z5=(FG^R/ZET8[:5DS@[=* M//+<%C-OY$&.&U8)^Z#JKWC0,W!XF1*F^4+=QB:A!UEEK"H/R<2@Y+)=V@$C@7DE;&/@L<\Q?YP=$I^,4'3DM MHHN =Y6X@;#G0Q1&\06\N-,8-WCQ&WA+K?(JLW#0RM' )VXRH4RE:?][OC96 MT_/X(]SOB_4OHZ8I:,*\$ M@MK V9*9EQPUKQF\MP63&Z)/Y?0W>)WSM848_?GI%PL=E[*20U5::B/=<2Q M#M2H$9B!C1+4X :N*-06JC),YN9Z BO^\NI] -WN'NAR[RJ)$ U\6##!9$8@ M%M:XY5)RN77Z=JBYRN$]]/W>>$QKY(_" CN#4&MX,!Q[H=FBTAE6[IE'7RE+;-]N"YBQJ M%T#G&Z7LT7 %NLF=_@-02P,$% @ 3H (5S33$"=* P ^@8 !D !X M;"]W;W)K&ULC55M;]LV$/XK!ZT8$H")WFA)]FP# M<=JB&YK!:+KMP[ /M$191"E2):DXV:_?4;*=&'"-?9%XY#W//<2:'XVH#MVY:9EQ67>K<(XN P\45L&^$)>\=)Z! MX>^)WW,I/1'*^+[G#(XA/?#M^,#^<<@=<]DPR^^U_$M4KED$10 5KUDOW1>] M^\3W^4P\7ZFE';ZP&WWI)("RMTZW>S J:(4:_^QYOP]O $7T T"R!R2#[C'0 MH/(]4+\JC,[@J$.>6:X/U->Z%P%HRY0@P5<&' M[[WH<.?15'@NKKZRC>3V>AXZC.AQ8;EG7XWLR0_8,WC0RC46/JB*5Z?X$)4> MY28'N:OD(N%OO;R%*":01$EZ@2\]II\.?.G_2_\T>_C[;F.=P8/SS[G41V9Z MGME?IIGM6,D7 =X6R\T3#Y8__Q1GT2\7=-.C;GJ)??F(E[/J)0==P\4^&N,[AB#GYZ24N--M8Y77I-K.-1:XI47:@M70N&,[BW"[/4,L(HO@$5\ MSTO>;KB!%(W/GO,=Q#F)T^QUL.J%K#R)7]X<#-%V1C]Q']T"I81.$O^;I@D\ ML++!E,S+J4A("DJ*-(,;[H4?>"'6#Z!*50$9) M%N>H#O>V@*^#Y'=X[2B9Y+DO#\HO: 'G#G/XIA^UW&R'KFOQA/3*C:WI.'ML M['=C/WMU'U^%!V:V0EF0O$9H=)MC'S5CIQT-I[NANVVTPUXY#!M\G+CQ#KA> M:^T.A@]P?.Z6_P%02P,$% @ 3H (5\<4S_WF! %@P !D !X;"]W M;W)K&ULC5?;;MLX$/V5@5L4":"U)>KJ7 PXV;3; M @6,N&D?%OM 2V-;J$2Z)!4G^_4[I&S%WCI"@""22,[,&2D& MDRLW-E.3*]F8JA0X4Z";NN;J^08KN;T>!(/]P'VY6AL[,)I<;?@*YV@>-C-% M7Z/.2U'6*'0I!2A<7@^FP<5-:M>[!=]+W.J#=["9+*3\:3\^%]<#WP+""G-C M/7!Z/.(M5I5U1#!^[7P.NI#6\/!][_VCRYUR67"-M[+Z419F?3W(!E#@DC>5 MN9?;OW"73VS]Y;+2[C]LV[7Q> !YHXVL=\:$H"Y%^^1/NWTX,,C\5PS8SH Y MW&T@A_)/;OCD2LDM*+N:O-D7EZJS)G"EL$69&T6S)=F9R=S(_.=:5@4J_>%= MQH+T$NY^-:5Y!BX*<--_W%#:!=S*FJB@N=O-LV]\4:$^OQH90F%]C?)=Q)LV M(GLE8@)?I3!K#7>BP.+8?D3HNQ38/H4;UNOP2U,-P0\\8#X+>_R%W9:$SE_X MBK]=^G]/%]HH8LT_IW)L742G7=A.NM ;GN/U@%I%HWK$P>3#NR#Q+WL 1AW MJ,_[9$Z=6305@ES"/1+(,C>XJQ4\B-+ U'*=DCB%O-?W:>0'0;0+TM@@9Y8O MS+^\GS^XM^#RO&TRNWL-%5>!;!1@NYVER%'8#H1-Q05LN0;Z6\J*9$%?.-@: M?K@FHC#31U2D"?!)<6& F(WPD9<*OO.J0:"(9$WCF&.]H#AA6WT&S&,L]?PL M@/<0QD.6P73+5:%A91V1X\#S@\A+@C&$_G"<[J:IP=_6FDL^(.V+-&I6O20A@9NNW+[Y%TU7_ M_T6=ET]'S7Z\3_,U)X9!J75#4RSP/3^.7RC =Q38$!QME\)FCV!#9$2J, N' M8]9G490ZEPTQ:*ED#6:-L+0L>G0LHKVT:>:RKFDO6F+3BUU56,+1O,7&A8MU M%@T9.^^I9=+5,GES+5MY7?PFKZ?*VNOU=-\>NL\/U=L6BAJR:FQ12N'VX592 MB42+1&A9E05O584>= I3=Q+@SX+\X$&1X:RT6R8;3<>%/K^ ;VM%E#FJ^JLT M^-((!!9[OP_<2FUL/(6/*!IBR7N:CH.8GFD8V>;V(A:[T2Q@5@61$SGB_'=_"KR14OTAIL>ZYKG.: YCO;H%QT( 9P6]<&4Y=\25 M(^!W3]8>.^FWW^[(.7GZ6$8DOI?2MC(K\S-43M=LLZK3!JF79E3)8I*V= M?Q$6*VTL2L"WZM[6^6T9XPX]HV[K1 M[M([;>]Z+\O;&_-7KE:ET%#ADDS]84K*K]I;:/MAY,;=_!;2T#W2O:[IXH[* M+J#YI91F_V$#=#\%)O\!4$L#!!0 ( $Z "%&PO=V]R:W-H965TG13>/SA\Y[@Q3\;@E2R5^NV-BVH6)9X0"BRM1V#TN\53 M%,(#$8T_6\RH3^D#GXX?T#\%[:1ER0R>*O[:>19,(*EPQ)^Q7M?F,6SU# MCU!A!Z8Q5S3:8<=G]VM]V')P&3Y)6 ;!N0!=Y=HL#RC%DV MGVJU >V]"2X](>RL)I6.<79^10 M)5F^!R_O]>8!+W\%[YQIR>7:P'6O]N?QTEA-Y?%KE]X.KM@-YZ_,D6E9B;.( M[H1!?8O1_.V;=)1\W$.VZ,D6^]#G"[J"E1,(:@6G3)1.L%#*9'YQ#6IFE08F M*SA#J:@X@LTEO!2Y2]G>W+N5W=0(*R7H)A,\6%\E=#-+)4M.]0*6EHU/9\ 9 MK#R5\H$V^=/MX25(JCC^6''!/XBHN'"6HG8ZO",L6RMGR-.\/X*;6B,^*S98 M\+OG$U0[]T"E<^DD0C8WF^B5[U;3N7]S'XT$Z//2_R>$X M6&D&X\D@&:=P7%70*HO2=!(;0@,EDYSRRE9,1P3J3S-(<\G?C3,_H/8 MWETC,J-T!./#098FWBJ&B;>*+(?%(P.I0JQP?M=8.,=[ZJ9.5% 3 5@B4O\D M#3W]8C("PLB+'-Z^F61I]A%VU7O\I#%1O:Y#^S7$WDG;]:A^MN_PQUUC>W3O MGH_._4$L#!!0 ( $Z "%?=6?N2C0, $0( 9 >&PO=V]R:W-H965T MU=1O1;-*R%3Z@_=;>:5I%.Y0%;U :KB1H7$Z# MRV1\5;C[_L)WCFNS-P<7R5RI'V[Q^V(:Q(X0"JRL0V T/.$U"N& B,8_&\Q@ MY](9[L^WZ#<^=HIES@Q>*_$'7]AZ&@P#6."2=<+>J_5ON(G'$ZR4,/X7UOW= M?!1 U1FKFHTQ,6BX[$?VO,G#GL$P?L<@W1BDGG?OR+/\E5DVFVBU!NUN$YJ; M^%"]-9'CTHGR8#6=V1S@>9\$ED"=4=1M0&XZ@'2=P!*N%72 MU@8^R04N#NTC(K-CE&X97:4G 3]WX@+B)(0T3K,3>-DNPLSC9:(SV2>#CM!]KA.K B_!>L/<":]0(S,!2"7JP M5!E<@JU59YA.#/AQLDX0N0@I\[B9 6X=N-+_L^Q_"U1E'_,XAX=::?O1HFY>&299"70O'660)"5\9YJ[ M G]U*R?([ 0O_K?@-YWM M*.&W7/*F:^".O31>EV^42-VGR1Q3_J2'X\IO7#4;5^W65>==J4Z#5/)CQ62% MPB=+':IBWM0&\_6S%=>]US?E$>7;/P/I>]D9,S'15N MD<,P+,N!FQ8T+09^E\0,XWSDI@,HPS)+J Z)#%N2]I"%>9;#H[+D:!M=+_0N MQHQ0BX3R:K3(*@:N2"6TY)I4(KP[P8'JVL:._+WJ!>^?YE MZ %3(ON/_&YWUR(O^\[PW_6^O]XRO>+2$(,EF<87 RHAW?>L?F%5Z_O$7%GJ M.GY:4YM'[2[0^5(INUTX![L_#K-_ 5!+ P04 " !.@ A7;WD9^#<' !G M$@ &0 'AL+W=O$,@QE:5KX^IS%#4MS(RFYI'_*B M 1I 7TYW'T \NV_3IVX98\^^K.JF.Y\L^WY].IUVLV5ZD7<<&*W=M6H4> MT[28=NL4PSP?6M53)82;KD+53"[.LNQCNCAK-WU=-?%C8MUFM0KIX6VLV_OS MB9QL!5?58MF38'IQM@Z+>!W[7]8?$V;3G99YM8I-5[4-2_'N?/)&GKZUM#]O M^%L5[[M'8T:1W+;M)YI\/S^?"'(HUG'6DX: S^=X&>N:%,&-?XTZ)SN3=/#Q M>*O]?8X=L=R&+EZV]=^K>;\\GQ03-H]W85/W5^W]7^,83W9PUM9=_LONA[U. M3-ALT_7M:CP,#U95,WS#EQ&'1P>*KQU0XP&5_1X,92_?A3Y8C M^[X9\D] 'MV$VSIVQV?3'@Z0FNEL-/9V,*:^8LRQ#VW3+SNHG\?YX?DI'-]Y MK[;>OU7/*OQA4Y\P(3E30NEG].D=&CKKTU_1-V+ KN*Z31F5?[RY[?J$VOGG M4^$.VLS3VJB?3KMUF,7S"1JFB^ESG%R\^D8Z\?H97\W.5_.<]HMK].=\4T?6 MWK%]%J]BAWKLV.W#-J%/^?V\YIME9'=MC7XEC3UE>VS:ZM^Q8SV6VYW!M#>8 M,FK#]A'(HSGTA-2QJL&Y=M.AN+KC4W:S3#$>5 -#+A_8F$I,FLB4S3/%/J;V M-K++D.8=NW[H^KCJV&6;8"WT,=?KSW JL9NV#_7OW'T5/\=F@[#^Q*2T7 N- MD1'<21J\^J904KVF16MY*1V-G.=>%!AIQV59'FQ30O-2>/9=:KN.K5-[5_7, M*"ZE8DIRJ0P[4KRT^I@YP56AF2^X48+)@BOO:%$K?\Q*P[4K1S5 ?@$ M3NQ M[,_,JA.!CRY./#[&G10D%'D-,XW/=?7E_PU0AN8:'.,B-YX04[ZE MPG)1<%OJ7^%K,WA6GI2$KQ\0'3X0ZF$&[)_I7KOK7ON;N_==U87%(L7%P*^0 MC+C]CRY^UL+3[',9T: 57:>#@1FRMFC3 _IS3_!/M_)]P-70C<30L:,_O*._ M7F##RH>0/L7^E+UO-\T<+K\*J_5K]E.[J&9459*7SA^4RTXD%;JJ.*REK>S= MU9L/3 MN4'[;U7&*]BZ,WDN'Z?LZ=$NF4&UJMS3,T,B%WZ8*[K'AX*CF!2X>PQ7:H> ",/\0UO"= (*W7&C!/"_A+'*:]RLEH;R$ M*Q]"'1ZZ*F!)>H]H!$8.([A%QHL\ NGBUFD6 ;P1$83/H4AA*:UH?YOA14/B MH(>\H)=*3S5*SPF\W.LY5ETN P.T3;XQ9;8 .;0I[OW+B^&E-^/+2$H6R)XZ M?#'L90K>VMQ1C]X3HRS3%"I)VSU-C5./<@21;:7C=* IE)$I'E$2S23R*O?[ MQ^FOB6J\IN-N?O=&W]_@?1E2$4IFKP5,#BMRDZ#$YN&+1 MP'0/.#1%20-=4LV;WT54>&8HJFF%.H$U*U&1TE)7%7A(>/"C?S$@OXFJ4.;> MJVP%1M1@Q A2C4>0E9F)!:75E%NN; W8S#H0'#L,AR4P!)T'P MBBNZX0"<)Z>4=5N^LMD-J"/"4B)S*S8(1^Q%I4R9+-Q(6>!G 7W@3"_IT5R* M,G,VSD(FYI2PX-!*XUT B60Y[H-0AX/,+0J G$RAGE,M 'K=VW;;R=D8/?;TL5_ %!+ P04 " !/ M@ A7]82!/,(" #G!P &0 'AL+W=O[Q$IG<2+@JB M]%2DKBP%DMB"BMSU/>_"+0AE3C"V:PL1C/E:Y93A0H!<%P41#S/,^7;B])W= MP@U-,V46W&!.9P1ACI$R#$3_-CC'/#=$6L;/FM-ICC3 _?&._9WUKKVLB,0Y MS[_16&43Y]*!&!.RSM4-WW[ VH\5&/% M8M2<[G>X&33%&EB^P1&^SR(EC/ZR-3J'.6=2%R-^+-E!#75-WU%&6$1)#DN] MB/JV*@G?IRNIA+YO/]KJ4PD8M@LP/>A*EB3"B5.:L\0&G>#EB_Z%]Z8MN<]) M%CX3V4'BATWBAUWLP9S(3#>Y"'6/BB$1O(!4Z(O1EL&*Z<(RF::["?J7GN>- MW MU*=HN0, ,<5 9 >&PO=V]R:W-H965T90:@R*>R8'+I9$I5-ZXKDPQ**D>\ J:O;+DH MJ=*G8N?*2@!-K:@LW,#S9FY)<^:L%G;M4:P6?*^*G,&C(')?EE3\A3ZS&TI:5X"DSEG1,!VZ=SZ-[%O!7;';SD< MY MW\P3E;#FQ>]YJK*E<^60%+9T7Z@-/_X S0U-#2_AA;1_R;'9ZSDDV4O%RT:L M,RAS5G_23TTA3@2:TR\(&D'P5C!Y1S!N!.-S!9-&,#DWI6DCF)X;8=8(9K;V M=;%LI4.JZ&HA^)$(LUO3S(&URZIU@7-FGJR/2NBKN=:IU9JS!)@2U/K,MV0M M(,T5H2PE/ZL,!-GD\EF2;T)0-"_DM^0#6=NT]*6NV&Q8>W@0.P/9 [8$FF M.].S&HGI!>2/G_0>2-_ MX1Y.?1O>T[%CUMHQ.ZNY;@4OS4^Q-B91^O5!9:^_T*>-]YXI*/1&4?':PC[+ M!D->:ADF+,2$19BP& G6>0CF[4,PQVZ[_VWUL/NBPT1 MR6546HA*BU!I,1:MZ_3) ,/';8_#O(M]]GM;VOBJV])"U*C1.U&GXS>-%"MJ M[8U[,F?2O7)G)X*2V*Y:#P7:U7;J>&MG;6_6[_R;T.]9C\R4TLZU7O'UB/.! MBEW.)"E@JT-YH[E^H1;UU+ ^4;RR4ZXGKG0CMX<9T!2$V:"O;SE7+R&PO=V]R:W-H965T M+X$RMNYXSLO"[=D4RJSX&9IC3=P!^J^OA%ZYHXL!:F 2<(9$K">.Q?^ M^2(Q\5W #P*MG(R1<;+B_-%,KHNYXQE!0"%7A@'KUQ860*DATC)^#YS.F-( MI^,7]JO.N_:RPA(6G#Z00I5SY]1!!:QQ0]4M;[_ X"V6=K256.$L%;Y$PT9K- M#+JSZ=#:#6'F*]XIH7>)QJGLFFV!*2X(R"/$]*TY7(+"A,I/Z!C=WRW1X<$G M=( (0]]+WDC,"IFZ2BC]W ?>W:+6WU]% B"J?5+]O"D@YL6 ML,WB.#KS4W<[M6"+.@F2,>J5MFC4%NW5]J +_IBPXUKPC79NE=[TFQAH1_O'IP[Z3>FUW_#8D.81!36&NC-3K0YT??/ M?J)XW;6@%5>ZH77#4O]R0)@ O;_F7+U,3%<;?V+9'U!+ P04 " !/@ A7 MW!2(E$,$ "H%P &0 'AL+W=OW"Q0(XNWVH>@#+8UMH1+IDE3< /OQ2UVB MBZW0EL&^V*(T63?N]0+[F4-N M\6\$>]&X1AF5%6/?L\''<&8Y64000R S"*+^'F$!<9PAJ3A^E*!6-6?FV+Q^ M1O\C)Z_(K(B !8N_1*'62NT M["+/3>ZMV$0T>XU+R=732/G)^9^,A?LHCA&A(?I():&;:!4#NA$"I$#O467P MY@XDB6+Q5MW\O+Q#;UZ_1:]11-$_6Y8*Y2ZFME019;AV4,Y^6\R.7YA]B#XQ M*K<"?: AA!W^"[W_1.-OJTQ4Z<#/Z;C%6L"_T_@*.>X[A!T\Z(I'[[Z$W17" M7NZ.->$,JKF?E7A[@D/OW4EN@#RNH&RS>!:[$@ ,TNM=@'\ M$:SY;Z_B\,;^0:3'-N]=S_&[ QU6@0[/3"K0\$1&AT#N-4B]B4_.2I]WW>Z5Y[KU!W6T;*ZYVP%:*'>7G>'U'KW M96 *K'(;0VZ5I]N$-CVX(A75'R_A4JQ:UEBJO7*9L/1L9B5:L\0& M P6BRUDL!Z)5%N!MI>IH?HNSI,H;4)UYH$>Z9V!6Q(:I2\?X5PP;5P MP7KAO=FU> MG&%_(EQM?P+%L%:NSM5(S<^+8^%B(-DN/UE=,2E9DE]N@83 ,P/U?,V8?!YD M$U2'\_/_ 5!+ P04 " !/@ A7,@:$!CH" #4! &0 'AL+W=OS,<^/@1\$]C:HS5X)VNMG_SFKIBRV M"B3EY!NY>.[Q%*3V1D_%KS\GZ ME!YXO#ZP?PK>G9D 3=7:*@UE&I&3X0W+P,$_. M$GYMY #BX14D<3*"Q]4"+EY?GN$=];49!=[1_]5F(6PNM6T,PH_9VI)Q'?;S M5#FZ+./36?S4W=B:YSAE;JPLFAVR[,VKX23^<,;#N/

>[@"4=5<&#=/ M!$ZU/26THYH$*C_-NRQ.H]UQ]NBHTRHTVS!/%G+=*.J:KC_M1W;6=>K?\&[> M[[G9"F5!XL9!X\&[:P:FFZ%N0[H.?;O6Y*8@+$OWVT'C ]S]1FLZ;'R"_D>6 M_0%02P,$% @ 3X (5_B_;GXO! L!4 !D !X;"]W;W)K&ULM9A=DYLV%(;_BH9F.LE,=T$"#&QMSVR\3;J=M+.33=J+ M3B^T6#:: '(DV=[VUU<"E@\C:./!-S8?Y[R\YR#Q@.9'QK^(A! )GK,T%PLK MD7)W8]LB3DB&Q37;D5R=V3">8:EV^=86.T[PNDC*4ALYSLS.,,VMY;PX]L"7 M<[:7*DDN-JS:Y4U MS4@N*,L!)YN%=0MO5LC7"47$[Y0<16L;Z%*>&/NB=^[7"\O1CDA*8JDEL/H[ MD!5)4ZVD?'RM1*WZFCJQO?VB_JXH7A7SA 59L?0/NI;)P@HML"8;O$_E1W;\ MF50%%09CEHKB%QRK6,<"\5Y(EE7)RD%&\_(?/U>-:"5 ;R !50GH_R:X58); M%%HZ*\JZPQ(OYYP= =?12DUO%+TILE4U-->W\5%R=9:J/+E\S]CZ2-,4X'P- M[G.)\RU]2@FX%8)( :X,QU[?$8EI*MZHLY\?[\#K5V_ *T!S\"EA>Z%TQ-R6 MRIJ^@!U7-MZ6-M" C5_VZ35PX \ .<@UI*_&T^](? W<,AUUTVW5D+HKJ.X* M*O3< ;UW-*>27'U0(\S4E3\_J'AP+TDF_C+56HI[9G$],6_$#L=D8:F9)P@_ M$&OY_7=PYOQHJGPBL4X?W+H/[ICZ\CUGPG@WR[19D::?%()_M4RS5S;G-&)?T'ZR?"2:CI9+?=N!$,'1/C)K" MW"CPS$;]VJ@_:O0W(DV>_/[%$/2B$TN&J%G@0[.C6>UH-NKHIVJ@)'&2LY1M*3'>ZE'!;QW,$XEU:@_JVH-+3NI@RCY,)-;I0UCW(3QO M4H>]$0<#&$:SDX%I#/.\@9$9U:ZBR29UU'?@N^K%Y<2H*0PBB,Q&H=,@TSEG M6E=9G>N%LU[[#&&:6M& JQ;(X:BK5?&R0+AZN4J+SHF$[LPH'A7ZUJ$\E5JW M[(;4\**HAI.R>BJU;B\:6L,S<5WEM<><#QVW-S0-88J60Q.FX36<#MBPCV(O M=$+_U*HAS'<<=\!J0VQX%K*A@<91"\:5J7Z4'SE#,[MA-AR']B>.UP3D."-& M:Y,">BJU;JD-HN%%&0TGA?14:MU>-)B&9W(:]@D<.CWZ&:*"*!B:RPVFX72< MAGT"!V$4GAHU1 7^P*Q!#:71691&!DH[I]\MAB $!YXMJ"$T&B?T?7ZUXRPF M0@ ]7C"/D^*SNWH7STAN=CPIKJ=2Z_:@]6%]V2_K:3^M+X%KU. :G8EKU.>P MUYO?_Q'4]=2@&DV':M1G<,_D6$C78H-H=!:BJZS9>-/&@TI'=FLY3:]E_HKY MEN8"I&2CLISK0(GP&PO=V]R:W-H965T MY# M9Q\4(]M, ;F2'"?[ZRL!P0848F?5%QOPO>=(YUZN=:7QCM#O;(TQ!P]9FK.) ML>9\'IPDZS67#XPI^,-6N%;S+]NYE3&)4>$4[S@$@*) MKWL\PVDJD<0X?E2@1LTI'0^OG] _%),7D[E##,](^D\2\_7$" P0XR7:IOR& M[/[$U80\B;<@*2L^P:ZRM0RPV#).LLI9C"!+\O(;/51"'#@('+6#73G8;0?W M&0>G%^H6WT"O)9:+< M?U.H4DMC/TES:?<"?MJF9\"" V!;MJ,8S^PE]_P, MV%[A;JNF\__8HU>S-\1PZCQQ"CSG&;PY%;6)\L!GK=QD5[[(J+B6D7T#*OY3[J>T$P=B\/]1;9>0X M3:.P:^0.?;]I%*F,++LV:LS;J^?M]2;FAR1/.'[_6?S=* K8 /R%^4!9Q ;@ MAJ0";06N$=_2A#^";Q=WC%/QWZ5,8D]G$NL$"W6"19K &L'TZV#ZO4E\@^7: M)L949O SA>^RA/ .\]%UO%;2]O*BUNL4C<$8M MM?K!3Y7K*,Y(%V=3L(/& _8*]F6-16>[Y)@J98/=M\,)AFW9>BE.ENT8SD@7 M9U,V>R^;W2N;6,\H];*[(8=#MY-GO> G"W84::2+M*G8OG.!O>ONZ8PP+M<3 M%-_C?(O5K:G6#D4K6J@5+=*%U@S&ODN![B_L(V%O#W1RF'2BA5K1(EUHS3#M MFRK8N\Q_73=981Z6@\!I=Y,*HV&[Y0P51M#W.W5%8>6-?'4_"?<]".QO0FYQ MT18.P KGF*)R:PS%F6@T978KHJC#0869)OS"RCH;BGI'R^./\H:33;&_?T&ULK99=;],P%(;_BA4FM$FP?*?I:"OM P0(Q+0Q MN$!2XA:4E7YPQQ:Y-@_G*99;*&&?G"Z)1QIADHO_(3[YW-[G\2>V$^[,R' MA]2[.<]$@8>!HNU^PD),H80YT];I;2631M(<#P@B'4;3#V@_R@]0?V%GCCC4^BG5% MI:2E?K+1Q7VZV-NM9#\H\H=#.US2P24'X=X7%1=/ 2/E>R15+7,QD !D !X;"]W;W)K&ULM9E=C^(V%$#_BI6NJEUIEL3AJ#X88 ML#:QJ6U@YM_73C*!K(*75+X-XZ-4W_26,8->LE3H2; U9G<7 MAGJU91G5';ECPGZREBJCQNZJ3:AWBM$D#\K2,(ZB09A1+H+I.#_VJ*9CN39RR5QTF @[<#3WRS->Y .!WOZ(8],_-U]ZCL7EA1$IXQH;D4 M2+'U)/B$[PB^=0'Y&7]P=M1GV\A-92GE-[>S2"9!Y*Z(I6QE'(+:MP.;LS1U M)'L=_Y30H!K3!9YOO]$_YY.WDUE2S>8R_9,G9CL)1@%*V)KN4_,DC[^ROZ%B<.X@"M-IK([,RV%Y!QD7Q3E]*$6FA"T->D^8 MH3S5']!'--OS-.%B@WYG*D/WD@I[\.LS0>_??4#O$!?H@:>I_AI!T4X#^_6PT-K MK5(75^KBG-?UJ5L(;=3>)H)!?]W;$]#"L$S_W>2FH/6::2Z_[_2.KM@DL FL MF3JP8/KS3W@0_=)D"A)&@& UB]W*8M='GRZ$899JD**&(6K0CBDN$\1$TB31 M"VLK$1)&"AB.8*VHO MBIO7)CT%:W!V#7A4C5],VCMF8>-:$@_[]5PF0(/6/(TJ3Z/K M/#VYA7LNA5&VB&M2X^6T50,)(T"PFK_;RM\M:/EP"VD1$D: 8#6+.#H5L)'W M=TALO7"@+D-OD)"NF: IHIGZ=& /=A\Q6RL)^#T@@4K:[RU"A@?XG?/E\+'L;U?(TP[GW?>?J';BWJ M_V@2\*E+P/XVX7XQ^]*D M\@H4? H ,N2 9 >&PO=V]R:W-H965TIT."PF4[-( MB[?9RBRKG]QE^2(MJX?Y_;!8Y2:]70]:S(?!:#0>+M+9%@LTOS+I9EGC^<#?_#UB0^S^VE9/S&\.%NE]^;&E'^LKO/JT?!9 MN9TMS+*894LO-W?G@W?^J8Y/Z@'K)?XY,X_%QO=>_:M\S+)/]8/WM^>#4;U% M9FXF94VDU9?/YLK,Y[54;<=_&W3PO,YZX.;W7W6Y_N6K7^9C6IBK;/ZOV6TY M/1\<#[Q;%KUQ U Z+7KB%N!L2O'3!N!HQ?NTE' MS8"C[0'C/0..FP''Z[W[M#O6^S))R_3B+,\>O;Q>NM+J;]:!6(^N=N%L66?W MILRKG\ZJ<>7%!U.4^<.D?,AGRWOO:IKF]Z;PWGB_IGF>UK'R?DA,F<[FQ8_5 MLW_<)-X/W_WH?>?-EM[OT^RA2)>WQ=FPK+:D]H:39JU73VL-]JPU]'[)EN6T M\,3RUMQVC!?N\?%+XZ5[_/BE\=H]WC]V ,-J%SSOA^#K?K@,G.)OD_*M%\0_ M><$H"+K^0]W#__XP?^N-_/7PL&-X\M+PI7/MPCW\W2IWKEW^M8U7?VWC]3=O MO+4GP^>_J'#MA:_[B\J*TJO^2+SJ:9-7?T[__D>UO/>^-(OB/QT;>_F$1]UX M7>#JE2MQ<'%]W_SQZ.?NT)#8@F)"1*3)*9(3$.8%<3H.8B12]\* MXN3II;TKL/$:J]\X?;X8^\=GP\^;2=I=)C[V[64$N5%R=X7^<1C; M:U2["QV?1/8R&MHJ:W_&S_LS=N[/FS*;?'I3OU&[K5Y6%M6[UR*MW_]U[5*G MU'>7DEA"8H+$)(DI$M,09J5N_)RZ\2'+V9@,(HDE)"9(3)*8(C$-8580CYZ# M>,24,R?3-W(DEI"8(#'YA,4;M2\XV:Z/Y HUA%E).GY.TK$S26*QFF=?C/%N MS&>3I\N)6;^D79JEN9N5G9ER@GTS16()B0D2DR2F2$Q#F!6^D^?PG1RRGIZ0 M022QA,0$B4D24R2F(-T9<\*] M,T9J":H)5).HIE!-4YH=QJ -8W#(4MOH5"))+4$U@6H2U12J:4JS$]FV!GSG MA&^/BHNV 5 M036!:K+1K ^R8;A=<=$I?DJS(]5.\OON6?[WR\]F66;Y%^_] M8I7.\D7UJ+!*;KO$!S-/R_7L\;XBC+8"4"U!-8%J$M44JFE*L_/9-BW\^*!% M&.UDH%J":@+5)*HI5-.49B>R;6CXSFGJ'D48;5Z@6H)J M5DHVT6X?!DM%V$ MT<8$I=F1:EL3OKLW<9UG'XUWE>:=!T-=ND?W#A+:DT U@6H2U12J:4JS$]>V M,/SC@Y95M*&!:@FJ"523J*9035.:G^8.L37]*Y MT-9$K$"W2W:LT@_CG?AM&ZI]YY%I^-13:":1#6%:IK2[/2U\_9! M=- ZA\[4HUJ":@+5)*HI5-.49B>RG:D/W.<77)M\8I:EE]VMSS>]RZJ'GIG/ MUL=Q=)XE=]F()QLO\Z.W_M:GKROW>GNG"YUU1S6):@K5-*79Z6IGW0-HUMWM M]'YE0V?=44TTFG7&D3_:FBB7Z#H5JFE*LS/53KL'[FGW/>_@O/]Y?K]GRS8VYKX]*ZTJ;>Q5]TX9J":H)5).HIE!-4YH=R[:!$!ZT@1"B#014 M2U!-H)I$-85JFM+L1+8-A!!J(+B=WME#SSA -=%HF[4WWJF]Z"H5JFE*LR.U M<8VA;^I=5+7WA4/1W&[OB+$7&&*O,,1>8HB]QA![D:%#=#+"MI,1'K23$:*= M#%1+4$V@FD0UA6J:TNQ$MIV,T-W)>'W!1<\N0+4$U42C;1;81'!ZVV:+,# MU1)4$Z@F44VAFJ8T.Y%MLR-T7T[I]=46;6N@6H)JHM&L*USN%ENT6X%JFM+L M2+7=BM#=K:B*K?_*0_/<4N]0H?T*5!.H)E%-H9JF-/NRN6UC(QH=LL1&:$\# MU1)4$Z@F44VAFJ8T.Y%M3R-R7U;IU276[?3.'MJ]0#6!:A+5%*KI1K.N7AUN M=JKM4+5MBJ"903:*:0C4===RP8K2W M&+>MC,C=RMA?C-'+;+JWHGV<,[8N@FD UB6H*U32EV5ELVR?Q0>\N$:,-$U1+4$V@ MFD0UA6J:TNQ$M@V3&+J[A-OIG3VT-8)J M4DJBE4T_'NG2_BO06W[7C$[H[' M_H+[PGE&;K=WQ- ."*H)5).HIE!-4YJ=Q8W;7Q_T3A(Q>T]L]J;8[%VQV=MB ML_?%9F^,?8BF2-PV16+HFE9NIW?VT/8'J@E4DZBF4$W'NW>Y\$?^WI+;]C7B M%R]JM:?D.DXTZC6>]W-S5=S4Y?1<,ACO/7_FGB=_QO/1/U?KY M8_-+%CM4?7.()_=3Y\?E-GJ?. /O(]966:+];=3 MD]Z:O%Z@^OE=EI5?']0KJ"_"N_YU+OX/4$L#!!0 ( $^ "%&PO=V]R:W-H965TKJMJ<#X?E8L77<7F6;W@F/KG+ MBW5-HW6Z9!X7CA#?>49;+F69GD&2KXW>7@ M/3YG(Z]NT$3\F?#'\N UJH=RF^=?ZS^!SWF:UB2Q M'_^VT,&^S[KAX>LG.FL&+P9S&Y=\GJ=_)H?LVU]'O(J3M'PC(K[< M1.CUJS?H%4HR],(>,2W[,_\I>;9&2)!TYS8AO-C MO=,?ZYVYFT=\<89\;&NNY-+?'UY^P_.['5YY62%QE-1'%R\>./K[-Q&//E9\ M7?YC.W)V\)$=7HON>;F)%_QR(%2U(0YF/_^$0^\76]D@81$DC$+"&!!,*?=H M7^Z1BZZ5>[%3#5MA=YBPP=1??@^S$$\NA@^']3)C@@E68R(S!D_\0 VB9M!D M.E)CF'-<1V8MV&[1TZI) = MLL"L*QE-]STJ:0[W:0Z=:9['Y0IMXN]B7E19T^ILWE=M(&%1:.3_'2'ZR4 A MNV1 ,*52XWVEQLY*_9YG[Q9UM4I>52FO"V:KEQ/2MUZ0L&ALUBN8AEJY('MD M0#"E7)-]N2;N$ZO^6L_OA'X]\&QKERPGH6^M(&$1)(Q"PA@03*GI=%_3Z2DG M;E/()-ONP!(T";^])RH_J>&J"T")1&06D, MBJ:6F,@2DU/J84N'JCHD+0*E45 :@Z*I59?N!79>+?<01=^\0B)8%T4S*/!U M3;2 IOI$WQ*$IU-=$T]A!&#I!&"W%7##4['I_BVZYQDOXK0Y7>+E.LD2D=.X M]I.MB02Z$&\S#DF+0&D4E,:@:&JUI8.!@Y/*(Z1Y, >E1: T"DIC4#2UZM)0 MP6Y'I;L\F@9&&.CJ:,:,C1FC&8/QQ)@R6J(\HLOC*0P.+!T.[+8XKHO\EJ-Y M7#SSDPFHMP%*BT!I%)3&H&AJ5:41@B>(I? SC,;K!O<\5T(43 MH#0*2F-0-+7@TC(AHY,J)*AU DJ+0&D4E,:@:&K5I75"W*L_NBNDN0H#CSU= M(LT@3Q=("V="=(%\DZ>4/Q_40 &E1: T"DIC4#2UZM) \5]<9=)-_EJ.(DE3_><66Y"Q0L<2-!IK MZ[2I)2@D6G?,/;9C;P-YN GN_">P-)Z=P37SIFOCNA2;=97%D>GX30Q8M08;%: L*]$4Z MEB!?)S'WV([-G?0>?+?W(&6QC[WHAO8^44!7:X#2*"B-0='48DO#Q ]/*H^@ M5@DH+0*E45 :@Z*I59=6B>]>:-)='LV;5G1-F]MB]!6,EACLZ5?-MB!C!:-[ M9,=F3MH-OMMND.)XI+GHYO<^8T"71]\SP-;?L5/I]CR_8(G]/=BAV3P;9O:GR3?,DB]N\JO)U\W+%XR4OZ@#Q^5V> M5T]OZ@[VSV>9_0]02P,$% @ 3X (5Z*FJ'1F!@ Y#4 !D !X;"]W M;W)K&ULM9M=;]LV%(;_"N$510O,L4C9CITZ!AI+ MQ3*@6Y&TV\6P"T:F8Z$2J5%TW/S[Z2NB:2FTM!W?))*L\Q[Q)46?1S(7>R&_ MIUO&%/H11SR]'FR52JY&HS38LIBF%R)A//MD(V1,5;8K'T=I(AE=%T%Q-"*. M,QW%-.2#Y:(X]D4N%V*GHI"S+Q*ENSBF\OF&16)_/<"#EP-WX>-6Y0=&RT5" M']D]4]^2+S+;&]4JZS!F/ T%1Y)MK@V(K%D6Y4G8=_U2B@SIG'GBX_:+^J6A\UI@'FK*5 MB/X,UVI[/9@-T)IMZ"Y2=V+_"ZL:-,GU A&EQ5^TK\YU!BC8I4K$57!V!7'( MR__T1V7$04"FTQY J@!R'#!^)<"M MRN&<95P+AKADD54#1]5+:],,ZCBBX7 M4NR1S,_.U/*-POTB.O,KY/E N58_>H)"CKUNQ2RE?IXN1 MRBXR3S4*J@NZ*2^(O')!+OHLN-JFR.=KMFZ)]^SQ4TO\*#.G=HB\.'1#K(*_ M[J(+Y."?$7&(VW(]JU/A_ *121%.VIKS_[+[_SF[889;#Q>WT',[#9=LC\DG MAOZZ$U&$LAMW3^7Z[[8^+U7'[:KY9'B5)C1@UX-LMBLT!\NW/^&I\Z'-<$@Q M#U+,!Q(SNF9<=\W8IKY\N2FI0@_L,>0\[R&Q00F3H6B[D6ZL>GT[!5+,*\6F MA5C^5?>TQ&0\7XR>#LT&RFB8/:G-GEC--N^#H)PVVSR>-%HRQ3.S(:OF.9,9 M-L_QRG,FAX[,W,F1(TVAV7Q.0R4T7!X5CL\ZSHI,KZV3X>S1F.(H=4#4/5,V'4C,[Z("I,' I9A?LW360:EZE9M0>S6H,*J=I.=&6$YB" MS*[3VVE(-:]2.W1ZCH^_$:!2FD9K ,16B#E=$-KC>QL,"GN5FE&PX/FD,9;/ MP7%8@QRVDUS'LM"NTMMH4("KU Z-=HY-/@>_80UPV$YP?2I#W*2O9FEHS]?; MP XI?:B4IH4:#;&=#>^5"+X/\\>T:[02<<)X2O.GOZT6@G(BJ)H'JN9#J9F= MHI$27YZG. 2E3% U#U3-AU(S.T@3*>Z,I%V+0TCJ7(&J>;@)L8V)_AP,BS7$ M8CO%=J\,0>$55,VKU(RO@_GQXS^HE.9K$HVEQ$I5IRM#>WQ?@T'5O$K--HZA M$IKV:J@D=JCL6!7:57J;#$J2I$F2P^8PALII^JQ)DMA)LD]A2)K =C1J5O9L MO1T\F="'2FC:I_F0V/GPEC]E(U/(9W0;)S24Q6R WM(X^8!^5ULFD3[CCD54 M%<5C^LJ, J)H/I6;VFD9.,CY+U4A &114S0-5\Z'4S [2N$HZXVK' MJM$NV+MK0.F6-.FV,8V=@VV)9EMB9]O.5:-=I[?-H&!+FJ] W7G#Z'/P*M&\ M2NSO0$]7C:!@"JKFD987H+/CIXE0*4V#-6\2.V]VK1M!(1-4S2--R!RZSO&; M?*B_^X#!0K0=5\*#6SBS2!NO@L1:(+BJ2@:AZHF@^E9G:01E>W M,[IV+!+M@KV[!I1UW=.L"Y70]/O@Q[!VUNU<)-IU>ML,^P/8YCM1XKK'1I\# M3UV-IZ[]C>C)(M$>W]M@4 YUF^]"ART.GX,O7/H-"I7L: M*J$2FB9KJ'3M4-FG1*RDIJ^W9F7/UMN^DPE]J(2E?:.#52LQRZ;.?+E0B@*Q MXZIAE(B+S2VC:R;S$[+/-T*HEYT\0;VP:_DO4$L#!!0 M ( $^ "%<35/*2IPX +:B 9 >&PO=V]R:W-H965TMV/RR7[>J!;'BS;K)0W#=+DIJ^WB M^NKPLP_-]56][];5EGUH@G:_V93-U[=L73^]69#%Z0>_5OVJEKX-^+9_J M^G/_S?O;-XNP=XFMV:KK;93\OT=VP];KWA1WY,^CU<5YTOY"^>N3]9\.J^>K M^52V[*9>_Z>Z[1[>+/)%<,ONROVZ^[5^^A<[KBCI[:WJ=7OX-W@ZC@T7P6K? M=O7F>#'W8%-MG_\OOQPC(5U XHD+Z/$":GM!=+P@.BSTV;/#LMZ577E]U=1/ M0=./YM;Z+PZQ.5S-5U-M^WW\V#7\MQ6_KKO^J:R:X(]RO6=!N;T-WK&F>BS[ MR ;OMVW7[/F6=6WP?2"-^[%M&?_9+ZQL]PV[#?AF_,I6^Z:IMO?!V[*MVN#; M=ZPKJW7[';_R]X_O@F^_^2[X)JBVP6\/];[E$[57RXY[W_NP7!T]??OL*9WP M]-_[]>L@)*\"&M)(<_D-?/D[MGH=1,^74_7R)8_9.7#T'#AZL!<9 _>*+WI= M;E/M9/WZ?W#^VN7+$W"YZ_+6L>V>+Z[W\C:?@/76R0C"F1BLZ1BB#K MUS=E^Q"P/_?\8*W[TZ1;[+.%]&"A?^EYO(Y(GH57RT=Y%>-1-*-Q?!ZEN!>? MW8M!]WXIF\_\M'Y:LZ#MCW'554SKX[.91)J=1'D11P,G-<-HP5]5]5XF9R\3 MT,O?ZHX?H_*0>CKGDO&L69PD9."<9EC*TXGHG4O/SJ46SJVK\E.UG@Q?.IKZ M^W2XP9HQI(CTSF5GYS+0.?YJSU_+MP'[LGHHM_>,O\B?7^-6];9K^)U$ZS!H MUC4!D8PI$%>GV=SK-7W4++BS.,CC3A>L@ MH;BMAR\_]<%?_(;?\F%\QV_YBTOPP&[O^[MX=;[W:^_3X-2N^XUE30V4Q#]D MWN0XSH\5+21K:K0$]!"0%.0$ 5\[CV;D#$GB8I AFD%I.G$W)X(V"(P;MCD, MFW'>E\CAUD4$FQ 83CXT]:9JV[KY&FSKCO%W3BO&5]?#RH6Y"\[GO&HD:VIT M!!.19.;.NX"U0C,:N^W'>-+ M[X*&;U70/I4[U/L6*M%A65-#)9B.S QU!)7JL*RIT1)<1ZS!#C[[8[*C-!V^ MQ=.-BK*).Q<5S$9A9ONEWK*OP>;P?C2XVT]426 CSH4!'_1%!7W1F>F+HM(7 MEC4U6E+)":8OFTH*'4-5%))LR%Z:8910:9CJHJ O:BCVU)L-:PZ[M2MWK-&Z MB$I>6-;4!0M"H_',)QB5V+"LJ=$2Q$;A,I;5"4:%+CHN><5%.G7.!4Q1&*:L MJX9T#$HT#K-DF(_@=)?NBP O"H/7,&TO)"QX%N>M\T%85! 6G9FP*"IA85E3 MHR4(B\*$99\02(6QXZHU*!;G<:C/[TBP6 2SV$W=[.K#NY!/]02(P19<%X)E M35VO +%H9A"+4$$,RYH:+0%B$0QBUH<]TM3!HK#(A@^V-)6P+"HFGAE%TI,W MF,9^?_WQ== UAR>U4QZBPAB6-76] L:BF6$L0H4Q+&MJM 2,12^'L4CWQ+ 8 M/E:$)[IT(0+&(B08B\8P%J=Y.'Q_KQE&DY!,0&,D*"LR4!9KNNJN6O%CUP;U M77#+=G5;:4D*MN1\T'R05"1(*IJ9I")4DL*RID9+D%2$1%*1K@PU?&.A&91- M-2/$ H]B&(\.-Y;RGFU77TU=$ZB4A&5-7;:@I'AF2HI1*0G+FAHM04GQR\M5 ML GG!8\YJIBBJ%A05 Q3E'V'T/@A((FS:-0AI!E&PCB9\%-J9((?%O[,'MDZ M(%K/4+D%RYJZ3L$M\,P#HVV&AJC=BP(8$A@8CJ]-P5_!Q?UX\ RN68EE38V'((ED9I)(4$D" MRYH:+4$2B77;$=C3DXSO_\/##<]TZ4H$2R0P2SCFP85U>-@)Y\WW4=1)!-8D M,Q=U$E0XPK*F1DOJ$X>+.K:=#LFXL#-*%6B(ZIZ@D<2Z"0G.9*3G8<>5C,%E M:B4"6A(86D0FHS?IP3,[+]Y'\2<1T)3,7/Q)4(L_6-;4: F&2W :E1(SQH%# MU+_S$!B7VF*K YY[WQ@6*I0+%T9A1+45$,RYH:+8%BZ_!\SG_OZ@.Y,H%*910GA@R>Z="$"S3(D-,O&:*9[!JP9!CP#S@5WY=;<9=_- M!]MT5LCPP5:Y8*M\9K;*4=D*RYH:+<%6.1);Y>9Z%CA$]4\ 4VX+3/8]?;!) MYPWRP4VYX*9\9F[*4;D)RYH:+<%-^'1_^L MGRWF@H%RFV>+5.L1*KU@65/7*0E3S:U,A2M-Y0.1*2?-1Y&PJC(LPE'!;\4X!W?V,5WO%R5-BD2 M.O1O/(P06A03R5\(8BA@8K!JXRO&**"1(-,,FA0E*@0R%#;(0%_2RP?/X)J7 M6-;4> B"*&8FB *5(+"LJ=$2!%%8-RC!&GOC^[[FA/OHK2X$1Q0V51KK3+BP M,@\[X;S]/LH[A4";8N;R3H$*2%C6U&@)0"K@\HYM,T0Q+O&,]?8T@R;U]@I) M,A-),Q/U[_X+C03GM-Y>*.MFVM1WJ(^V/L/4[L*97I0S0TDZ,YQ;.S/$%<_$ M,C>(&)4BAJ2?&9JK0?"8@8N2?&9H2W>>U?A@/]SWU@<$DE"2Z@QGQL"3 V@1 M\P&"))3D.T.<7O63'9,LGV[8I"X?"27ES-"6\^R:_@SVW'?*![.14-+E#&>F MMI,#:!'SHLX92O*.@ MP:C[F?,"89):.IE;+IW@ZJ6CF1M$3((P@V2ZP]G6E;]&[U0THR8% 8DDB$X, MBNB#NX]5(Z'!IOMF>0$L24:=T+D!"U=B'#\.5UU'Z3[UG"I<[B]2)L32=N< MS"UN3G#5S=',#2(F 95!X-PJ*S6JY2.6 L<,W),_X@])D?-D"/81&C/P42(= M6+W;V&9XNM[P.6NZ49,?M"9I?Q.#^+=5ER'1R'^/PV?=H$TD26]BT/0^OCZ] MI,G0,(5[5GJA"TD^G$1STP6N[#B:N4'$)+J M;H=/@S4XDF<%UUP(@F#$X,R MN&-.7%KXA[UP/P1>*D.25CF)YZX,X8J/O$7MX2$96X0*_DCD>&JI:.9 M&T1,8CU88MPAG<?.0]@/]_WUPH62?#J)Y^9" M6,#=/6)>N% 2^0%VR3%>)+, MC6VXBO)HY@81D[ -EF&WJ]HD%L@&CAFX)R&;0<5=G&BKGD,LI?;3FKQT:$G* M[^2HDS[C><8E/2^Z[T02?B>P5KKE><:%M61<;YL\^A*!&539[0N6%KKLALDN MWAB)U PJ[M.9?"F2X>J]HYD;1$A"LF1N),,5B4(F,1OL,"Z';^E$'"= M5N*E@B8IN1.#E+M#=EKP&SAFX*,$959:[I%C@R&NICN:N4$4)/":6]:=X.JZ MHYD;1$P"+X.TN\/9MBB&V];JK[A_,W7;WC2UKP-SE=5V\.7SZP\I8U M_0#^^[NZ[D[?++G]I[KY?)CC^O]02P,$% @ 3X (5TBA$M%F! SA\ M !D !X;"]W;W)K&ULK9GO;Z,V&,?_%8N=II[4 M%0R!)+TDTEI :V^3JOZXZC3MA9LX"3JP<[9I6FE__&R@!%+*$NEYDV#C[\?8 M7_/$>3S9*FZ3U5J9 M"GLVV9 5O:/J87,C=,FN*8LDHTPFG"%!EU/K=WP>X\ (BA;?$KJ5C6MDAO+$ M^0]3N%I,+<<\$4WI7!D$T5_/])*FJ2'IY_A90:VZ3R-L7K_1XV+P>C!/1-)+ MGCXF"[6>6B,++>B2Y*FZY=L_:#4@W_#F/)7%)]I6;1T+S7.I>%:)]1-D"2N_ MR4LU$0T!]CX0N)7 /53@50+O4,&@$@P.%?B5P#]4$%2"PDR[G*QBID.BR&PB M^!8)TUK3S$5A5Z'6$YPPL[+NE-!W$ZU3LY@D GTC:4X180L44I$\$V,VNF)2 MB5PO(B71;TC;J$UBZ#(7@K+YJZG8$K% EYPIH=>'1"1%PR^H(2A^S7/I7X(>5K6XO>U./#W*S_UEB>V MTI-DAFK/JPFY*"?$_6!"'NY"=/+IO)K=>36Y &'Y N\E?T+XIRP5'(TY2( M+@=Z$2:6GLL-F=.II8.EI.*96C,S,\Z7+E<@82$D+(*$Q4"PEJE>;:I7T+T/ M3&U$A;__U/?0E:*9_*?+6@_26DA8" F+(&$Q$*QE[:"V=M#[ONZL/46,FQ][ MDB*2\9RI+GM+6%# S*;E>8;'8\>;V,]-W\I6V&TV&_G^J-TL['VR8QV!A,5 ML)8C?NV(?T $_:I_, E#CYQUV=!+./8M@X2%D+ ($A8#P5J>!K6G 50 #2"M MA82%D+ ($A8#P5K6#FMKAY !M(3YC<@X#MR]\-G;X;&N0<*B$H:]9F!W_9$. M[NTAQ$"]MAP9U8Z,>AVYTW]3_W\/VLLX]CV#A(60L @2%@/!6JZ.:U?'4"%T M#&DM)"R$A$60L!@(UK(6.[LDA ,91"M:,XIB/ SVPFC5JKT-=8;#O5UH_Z,= M:PHH+8:BM6UIY(;P(9'TFFP(TWCTG7;N1OLIQ[YPH+00E!:!TF(H6MO=7:8& MNU 1%8-F;$!I(2@M J7%4+2VP[NT#>Y-'1P=5KUW8=7%_FC_WWU_IT?;5]+P MH-&KAYV![^T%Z@BTWQB*UK9FEW;!_7F7*K3>DV2K_^9_O$WMQQS]YD'20E!: M!$J+H6AM>W%P6 M%-\4AYU/7"F>%9=K2A94F ;Z_I)S]58PYZ?U$?[L/U!+ P04 " !/@ A7 MXJ65N@4# !T# &0 'AL+W=OVT[-O/3M*0KB%< M5J&]M+Z<_SG'OV-;SFC%Q9V< RATGU$FQ]9F7&18 MZ:Z8V7(A *>%**.VZSBAG6'"K&A4C%V*:,1S10F#2X%DGF58_#X&RE=CJV^M M!Z[(;*[,@!V-%G@&UZ!N%I="]^S:2THR8))PA@1,Q]91_S >&OO"X); 2C;: MR*QDPOF=Z9RE8\LQ"0&%1!D/6/\MX00H-8YT&K\JGU8=T@B;[;7WTV+M>BT3 M+.&$T^\D5?.Q-;10"E.<4W7%5U^@6D]@_"6&H.\_(G K@?M<@5<)O.<*_$K@%V3*I10<8JQP-!)\A82QUMY,HX!9 MJ/7R"3-EOU9"SQ*M4]$I)@+=8IH#PBQ%,0BRQ*84Z(Q))7)=8271 3I*4V(* MA:F>*'>;*=M># H3*C]JDYOK&.V]_SBRE<[+>+>3*H?C,@?WD1R^YK2'G/X^ M7YC;\9SAEJ*"QY-#9!N-O@_GD;5/IS/N55(*:2M!) MI7GLVA;:J7[I&=NELWA'SC:HA36U\+^ZZ<)=5F&7SN(=.=NHPJ"NPN!-;KK! MUF'^^R!WYO%29(.M6^$AW :'8)99H@*7@K*Y-C)E%I= MNJY,,BR([/ 5,OUGP45!E%Z*I2M7 DEJ005U?<\+W8+DS(E'=F\JXA$O%)T@Y9NQTW6V&P_Y,E-FPXU'*[+$&:K'U53HE=NPI'F!3.:<@<#% MV+GJ7EY'QMX:?,]Q(W?F8#R9<_YL%G?IV/&,(*28*,- ]+#&:Z34$&D9OVI. MISG2 '?G6_;/UG?MRYQ(O.;T*4]5-G8&#J2X("55#WSS!6M_^H8OX53:+VQJ M6\^!I)2*%S58*RAR5HWDI8[##D#SM /\&N#O WKO ((:$%A'*V76K1NB2#P2 M? /"6&LV,[&QL6CM3<[,+H2$[E&5S X^P&3D_. MX 1R!M\R7DK"4CERE3[0P-RD)I]4Y/X[Y"'<J,5B9,,Z5C M1$0*>H#;%X7&99@*GI:)@FV8S^&.)?JU230!KV9G\..!4PHZ+3>:X&=;G"L= MO78=YJ5?RA5)<.SHIRQ1K-&)/W[HAMZGMB#])[(W(>LU(>L=8X\GA!*6(! % M=>G0R!]X_<;HC=1^([5_ M5.I5DHB2T-:\KY#]W?.&06]/U*%1,.B%[:+"1E1X5)0NJXK:I&O5%1X<>1&$ M?K0GK,7*#Z.@75G4*(O^]69U[A^_T^C@NH*^%^ZI;#$:1H,]D>Y.Z2M0+&U' MD)#PDJFJKC2[3=.YLK5V;W^BFU'5._[05)WLG@B=J!(H+C2EUXETX$35':J% MXBM;8.=&ULM5AM;]LV M$/XKA%8,+9!$(O6>V08:9T4[I$70M-N'81\8F8Z)2J)*4G:R7U]*9/5R1EFZD% MK><;G^G#2E8W[-FDP _DCLBOQ2U7*[M%6=",Y(*R''"RG%IOX>4<^95#;?$G M)1NQ:S$F:5DB*Q_F)1" MLFSKK-89S9MO_+A-Q(X#] XXH*T#^ED'=^O@UH$VS.JPKK'$LPEG&\ K:X56 M7=2YJ;U5-#2ORG@GN?J5*C\YN^5*$5P^G8';%.?R#.!\ 7[_7M)"U4HM]4\%QUX[A]E M>@$<> :0@UR-^]SL?DV2"^ V[JCO;JL,M&E ;1I0C>?^7!KZ60!_WRAS\$&2 M3/RC"[7!]O38U8MX*0J7\NF<2I+LK&-:A=J]UA/?.BV(E4]=:[_#5F800=V)KUF'DM,\_([(8(<0G> M)DF9E2F69*'>596 A.)F-U#UPAGCDOY;W]#Q;Q[@[Q [=[T8HF$ .CO7#^&! M"/PV M\8P2>B7J>BU5G1ZHP\ZTQ'VM\C ]TX#IP!9XV9A]S8T5,.6LJ!D?*< MY4+RLMYPSVE^KM@GJ@XZGL$>@< +8#B@N6_EA9X?Z5F&+T]# MCN>'0U+[9C"*(^\ JZAE%9D%JTJK(V7T.G:O& FL%V#T$R]R6M2 M%4K?NHV@QU9G++1^"KK.#D_9VN&HO7TLM'XJNNX._T=[W_KV-F?/\]%0J3JS MV$4'E-KU=VAN\!]QLE*W^-/+/=&,='1-1D+KQ]U-!= _I3R-,\?1J1@)K9^* M;MJ YG'#+,_]V0&I)NT.N[G.+@Q@=& 4@MV4 IFB;AI!YFGD7WR9J"C_[:.A-8/NQMT$#SE'_A1 M!YZQT/JIV#G*,$X19G5N?7=E%WI!-!"GSLKW#FRAJ)L_D'G^N"%8D!5+%R]. MH&:@HPLR$EH_[&ZT0=XIM3GJM#,66C\5W;2#S(<@9FWZ>T='4>3!X7\EG5G@ M.T-UVCN'HM6)]$?,'V@N0$J6RL^Y"!4,;PYYFX5D17U.>L^D9%E]N2)X07AE MH'Y?,B:?%]71:WO4/OL!4$L#!!0 ( $^ "%='&V/&R 0 -@@ 9 M>&PO=V]R:W-H965TDI"T MFT1J VA[NNJB5GOWXG0OG. $5,!9VS3;TWWXLPTED!"VN9NJ?9& \?S&^#\, MSKCC+66//")$H.]IDO&)$0FQN3)-OHQ(BOD%W9!,7EE1EF(A3]G:Y!M&<*B- MTL1T+,LU4QQGQG2LV^9L.J:Y2.*,S!GB>9IB]GQ#$KJ=&+;QTG ?KR.A&LSI M>(/7Y(&(KYLYDV=F10GCE&0\IAEB9#4QKNVKP':5@>[Q>TRVO':,U*TL*'U4 M)[?AQ+#4B$A"ED(AL/QZ(C.2)(HDQ_&MA!J53V58/WZA!_KFY4$QYF*K ?!Y-58VHGI@Z#+QX@F(6'\XX>18P\_ M(_];'HMGA+,0Z43@..&? M9)>O#QXZ^^G3V!1RI,J?N2Q'=5.,RCDRJAZZHYF(./*SD(0M]EZWO=MA;\H9 MJJ;)>9FF&Z<3^$N>7"#+_ADYEM-K&<_L1^;9!7(&VMQINYW_9^YWF]_A9VEY MU#KHMOYM*:1S5YM;'5/9JR*NIWF]8Q$784;.%X;' M]>KTD# /$N9#P@(@6$-WM]+=?>%<1)3%?\L(P"G-,]&F=B?[5+4A81XDS(>$!^S_ M]DOKQ[^QT%DL.ZN'G[<7= K/@]H<[-W\K'MP)TL(2?-!:0$4K2FSLY/9Z93Y M6C^34D156HZS-5I1AE:YR!FI*N2VA/.L>P\EJ0M)\4%H 16NJ MN:N7V9W%E_W56/'+6CV(KUR)=>-/SL.@!3%0F@]*"Z!H3=EW13&[_\X+,ANT M1@9*\T!I/B@M@*(U V-7<+.[*VYO^1('K<*!TKR25E]@N$.W;XWV*JN@7@,H M6E/K79'-[JS8O$UIO-OGR2J#EM9*6GW]X;AM2VD?U&\ 12MT-FL;LBEA:[UU MSJ6"E-YKO[&O9L4F^PY3[/G?8;:.,XX2LI)(ZV(H Y45 MV^C%B: ;O>V[H$+05!]&!(>$J0[R^HI2\7*B'%3_S##]%U!+ P04 " !/ M@ A77-@#.EH# >"P &0 'AL+W=O5155OU; Y6'A M8>]IXHYM2N,F_&R^I1NX!_-U>ZOLR.^T%*P"H9D42,%ZX2WQ]0J'3J#>\8W! M09]\(V?*@Y2/;O"Y6'B!(P(.N7$JJ'WMX08X=YHLQX]6J=>=Z01/OY^T?ZR- MM\8\4 TWDG]GA2D77NJA M9TQ\V=//P%K4&1TY=+KNLG.K1[ P_E.VUDU0I; M@HJ)YDU_MHXX$9B2 0'2"I":NSFHIGQ/#0%*OWZ5$IR\0Q]^[)CYA:@H4+U\M;)F%^A&5C86-*V] M>87N0!O%<@/M+O15,(.6SLM.^LU[,)1Q_=9N;15^%CD(=PGHEM-!%7KN&VN8 MP_/SUHA58P09,")&7Z0PI48?1 '%[_*^=4CG%?+DE1495?CWCD]0@/]$)"!3 M] ?RD2ZI MV^1DZ8=GZ?UB=,!TX8M+01"_O%7(Y>ZRW-8>'9)-2@]N!EKU_A M.'@W A5V4.&8]FP%&R8$$QL;Z/:&5PCV&2$D M"5(\]_<]0%$'%(T"+0]4%1IM%!4N2)Y+$YW1X "',9[UT\0=3?PE8DN>PY.Z6^ MHDG,:3$@Z=%%IAY..XMC$NR1LTC.::1!. MXR3JIYEU-+/1Y/I>UV+KE>4>E/VWH$\N@) MD( ^4J;0-\IWT *CT=K=V_*7L(W[>&+)L% <I#&ME/U9VD;6%!N@UU?2VF>!NZ KB7. M_@502P,$% @ 3X (5T,CY_[C @ P08 !D !X;"]W;W)K&ULG55M3]LP$/XKIVQ"(*U-FK[ H(W4 M.8AE2!-CY,^^ F ME\;"+\%V6BKMQ\]VTM"-4FG[$K_[*$H6UY%)Q8NQ2+4-=*B29#^(LC*-H%')"19",_=Y<)6-9&48%SA7H MBG.B-C-DL%VXXXN"^,VPF1H_E6SI5=A2U*1CD*3:4 A?DDF/;. M9R/G[QV^4USKG3DX)0LI']WB)IL$D2.$#%/C$(@=5GB)C#D@2^.IP0S:E"YP M=[Y%_^2U6RT+HO%2L@>:F6(2G 6084XJ9N[D^C,V>H8.+Y5,^R^L&]\H@+32 M1O(FV#+@5-0C>6[JL!/0C]\(B)N V/.N$WF65\209*SD&I3SMFANXJ7Z:$N. M"G!XBCN _O(01= M$(6Z&0YDZ+=%[?L,_;>*ZH ZB]=5FRI%Q!+MI3:PV,"NWYQL_/9T350&/[Y: M2+@QR/7/?26K\P_VYW?"OSM(@ M*U2VB4")JB:Q<^T43='SS"1C1.D7IY-]3.N,9[M,^]V/\7ZBHY;HZ'^)9E2G MLK)'GRO)P10(.:$*5H15"#('62E()>?V_M0/RDZ<5T:,M[N#(.*?)(Y>2>P, MNO'?$L.=ML)1+7WSU.#)UAVFW6W[\[1N2R_N=7._)6I)A0:&N0V-NJ>VR*IN MF/7"R-(WJ84TMN7Y:6'_,:B<@[7G4IKMPB5H_UK);U!+ P04 " !/@ A7 M<)[[^!P$ Q%0 &0 'AL+W=O(Y>FYSL";UG&<8X M(/NIY5I/';?Y.N.RPYY--FB-%YA_V]Q0T;);2IJ7N&(YJ0#%JZEUY5XF+I0. MRN+/'._9T3.0H=P1!'.'&)Z3XJ\\Y=G4BBR0XA7:%OR6['_'34"!Y"U)P=0GV#>VC@66 M6\9)V3B+%91Y57^CAV8CCAP$1^_@-0Y>W\%_Q@$V#O!G9_ ;!_]G9P@:!Q6Z M7<>N-BY&',TFE.P!E=:")A_4[BMOL5]Y)0MEP:D8S84?GRTX6=YGI$@Q9>_> M1)X[^@B2[]N70 O4.Z>+IS_-WORR[-W M-@.V1005#SY71!FB^/Q.E<(->A0ZPL$5I:A:8_E\!I('61YB5-;4'&URCHK\ M7YR>@:N2;(7UWY\%$GSBN&3_Z*JCGM_7SR_%]))MT!)/+:&6#-,=MF;OWKBA M\U&7&I.PV"0L,03K)-%OD^@/T6=?B4@*8.JMKE.Y/'JK=4FI>:'BR1^DW6SL M.?[$WAUO]JE1"(.H:Q2?&KF1/^ZA$HT5C$8'5B?LH T[& Q[3A@'9"5^]':X MVF*M-@T27EI])F&Q25AB"-9)0]BF(7QE"0E-)M$D+#8)2PS!.DDU*BL7+#<4\G8HV5/X)]-=%8P3!R]7+B'AW(W,'0%^+0 MG%?K,[#&%:9B%V2AHE2<_7+&*9+G:FW\@]27UJ516FR4EIBB=?/C'?+CO;+" M- LPE4J3M-@H+3%%ZZ;R<&QU!P]4OZ(R\.0,$D O[*O,J14<>^.^RIQ:N0[L M_[-)-&81C(*>S-A'5T EIFMU]\9$/*+@ZH-\V]O>[UVI6ZU>_[5[.7!DHRZ@[@CGI%2/&48IIM) MC*\(X4\-.4%[2SK[ 5!+ P04 " !/@ A7PSPT(H8# B#@ &0 'AL M+W=O6$(E42<;3A MXEZFB H>BIS)L9<9P+D!614'%=H8YWXP]XNTZ;K)5JDR'/QF5=(6WJ.[* MN= MOT5)L@*9S#@#@FU.$WCXO$/_V8K78A94XB7/_\P2E8Z]@0<)+FF5 MJQN^^04;03V#%_-)RCDNS># MD/0_PO67*E-;H"P!.WPVT[(3N.2%]H*D=C7/X(X)C/F*9?_^?^R22R7A_14J MFN7R [R%C,'O*:^DAI0C7VG>)KL?-QQG-/5F@I! MV0JUFQ4LMG X;TZWMGNZH2*!OW_3D/!)82'_.;90=?[N\?SF#;Z0)8UQ[.E7 M5*)8HS=Y]X9$P4>'NFZKKNM"GWRUX=XUBC1!;%' KK2308A,.1OSZ2 MO-&)<]A=2<=1A;O00MB800BAJIY$A M)'0K':L6M<0C)_0-2B4R2UF:EPDJ3?HH12?.,_>VW[+LO[)S^S] W:!5-W@1 MYPX>.S?H#[O'G3MLDP]_J'/=Z#OG=EKG!M]R+@GVM2%P@FMVMNZS&'4%?JJ/ MW:#/W&IR4-#(*UNY(?#" L.]P/!%W-S '-JYWQ^<.(?)OL819Y'Y;C]_ YY8 M0\/@Z2U [6WQ2G_.L??+87*%;V M@*;U9_]^>GU[^DS%*F,22NJ%X:2\! M"Z[TE<(^IOH2A\),T.-+SM6N81*TU\+)?U!+ P04 " !/@ A7YQMN0V,# M !,"P &0 'AL+W=OD6'D#_6=]+'/F]2LXJX(H)3B1LIMYM>+/,#-X"_F*P5T?OQ&2R$N*K M&7S(IUY@%@0EK+51H/C8P1S*T@CA,O[M-+T^I"$>OQ_4?[.Y8RXKJF NRB\L MU\74&WLDAPUM2OU9[-]#ET]J]-:B5/:7[#MLX)%UH[2H.C*NH&*\?=)OG0]' M!-1Q$Z*.$ T)R3.$N"/$WQLAZ0C)]T9(.X)-W6]SM\8MJ*:SB11[(@T:U:XFOL8%&!E_W06[:X-%SP2+R4?!=:'(DN>0._B+R_S1!;Z/B??9 M1X?L[Z*+@K\WY14)PE](%$2Q8SWSE^C\BD2II4>N=/Y?].4/1S\Q(^Y+(;9Z M\3-Z2RHYXUM%[OM"^/MVI;3$P_R/:[-;N<0M9RZX&U73-4P]O,$4R!UXLS<_ MA:/@5Y?3KRFV>$VQY2N)G>Q)TN])=)"_HSN0>&\?SF&C(#>'$0]N MW6C<-7-;LC7A>)S9TW%6[7%&8,M[Z]K&=@6I78'YK.QF61:FUQ-_=[P_+M3X M.CM%+9Q:872*6CI0XR +>]2)56EO57K1JML\)[70P#6C9?E(#PPP2641FX/1KT'HUOH'!(G \SR'!,, M?/&/VH,*Y-;V90J+H>&Z_3STLWWK=VL[GL'\77@S#QWS"VP5V\[N2;[M,S]2 MN65*2[@0G0-]"S M_P!02P,$% @ 3X (5]6@(DC/ @ 20L !D !X;"]W;W)K&ULM99M;],P$,>_BA4D!-)H'OJXD4;:@Q";-I@V 2\0+]ST MVEISXF [S?;M.3M96J348V-]D]CQW=\_^QS?Q960=VH%H,E]QG,U]59:%T>^ MK](59%3U1 $YCBR$S*C&KESZJI! Y]8IXWX4!",_HRSWDMA^NY9)+$K-60[7 MDJ@RRZA\. $NJJD7>H\?;MARIDR ?RA4I)S0Z1=V>@*>/J?>QKG,'8^6FC M=E*K13O4+DK>(T%X0*(@ZO_M[B-82Q>U=)'5Z^^D4PK@@%C* W(&*I6LL.'\ M>8FVY%Q#IGYU@=;"@VYA<]:/5$%3F'IXF!7(-7C)VS?A*/CHP.ZWV'V7>O*U M +.7^9+P&EQ"#A7E1(/,NF#=-@2#_^3>,Y4*LI<$[2#+M1Z@C"P,YAK:IT$O6 036)_W4$V M:LE&3K(KW*:L[-PSO+>[.7/-2\DW^"9^9@/XI[F[- MW?^YOU48F2+SBLHERQ7.O4"EH#?&U"#KNJWN:%'86FDF-,;?-E=8ZX(T!CB^ M$$(_=DSYU5;/R1]02P,$% @ 3X (5^I=TRH7 P A0H !D !X;"]W M;W)K&ULK59=;YLP%/TK%JNF5EK#-S19@M2&3-NT M:E73=@_3'IS$":A@,]M)NG\_VQ":@$NJK2]@7\XYU^?:P!UN"7UD"4( A15NV-P;2R8R01SGYLA@9EEP0RM"<2P4H;ALT M1EDFA<0R?E>:1IU2$O?'._5/RKOP,H,,C4GV(UWP9&1<&&"!EG"=\5NR_8PJ M/[[4FY.,J2O8EMC0, MC[XA464&SL&8Y 7!"',&R!*H,)@\B>,H[J2&Q"ZX)Y@D#$[Q "PT_[N8''7Q3%*&NA+.K MQ)73*?AUG?6 97\ CN6XFO6,C]%Q#SB^HCLZ._^7??+/V0^*X=;'PE5Z;O>Q M^'DY8YR*E_F7;H-+"4\O(3]P U; .1H9X@O&$-T@(WK_S@ZLC[KJOJ58_)9B MDS<2.]@'K]X'KTL]^EX@"GF*5R!3;R0JWTC=;I1"@1*2?X=-Y-B.-S0W^U76 M@2[<0U#&ULK9=K;],P%(;_BA40 HDM]TM'&XEM0H! JC8&'Q ?W/:T MM7#L8#LM_'OL),O:-/-0Q)4Y+X'I-VLN"JSTK=BXLA2 5W500=W \Q*WP(0Y^;1^-A?YE%>*$@9S M@615%%C\N03*]S/'=^X?W)#-5ID';CXM\09N0=V5;TP0>7M^KOZO-:S,++.&*TV]DI;8S)W/0"M:XHNJ&[]]#:R@V>DM.9?V) M]NU8ST'+2BI>M,&:H""L^<:_VX4X"/"C1P*"-B#XUX"P#:A7SFW(:EO76.%\ M*O@>"3-:JYF+>FWJ:.V&,)/&6R7T6Z+C5/X)]!I(=(9N]09951007Z-WE:H$ MH,^$D:(JT!S_T8E3$MVQ%0C4AKR\!H4)E:]T\-WM-7KY_!5ZC@A#7[:\DIBM MY-15FM#,XRY;FLN&)GB$YF-%SY'GOT:!%X0#X5?V\&M8GJ.P"0^.PUV]+MWB M!-WB!+5>:%^<[V\74@F]X7X,.6HDHF$)#0$WD3%!^!9DJ0]<*OT2/"X X^? H^'P.-3\#CMK[A5>B1XTH$G M3X$G0^#)"7CJ19,>N%5Z)'C:@:=/@:=#X.D)>)*$?@_<*CT2/.O ,ROXERWH MDKU6((;PLQ/\, JC'KYU@I'XDPY_8L?G"E-3S.KJ0LV/+"K;&C-D:')J*$OB M?D*LOH$4E[HZJ=S E(-5C[OQ,99%)HZ=63#/L]8'P?M@&_U M,3>B3*$=IE7="S#=2OY[JEKUWN8+^J?>#C'6Y$-9]ZUUM$W6LA+"6"VY,!WE MH)W@-&=IEO:W7CLL.1H6QF$W[)CSH2#[]HK<'!3*V>9,[ZL"Z>9=8$78ILT$ M)7A!*%$$AI-Q6JR#)(JS/OW L#3.TAZ]>]!DF@[_,Q8;PJ1&6>LX[SS5JR2: MIKFY4;RL^\X%5[J+K2^W^H\&"#- OU]SKNYO3"O;_77)_P)02P,$% @ M3X (5Y&:^7@I! W14 !D !X;"]W;W)K&UL MS5A=;]LV%/TKA%8,+>!8HOR=V082I\,R-%@0K]M#T0=:NK:)4J1'TG:R7U]2 MDB7;48C$4[J\6%^\A^<<7UY=<;@5\IM: FATGS"N1MY2Z]6Y[ZMH"0E13;$" M;I[,A4R(-I=RX:N5!!*G00GSPR#H^@FAW!L/TWNW"C%%DD[ MVJ#9D]2;--JHH=S^C5,MS5-JXO3X#C; UX#.T$4<4^LL8>B:9_EA?7Y_!9I0 MICZ8(9^G5^C]NP_H':(M%*_E M]K2![L N),H7Z!9D:BF/ /TQ8W21FMM '^]7)I\A1G_2Q(X3-!L#_W-OA;G;"=JZ11:.DXM$Y/=TOR! MB"@%NE)#!H![>QK:37RDH?-8*&X.BD$'W+H%M^[SN&VI7N8%!F0#,4IFE%'] M4,4V@^SL\0B/N78?/T!$6YEDJ' M>X\)A;C9.:+MG/_$-.D7ZOK/45=#F6B@J292(_,& /3EXIZJK^=I+3P+>F=! M6&6/D]I+"T=-8 8/U]K] MU85VZ%O9_V%W UA?16I75J1._[@BO4:+B,L>$;N;Q!]4D=PD,'H (BNSP1EX MJCMEEXK=;>KKUZ.VK4?AH-(T)[<7KZN:T Z=+%MHW'LS]:BF;CKW[35Z&PO=V]R:W-H965TR Z$N:FD:BD:5]6A[A30 MTB6U/(RC:!&VE(D@2]S91F6)[)$S 1M%=-^V5/U= Y>'-)@&QX,MJQNT!V&6 M=+2&'>#W;J.,%XXH)6M!:"8%45"EP6JZ7,]MO OXP>"@3VQBE>12/EKGKDR# MR!("#@5:!&I>>[@!SBV0H?%GP S&DC;QU#ZB?W;:C9:<:KB1_"$ MV/'VA1S+6XHT2Y0\$&6C#9HUG%27;<@Q83_*#I6Y928/LV\=*(I,U&0'M6DV M:D)%23X)!-4IIN'*E =R)_SWMXV\(JNR9-:D_-G%FUM RKA^FX1HJ-D"83'0 M6'L:\0LT%N1!"FRT*5Q"^3P_-))&7?%1USJ^"'C?\PF)IN](',4SHKVV"[BS ML5\SASM[ 7?H$ME")Y7KVZ]5KE&9Z?I]3K9'FY]'LQNWU!TM( W,2FE0>PBR MUZ^FB^CC!:[SD>O\$GKVM6]S4$169GLL6YIS.+9"GR/KX:X=G-WF?18GX?Z4 M07@R:2VHVNV3)H7L!?JA&T_'E5WY2?T?[O?]@:J:"4TX5"8UFKPW=97?(>^@ M[-S&PO=V]R:W-H965TFD ?;C1STL611-Y\%\ M22SYW$,=7OKR'IO3!T*_LC7&''PO\I*=3]:<;\XLBRW6N$C9*=G@4KQS1VB1 MWEG32C5D% M[K_>L?]2BQ=B;E.&YR3_.UOR]?DDG( EODNW.;\F#[_A5I!7\2U(SNJ_X*'% MVA.PV#).BC98/$&1EX!P*<-L!YZ@AN&^ ^=02O M#:BE6XWV>N+BE*>S*24/@%9HP5:]J&>_CA;SE9750KGA5+R;B3@^^[S!-.59 MN0(W>"46 &<@+9<@*3FF&YHQ?"*&Q^"R;-9DE=L3T ==8R8RPL#MXRX>O(\Q M3[./_N W@'LA+\N29;)LC9U.+BR:OQK47[E!?-4Z(#3^F 3Z3D M:R:>:XF7BOA8'^]KXBTQ8]VTH=VT72 MX>_;_!38\"> ;.0HGF=^++P\!5^2LEC($-)7<95TGU1J/Z-@H=2>D8%;F.'TE"QRB(H.-# M2:@"%H9>Y*B%^IU0_PE"Q<:^RDJ5T"8:VGO#VJ=.*"5KKH2YOC0AL9HM\"2I M#2P:D@5JH4$G-- *O:+D%H-Y2M6;AC;XN:7#)%ELDBPQ1#;(0-AE('S#VAZ: M3)!)LM@D66*(;)"@J$M0].+:'HVK#_0<6ZYX"I@?!'8HU8$Q#+G(=^22-X8Y M*/"C [4=VGVC:FN%WCRR:ITIFT=MY'/7F5&VV"A;8HIMF(,]LP#?L!JTY*;2 M9)(M-LJ6F&(;I@GU:4(OK@EMJ#?HO7PHUP0%3'0WD=P&*6"A'3@26Z* "5!D M'Z@)O?& VK9YS[VRG7O]#QQI&O24SUZ%1AV'4;;$%-LP.;WI@.Y;%@NMI7EV MFDRRQ4;9$E-LPS3UI@GJ79.V6'BCSZVR@U#A5"V$ J?L(10X;1/1&R?X%.=T MV"*VX0-GBB!$LMXQ+ A=9,MRQ[#0"QS9.2E@PH/["!U0V[LGJ+=/QWQB&RY; M.]^3Y2IQKC]*KYK/&VT':KX]2SD4W)L5J&VUU?N!KG$T:E",LL5&V1)3;,/$ M]"8%1F^Y%V@MT+/39)(M-LJ6F&(;?JG=>RRD]UBZO: -'7YI-VX<%3!5XZB MJ1I'!4S3.*+>R"!M!WYT'VC#!V97; .N+'8,@Z'8J&2Q8Y@+P\"6Q8YA3N"' M![XL1+T=0'H[<&P;:,.'7]UY\I[7HJ2B[=F>+%:-@Y&L]@#ND-S>%* 7F((Y MH:+RI!S7/V]]YFM,E5-AU!P898N-LB6FV(9)ZLT!>DMS@(R: Z-LL5&VQ!3; M,$V].4 O-P=H_..&+=>,HY#X."310H;">B. 7F<$T+@G/T&1W,G.E3!A5621 M"IB/7/EG,17,#> !'X!Z'X!>YP/TX>I%!I2?)$-$L2FBQ !1,^G6WAF+ M-5 M?;B%@079EKSYJ;R[VQV@^5@?&Y'N7\"S.53F;TSJ?ZL0QD.,[ M,91]&HC/ VT.P#07G&SJ$QZWA'-2U"_7.%UB6@'$^W>$\-U%-4!W#&GV/U!+ M P04 " !/@ A73>1A?L41 -R@ &0 'AL+W=OCOA'E%23"M!ELG=[=AK;Z)K>?5CL M@RI1)48[EE=6JJ: _? K.[8IDE=TY!R]=">IPY\B7_K&QSPF;[XV[>_;Q[KN MDG\^K=;;]U>/7;=Y=WV]O7NLGZKM]\VF7O?_\KEIGZJN_[9]N-YNVKJZWP]Z M6EWS-%773]5R?75[L__9+^WM3?/=X_OKXJKY+[^7#VONE^;K_]6 M'^YH_PO>-:OM_K_)UX,VO4KNGK==\W08W/\&3\OUR_^K?QX>B<& GD,/X(KKKJ]:9NO2;M3][3=%_M' M?S^Z?[R6Z]U,^=BU_;\N^W'=[7]LZK;JENN'Y&/]T,^ ;IM4Z_O$K+NZW;3+ M;?V7_O)U\M/Z95+N:ON7Y-?Z2[U^KI-/WXZCONM_=M<\K)=[Q3^^;>KO]IQ_ MK9N'MMH\+N^2'_J)G/Q)UUVU7&W_W%-^^ZB3/_WAS\D?DF4_Y+%YWO8CMC?7 M77];NU_N^NYP"Q]>;H&/W()(?F[6W>.V_Z7OZWMBO(Z/5Y'QU_W#>7I,^?$Q M_<"CP+\]K[Y/4O9=PE,NB-]G<6[X^ON$9_OAG+J=MUW=7'QUY\$0IPDF]CPQ MPM/+;?7PT-8/+Y.G^7R:/?_]]UZ:_-353]O_H:K^PI4T=]=!WVTWU5W]_JIO MD=NZ_5)?W?[Q7YA*_TH]Y$B81L(,".841YZ*(V/TVT,IR"?=RTBU'[G[>_/E MEF59R=3-]9?A QO*>"K*-'=E.I0)+H22KLR$,IFRM& GF7.;V>DVL^AM_M(V MG^ID4;5T>XD.GCK1D#"-A!D0S*F .E5 S=0%%+(X2)A&P@P(YA0G/Q4GO[@+ MO(S,AEV 92(57A<@9"K/T\+K J&,2ZX$\[I *!,\5^5(%RA.MUE$;_/CM^UN MEE%W&1TX=9(A81H),R"8\^B7IT>_G*D#E,CB(&$:"3,@F%,OLF)^#R!D0K&R]'H (2O27'@T0\AZ49G2/8 -_ Z+WN@_JN77:DW>9G3@ MU(D&I6DHS:!H;@FX+0&?J14-^ M.PAE69KRU&\'H4R5A?1?$A REHJT*$?Z@75 +&Z!7OI!\G_)&9,0QTR>>DB: MAM(,BN86Q'HUELW5':!&#DK34)I!T=P263/'HG8DWAU4V!TR$;QM0,ADQ@K? M,! R);G_TL,0LB+/V=B+!6N,6-P9G9I#Q#O$$9-G'9*FH32#HKG%L/:-%7,U M!JB_@](TE&90-+=$UN.QJ$N)-X8R?,:S,N@+A*H0W&\+H2I3O/"[0JABFU": MAM(,BN:6R)H]'G4JT99P&.H\V;G*_3<6")E@7/I-@9 5J4S])09"EJEBS$AP M:YEXW#(Y7>&\GXC3)D] Z/H6E&90-+/@%H^*$U#:09%T1&//F9OV2P(&2\_V/OO_E(R+(LS[G?(T*99!G+1GJ$-4X\;IS\'A&Q M%7'2Y,D'7?F"T@R*YM;$>CR>S]4?H,X/2M-0FD'1W!)9Y\?C*W?1_E!0*Y3^ MBX,%(2MS?QE3$RHNE6\_#'7-WEC(D?9@[1./VZ?%XW)=D3<)70.#TC249E T M-ZMDK9U(9VH& NKYH#0-I1D4S2V1]7PBOH 7:P:'H<[S5V1^#&%!R&29B\SK M!H0L2Y4?;3*$K"B8&.D&PCHG$7=.^VYPWDC$*9,G'G1-#$HS*)I;CT&0<;8D M(S;*B,TR8L.,N#S/>!CJ9I2R8&&"D,DTR_V%"4(F9%GZKQ0(62Z$ M&GFS05C').*.Z=@;(@8B3I@\Z:"K85":0='<6EA3)^;*-@JHQX/2-)1F4#2W M1-;CB/ MR;\W;4VZB/CHR=,-N@P&I1D4S:V#]7%BKJRC@!H]*$U#:09%O#SO M*,/H(<\+Y2]+4+(BSWP70012$A%()?VG_H*2Y9+Y M7H*0295R_WT&0I9Q7HYX"3GX#%C<-+D=(N(HXIS)4P^Z'@:E&13-K8AU=W*N M"*2$FCXH34-I!D5S2V1-G[P\ BG#-"*3P9N0E$J(X'.31)Q2,3\=3:A$.7 G M[DU:VR3CMNGG:E5]VRY),Q$?.GFF01>_H#2#HKE%L*9.SA5[E%"_!Z5I*,V@ M:&Z)K-^3E\<>91A"5"K/_69 1!45E]+O!H0L+V7P2B&4B4)*0?>#S)JF+&Z: MCOW@O)&(@R9_IAJZ&@:E&13-+8FU=]E<"<@,ZO6@- VE&13-+9'U>MGE"<@L M#",J%G0'0L54^.XC*=M"U,"C- MH&AN.:RMR^;*/690GP>E:2C-H&ANB0;;DER>>\R(I&*:^HTA%!5!5P@U3$KE M-X50E8\M4V;6)65QE_2W:D-_UCH^;O(4@ZY\06D&17,K8"U<-E>Z,8,:/"A- M0VD&17-+9 U>=GFZ,0N3AGGIYQ$7A*HL@[<2"!4KRK3T.P$A*P4;ZP76)&5Q MD[3O!:]P#M 5,"A-0VD&17,W9+)F3LT5=510

E:2C-H&ANB:RY4Y=''568 M.A1EZG<&0J5R/_.D"15C:;!$2';!D(E.&=^5R"RBT7N MOYM J@9+G.Y-6FNDXM;(/+?-IB9O$;K$!:5I*,V@:&X)!ELVSK9G(W;31NRN MC=AM&^=P=\JZ.W5YKE$1(<.T"/+.A*Q(RZ 7$#LWIL%'L UU326+D1"3LA9) MQ2W22S=PAG1I#Q#O$$5-G')2F MH32#HKG%L#XNGRO4F$/M'92FH32#HKDELO8NOSS4F(?YPD+ZJX<+0K7;L\5O M"L1VC3* &4J6\F)DW[;<6J3\3*1QN7ZH-DU+&HCXV,F3#;J\!:49%,VM@O5P M^5PQQASJ\: T#:49%,TMD?5X^>4QQIR('A8\V/D]5.4LW/B=V*"1^9^H,(2* M%6DZDDS(!_O;QVW2J1V<=Q!QTN29!UWU@M(,BN;6Q%JZ?*Y88PXU>5":AM(, MBN:6R)J\_/)88TXE$?U/-BP(51;LW:0)E2Q]EJ&NF,FQ/9D*ZY.*N$\:-H?8 M$1'012\H34-I!D5SZV$M73%7HK& &CTH34-I!D5S2V2-7G%YHK$@0H@L]=]: MH%2EGWO4A$IPZ7^:FE#Q;&P_Q\):I>*<5=IVN]G7/=:[PPY7U,ER'^*,R5,. MNN@%I1D4S:V&=73%7&G& FKWH#0-I1D4S2V1M7O%Y6G&@MI0,3@R@E#Q//<_ M4$VHBN T&D-=4:JQ(Z2L82K.&2:O*YRW%''BY D(70V#T@R*YM;&VKQBKJQC M 75]4)J&T@R*YI9H< 3;Y5G'@@@>AIM!4ZKPHQ"$2@CN1QT)%4\'&2KW)JUO M*L[YIK!'Q)P%=$4,2M-0FD'1W /HK-,KYTH\EE#S!Z5I*,V@:&Z)K/DK+T\\ MEL3FCM+?X7E!J)@*MEP@5!DO_*WBR2MF(\ZBM/:IC-NG_O7"_?-=MTVZMEIO M/]=M6]\G59=4R:99KKO=<=C=\HE8DH'KH'2E3,.\&XE?9_+TA"ZM06D&17,K9IUB.5=\LH0:1BA-0VD&17-+ M9 UC>7E\LJ1.ON9E$700*O*HOU M^@X2\2KQ:TR>FM"U-RC-H&ANM0:G9<]V7#;VO&SL@=G8$[/G.3)[>&;V6P[- MID[-3J7_60Q*)T1:^/V#TN5EQCR>H72JD.5(_V#IX.3L-&[.3AVD6M\GN\=S M>5>[[:3Y4K>CWN4,?NK,Q.(T%F=@.*]:?%"MV4[93K'';$-Q&HLS,)Q7J,%1 MV^D;SMI.B2TD"__C&0M*)IGO=C0E4WT/"5I(*,M3.=I!!F=MIW'+-J&#O.)$ M[OC%ID]3Z-(>%F=@.*]V@V.YT[G2G$E3%'N, M-Q1G8#BO;H.3O-/9CO).L6=Y0W$:BS,PG%>HP7G>Z1L.]$Z)=&>P7DNI! L6 M9"@9XW[:W% R690C.ULR-O!R+.[E?FR>U_?MM^2/U=/FK\G?FX?E'7G3<50:6D\T5!CV2887"NDTHSL!P7J$&;I-='@D]CG4__5'Z'QI; M4+I=#RA2OUE0PD)D0<"#$G*A1O>L86Q@VUC)0Z=/BNARX-8G('A MO!H-_":;*S5Z),,*A3674)R!X;Q"#AQ[OGT0.UW2[8,0TNV#"*1& MV\? I;&X2Z/;1\RBQ('39R1T71"+,S"<5Y^!M61SA4F/9%BAL%X2BC,PG%>H M@9=DET=*CV.'3^!@ >:\1K]"8^(:[_8&#HS%'9C^]8>?Z5N#KO-A<1J+,S"< M6P8^L(=\KNSHD8PJ%!2GL3@#PWF%&CA&?GF"]#C6>2\BE4KZ+8'2J4(*ORT0 MNBP5F9\CI70Y&]WGHG_1,KC=N._:M8=7V(XX9?HC(9A'JZ&81ZJ+-8N"R>-QE'9I% MS&3$"=/G'W:I#HHS,)Q7D($)Y'-E1(]D6*&P;A"*,S"<5ZB!&^27)T6/8Z,F MX[Q&OT)CXAKO]@8>BL<]U(^K:OM(WQMVN0V*TUB<@>&\.@S,'I\K]7DDPPJ% MM8-0G('AW$*)@1T4;TA^"O)@$5'B..F3P#H3B-Q1D8SJO*P/B)V>*= FL&H3B-Q1D8SBO4P R*-\0[ M!17O)%H%M34GT2H(&=4JB%TW8ZUBX*=$W$\=6T7,8<01TV1 M@>43LZ4V!=8*0G$:BS,PG%>H@144;TAMBC! &3B,\QK]"HV):[S;&Q@H<68+ MSEA'P*Z707$:BS,PG%>)@=<3LV4O!=8,0G$:BS,PG%>H@1D4;\A>"B('F0:[ M8"THG5#]7_N@,X2Z(LU%D+\D=+VJ'.L01I"<1J+ M,S"<5Y>!_9.S13 EUA%"<1J+,S"<5ZB!(Y1OB&#*, @9O((XK]&OT)BXQKN] M@8^2<1]E^T/LM40<,GW*8=?/H#@#PWDU&?@].5N^4F)M(!2GL3@#PWF%&MA M^89\Y6&L.O=:@M"1KR4('?E:@M!1KR6NMX]UW>FJJVYOGNKVH5[4J]4VN6N> MU]UN:@Y^FK3UY]VC\>X'?G4=_/P#>[=@Q,\U>V?V/[^V^-N;3?50_URU#\OU M-EG5G_M+I=_O3FMHEP^/IV^Z9M,7XBKYU'1=\[3_\K&N[NMV)^C__7/3=,=O M=A?XVK2_[V_G]O\!4$L#!!0 ( $^ "%=+0(*PV0$ !D$ 9 >&PO M=V]R:W-H965TH1GL-^;O78>F5A*)D :IB324*7X M;G6;QSX^!+PPZ,S,1KZ2@U*OWMF5*8Z\(.!06,] W7*"'#CW1$[&KX$33RD] M<&Z/[ ^A=E?+@1K(%?_!2ENG^#-&)52TY?9)=5]@J.?2\Q6*F_!%71][<8-1 MT1JKQ !V"@23_4K?AGN8 ZX7 /$ B/\#K-8+@/4 6(=">V6AK"VU-$NTZI#V MT8[-&^%N0AI7#9.^B\]6NU/F<#;[2@_ $V(=E=\@Q0#;]+#5 NR>@VNE?0>8 M?YSOA?(6_H41)WG2'4^ZX\!SL<"SDX4;6@/HTQ9ZZPPQB;90@=90HD=U BV] M1O2HZ;M*-Q]G\"_DYYAF3+*38X:_"9;X\Y[_*O#[UW3*HH2/\H_E& M]9%)@SA4#A.=7U]BI/M![!VKFM"4@[)N,H)9N[<+V@>X\THI.SI^/*:_0?8' M4$L#!!0 ( $^ "%><(PU$B0, *D8 - >&PO3T9DJI=!8ISV9]=RIE\=;S M9N,I3KF&-.'V(5#<]=Q^@-\YCVW;N3UU_GN;Q\Y9CST9NCH];=Z>5V_$0# MIZYG%;W80_2LU<*% <3$P_W$=VECTIU-:7WYL1(RQ&.,UK705)::"1V,'-G) M6W1?'[^0-:R1G:O8\3'A!U3X82_AMEWX]T]$MP)VRP9[%<:.NL"$ MSZU+M+8\FNB5.V[02_*LWGB!:P)*F:34N2>\[PX)9R/!@)60E/&E";Y?#]7P\ET'XJ,7@N:L(7N+Y+* *;NX^JD*/CR M'6>3+*5F\'LG'/3(BN=,<\&^JVQ0*F,5H,)U[JF0;+P>^29(<4L7RK*^JVP;MGHL?_T-'JNY_AE8W729W1G'')LK(W97%,LT?O 4I>DA&GF_KJ^I@F9,[E;07VW;K] MB<9LGD;55=55=?LC#,\/J[<\E8ME,5W0>%AVQ62DFXYJJ*SE 81MY$H? M=@3C&,R. (;EP1Q@',/"\OQ/X^FBXS$8YJUK1;HHIXMR#,N&#/4'RV/G1.JP MCS2*@B ,L1D=#JT.AMB\A2'\V=4P;\# \D"FI\TUOMIXA>RN VQ-=U4(-E*\ M$K&1XG,-B'W>@!%%]M7&\@ #6P6L=B"_/0_4E)T3!+"JF#=L!^-(%&$(U**] M1L,0F9T0/O;UP79)$$21'0',[B (, 1V(XY@#L #A@2!?@YN/8^\U7/*J_\Y M,?@+4$L#!!0 ( $^ "%>7BKL

-8?20$3;8T.P6BP^0"X9 M9K>]9!:G[/$$<8TZN$Y]K.Q?/VCP]:OW$OE:ELJ/>UKG= M>;]O\ZVHN/U#[X2",VMM*N[@T&SZ=F<$+^Q6"%>5_6@PR/H5EZIW>?'6UHWI M^P?:B=Q)K:"P*;B7XMF^GV\.V5Y:^2A+Z5Y&O?9[*7JLDDI6\ILH1KU!C]FM M?OY3&_E-*\?+56YT68YZP\.)>V&CVNDK63IAIMR)ST;7.ZDV33-P%7WO,MHXO'T>@GAN_DL8 M]7HM5T)Y0YQ-*)L )7=RIWM,<4K,>I-]%X8=L,WHKDH^)=Y<;A !V1> MN,RYA!-F7K2,A#S7R^ELN9I-&7Q;72_FT_$=''P:+\;+R8QYD!$"&1T1\B'R M(&,$,CX*Y.H./K[,EAYD@D F1X0,(IDBD.DQ(6,/,D,@LV-")A[D&0)Y1@OY MB5MIF5ZS&R,L5&UK,*X*MI(;)3W(#PCD!^)(:I5##7. ]B)$85T+>:UVWJ0 M'Q'(C[20<[6'"F L84^8$LX?O0?8\#V@Y?JL=?$LR[*-UAQZ6&T: C:V%DSF M4Z*2(;;,.,]-+0JVD+Q-#""*/AJFEB&Q6Z;B,>A,S"!#8H7<"NM,G;O:0'K" M)EMN-F&@,',,B=5QQ:5A][RL17NO3861>]YD67#; ;:/B;EC2"R/O[DQ7+D7 MGP?3Q)#8$Y Q[R"??3EA-R5PG;3!F_U3RUWSPQ,?$Q/%D-@4*Z?SIZTN"V'L M0\OG7@ZB:$Z<^IB8*H;$KEA"NW.5ZTHPB"I;P2,2)-*8(8;$BICHJI*NJ63; MR('7'#S'0N7A5U(28FC(A8&/_.[-AO M=QP([.\^(&:0B-@@>(H73-$Q@T3$!NG(\3I#B>DC(M9'9X+528F))"(6"9II MA(B2YK$=NF*^7J['+, M-3&Q:PYI32<6YI:8V"UH0A%V,6:8F-@P>$+A+[C%F&%B8L/@"46 B4DF)I;, MSPG%5#@NR_"VQ 03$PL&S2B"VS+!!),<4D1YW3^(-DBBDG M)58.CND/DBFFG)18.>]3KXXQ*,4LDQ);!I][^;=CBEDF);8,/O<*,#'/I,2> MP3&#IP;=KR<6#XX9/#68>%)B\>"8F8^)B2<]YE;,PYF/B8DG/<)63/=XA'DG M)?;.Z\+ CR1HW\V88=+)_I<]F2:UT-5.JW:9 &:W;3&;??4Q,>EDQ-+Y@;F" MQHH:I@X >55#@B38%ZE\3,Q &;&!7O>4@'-<%+(YS4NX40]M2>UC8@;*B V$ M+PT%+SEA!LJ(#81C^@;*, -E1UUH\PV4H>^,$1OH+Y7#/V^:%U]ABCMWHFJ> MIZ:ITV@0!9V.&2AK#=1O*]O+BT*LI1+%$O["0GG.R_S&L.;C\'9-DC;[XNNZ M+"=0=JT6FA=O+[^^O;A[^1U02P,$% @ 3X (5\A!-T#(HPS=1Y +Z1 ITA@\%3$D>/E7'X@AGWZ50SONNU/= M[?NZ^#@>3G75[,:Q_Y%27>_*L:UW75].YRN;;CBVXWDY;%/?KM_;;4FZ7.8T MW,YHGI]N9RY>/_OR/Q.[S6:_+C^[]>]C.8W_&)S^=,-[W94R-HO7=MB6<=6D MC\/U=$V7@]R=)S>+E[=5,[R\29/F#E((TOF##()L_B"'()\_*" HY@_*$)3G M#[J'H/OY@QX@Z&'^H$<(>IP_2)8HXY(@:8(U@=:"7 N!UX)@"X'8@F0+@=F" M: N!VH)L"X';@G +@=R"= N!W8)X"X'>BGHK@=Z*>BN!WCIYV2;06U%O)=!; M46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O)=#;4&\CT-M0;R/0VU!O(]#; M)ILE!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H[ZNT$>COJ[01Z M.^KM!'H[ZNT$>OMDLYM ;T>]G4!O1[V=0&]'O9U ;T>]G4!O1[V=0.] O8- M[T"]@T#O0+V#0.] O8- [T"]@T#OF'RL)- [4.\@T#M0[R#0.U#O(- [4.\@ MT#NCWIE [XQZ9P*],^J="?3.J'2KWV?*WQ^=])]7B^MUP??UE^G9RP<\$YW5;4Y[]02P,$% @ 3X ( M5^(A,D+Q 0 &2< !, !;0V]N=&5N=%]4>7!E&ULS=K+3L,P$ 70 M7ZFR18WK)P_1;H ML. '3#*E49/8LETH?X^3 A((*E"1N)M&K>VY$X]T5CV_ M>_84)]NN[>.\6*7DSQB+U8HZ&TOGJ<\K2QTM)LV3:ZV^>?8N'Y>!&IC,;G8;1RRYH7UOFTJF_(Z>^SK3RG3 MUX0RGQSWQ%7CXU'>4+ O$X:5[P->S]T\4@A-39-;&]*U[?(NMFU93,\MQ7)_ MB2]Z=,ME4U'MJDV7CY31![)U7!&EKBUW18_V)Z=\P[3[Y ?GCV7V!>:=M\'Y MF"<6Z/=Q;R,93D]]+D0A-?M?\3TQES[X_6B8=DWU#[/S]3ZYL![G$=GX./R. M/\[XO?XO^Q @?4B0/A1('QJD#P/2QS%('R<@?9R"],%G*(V@B,I12.4HIG(4 M5#F*JAR%58[B*D>!E:/(*E!D%2BR"A19!8JL D56@2*K0)%5H,@J4&05*+)* M%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*K I%5H4BJT*15:'(JE!D52BR M*A19%8JL"D56A2*K1I%5H\BJ4635*+)J%%DUBJP:15:-(JM&D56CR&I09#4H MLAH460V*K 9%5H,BJT&1U?RGK/?.K?\X?GR6G6WZMWPV_B-N\0)02P$"% ,4 M " !.@ A7!T%-8H$ "Q $ @ $ 9&]C4')O M<',O87!P+GAM;%!+ 0(4 Q0 ( $Z "%< PGXK[0 "L" 1 M " :\ !D;V-09 M7)PC$ 8 )PG 3 " &UL4$L! A0#% @ 3H (5Q@_E5O-!0 QQX !@ ("! M# @ 'AL+W=O4 M(16YT 8 +\< 8 " @0\. !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ M3H (5Q^%X<_S!0 !1L !@ ("!/Q@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 3H (5\_T]437 @ %08 !D ("! M-$( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 3H (5^38XH2%! DPH !D ("!94T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 3H (5TY*3F;P @ V08 !D M ("!%74 'AL+W=O >&PO=V]R M:W-H965TVYBO#I@0 'L* M 9 " @;E[ !X;"]W;W)K&UL M4$L! A0#% @ 3H (5PTE/8BG!0 [@T !D ("!EH M 'AL+W=O&PO=V]R:W-H965T!1ZQLDP< 'X2 9 M " @3B/ !X;"]W;W)K&UL4$L! A0#% @ M3H (5RH'P*N3 @ F04 !D ("! I< 'AL+W=O&PO=V]R:W-H965T/S5" 4 *P, 9 " @96< !X;"]W M;W)K&UL4$L! A0#% @ 3H (5Q[A7X;H @ M+ 8 !D ("!U*$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 3H (5]SP" BP @ Q04 !D M ("!L:X 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 3H (5S9)_1H4 P P< !D ("!-KH 'AL M+W=O&PO=V]R:W-H965T1GX-P< &<2 9 " M@47! !X;"]W;W)K&UL4$L! A0#% @ 3X ( M5_6$@3S" @ YP< !D ("!L\@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 3X (5]P4B)1#! J!< M !D ("!6]( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 3X (5W#[N8RZ! D!H !D M ("!K-T 'AL+W=O&PO=V]R:W-H965T MOE !X;"]W;W)K&UL4$L! A0# M% @ 3X (5Z3R"A1\"@ RY( !D ("!0NH 'AL+W=O M&PO=V]R:W-H965TBIJAT9@8 .0U 9 " @7?\ M !X;"]W;W)K&UL4$L! A0#% @ 3X (5Q-4 M\I*G#@ MJ( !D ("!% ,! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 3X (5T?5*&PO M=V]R:W-H965T&PO=V]R:W-H965T&UL4$L! A0#% M @ 3X (5\,\-"*& P (@X !D ("!CS$! 'AL+W=O&PO=V]R:W-H965T1FOEX*00 -T5 9 " @=]" 0!X;"]W;W)K&UL4$L! A0#% @ 3X (5\IUTJL\ @ U 0 !D M ("!/T&PO=V]R M:W-H965T&UL M4$L! A0#% @ 3X (5TM @K#9 0 &00 !D ("!BV$! M 'AL+W=O&PO7BKL

&PO7W)E;',O=V]R:V)O;VLN>&UL M+G)E;'-02P$"% ,4 " !/@ A7XB$R0O$! 9)P $P M@ '<;P$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 2P!+ (04 #^<0$ " ! end XML 79 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 80 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 81 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 476 268 1 false 91 0 false 9 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.formfactor.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME CONDENSED CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 7 false false R8.htm 0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies Sheet http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies Basis of Presentation and Significant Accounting Policies Notes 8 false false R9.htm 0000009 - Disclosure - Concentration of Credit and Other Risks Sheet http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks Concentration of Credit and Other Risks Notes 9 false false R10.htm 0000010 - Disclosure - Inventories, net Sheet http://www.formfactor.com/role/Inventoriesnet Inventories, net Notes 10 false false R11.htm 0000011 - Disclosure - Goodwill and Intangible Assets Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssets Goodwill and Intangible Assets Notes 11 false false R12.htm 0000012 - Disclosure - Accrued Liabilities Sheet http://www.formfactor.com/role/AccruedLiabilities Accrued Liabilities Notes 12 false false R13.htm 0000013 - Disclosure - Debt Sheet http://www.formfactor.com/role/Debt Debt Notes 13 false false R14.htm 0000014 - Disclosure - Restructuring Charges Sheet http://www.formfactor.com/role/RestructuringCharges Restructuring Charges Notes 14 false false R15.htm 0000015 - Disclosure - Fair Value and Derivative Instruments Sheet http://www.formfactor.com/role/FairValueandDerivativeInstruments Fair Value and Derivative Instruments Notes 15 false false R16.htm 0000016 - Disclosure - Warranty Sheet http://www.formfactor.com/role/Warranty Warranty Notes 16 false false R17.htm 0000017 - Disclosure - Property, Plant, and Equipment, net Sheet http://www.formfactor.com/role/PropertyPlantandEquipmentnet Property, Plant, and Equipment, net Notes 17 false false R18.htm 0000018 - Disclosure - Stockholders??? Equity and Stock-Based Compensation Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation Stockholders??? Equity and Stock-Based Compensation Notes 18 false false R19.htm 0000019 - Disclosure - Net Income per Share Sheet http://www.formfactor.com/role/NetIncomeperShare Net Income per Share Notes 19 false false R20.htm 0000020 - Disclosure - Commitments and Contingencies Sheet http://www.formfactor.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 20 false false R21.htm 0000021 - Disclosure - Leases Sheet http://www.formfactor.com/role/Leases Leases Notes 21 false false R22.htm 0000022 - Disclosure - Revenue Sheet http://www.formfactor.com/role/Revenue Revenue Notes 22 false false R23.htm 0000023 - Disclosure - Operating Segments and Enterprise-Wide Information Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation Operating Segments and Enterprise-Wide Information Notes 23 false false R24.htm 9954701 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies) Sheet http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies Basis of Presentation and Significant Accounting Policies (Policies) Policies http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies 24 false false R25.htm 9954702 - Disclosure - Concentration of Credit and Other Risks (Tables) Sheet http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables Concentration of Credit and Other Risks (Tables) Tables http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks 25 false false R26.htm 9954703 - Disclosure - Inventories, net (Tables) Sheet http://www.formfactor.com/role/InventoriesnetTables Inventories, net (Tables) Tables http://www.formfactor.com/role/Inventoriesnet 26 false false R27.htm 9954704 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.formfactor.com/role/GoodwillandIntangibleAssets 27 false false R28.htm 9954705 - Disclosure - Accrued Liabilities (Tables) Sheet http://www.formfactor.com/role/AccruedLiabilitiesTables Accrued Liabilities (Tables) Tables http://www.formfactor.com/role/AccruedLiabilities 28 false false R29.htm 9954706 - Disclosure - Restructuring Charges (Tables) Sheet http://www.formfactor.com/role/RestructuringChargesTables Restructuring Charges (Tables) Tables http://www.formfactor.com/role/RestructuringCharges 29 false false R30.htm 9954707 - Disclosure - Fair Value and Derivative Instruments (Tables) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables Fair Value and Derivative Instruments (Tables) Tables http://www.formfactor.com/role/FairValueandDerivativeInstruments 30 false false R31.htm 9954708 - Disclosure - Warranty (Tables) Sheet http://www.formfactor.com/role/WarrantyTables Warranty (Tables) Tables http://www.formfactor.com/role/Warranty 31 false false R32.htm 9954709 - Disclosure - Property, Plant, and Equipment, net (Tables) Sheet http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables Property, Plant, and Equipment, net (Tables) Tables http://www.formfactor.com/role/PropertyPlantandEquipmentnet 32 false false R33.htm 9954710 - Disclosure - Stockholders??? Equity and Stock-Based Compensation (Tables) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables Stockholders??? Equity and Stock-Based Compensation (Tables) Tables http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation 33 false false R34.htm 9954711 - Disclosure - Net Income per Share (Tables) Sheet http://www.formfactor.com/role/NetIncomeperShareTables Net Income per Share (Tables) Tables http://www.formfactor.com/role/NetIncomeperShare 34 false false R35.htm 9954712 - Disclosure - Leases (Tables) Sheet http://www.formfactor.com/role/LeasesTables Leases (Tables) Tables http://www.formfactor.com/role/Leases 35 false false R36.htm 9954713 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables Operating Segments and Enterprise-Wide Information (Tables) Tables http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation 36 false false R37.htm 9954714 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details) Sheet http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails Basis of Presentation and Significant Accounting Policies (Details) Details http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies 37 false false R38.htm 9954715 - Disclosure - Concentration of Credit and Other Risks (Details) Sheet http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails Concentration of Credit and Other Risks (Details) Details http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables 38 false false R39.htm 9954716 - Disclosure - Inventories, net (Details) Sheet http://www.formfactor.com/role/InventoriesnetDetails Inventories, net (Details) Details http://www.formfactor.com/role/InventoriesnetTables 39 false false R40.htm 9954717 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 40 false false R41.htm 9954718 - Disclosure - Goodwill and Intangible Assets - Additional information (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails Goodwill and Intangible Assets - Additional information (Details) Details 41 false false R42.htm 9954719 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails Goodwill and Intangible Assets - Intangible Assets (Details) Details 42 false false R43.htm 9954720 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails Goodwill and Intangible Assets - Amortization Expense (Details) Details 43 false false R44.htm 9954721 - Disclosure - Accrued Liabilities (Details) Sheet http://www.formfactor.com/role/AccruedLiabilitiesDetails Accrued Liabilities (Details) Details http://www.formfactor.com/role/AccruedLiabilitiesTables 44 false false R45.htm 9954722 - Disclosure - Debt (Details) Sheet http://www.formfactor.com/role/DebtDetails Debt (Details) Details http://www.formfactor.com/role/Debt 45 false false R46.htm 9954723 - Disclosure - Restructuring Charges - Narrative (Details) Sheet http://www.formfactor.com/role/RestructuringChargesNarrativeDetails Restructuring Charges - Narrative (Details) Details 46 false false R47.htm 9954724 - Disclosure - Restructuring Charges - Restructuring Charges (Details) Sheet http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails Restructuring Charges - Restructuring Charges (Details) Details 47 false false R48.htm 9954725 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details) Sheet http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails Restructuring Charges - Changes to the Restructuring Accrual (Details) Details 48 false false R49.htm 9954726 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) Details 49 false false R50.htm 9954727 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) Details 50 false false R51.htm 9954728 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails Fair Value and Derivative Instruments - Additional Information (Details) Details 51 false false R52.htm 9954729 - Disclosure - Warranty (Details) Sheet http://www.formfactor.com/role/WarrantyDetails Warranty (Details) Details http://www.formfactor.com/role/WarrantyTables 52 false false R53.htm 9954730 - Disclosure - Property, Plant, and Equipment, net (Details) Sheet http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails Property, Plant, and Equipment, net (Details) Details http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables 53 false false R54.htm 9954731 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Additional Information (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails Stockholders??? Equity and Stock-Based Compensation - Additional Information (Details) Details 54 false false R55.htm 9954732 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails Stockholders??? Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) Details 55 false false R56.htm 9954733 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - ESPP Activity (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails Stockholders??? Equity and Stock-Based Compensation - ESPP Activity (Details) Details 56 false false R57.htm 9954734 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Stock-Based Compensation (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails Stockholders??? Equity and Stock-Based Compensation - Stock-Based Compensation (Details) Details 57 false false R58.htm 9954735 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails Stockholders??? Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details) Details 58 false false R59.htm 9954736 - Disclosure - Net Income per Share (Details) Sheet http://www.formfactor.com/role/NetIncomeperShareDetails Net Income per Share (Details) Details http://www.formfactor.com/role/NetIncomeperShareTables 59 false false R60.htm 9954737 - Disclosure - Leases - Narrative (Details) Sheet http://www.formfactor.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 60 false false R61.htm 9954738 - Disclosure - Leases - Components of Lease Expense (Details) Sheet http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails Leases - Components of Lease Expense (Details) Details 61 false false R62.htm 9954739 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details) Sheet http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails Leases - Schedule of Future Minimum Payments Under Leases (Details) Details 62 false false R63.htm 9954740 - Disclosure - Revenue - Additional Information (Details) Sheet http://www.formfactor.com/role/RevenueAdditionalInformationDetails Revenue - Additional Information (Details) Details 63 false false R64.htm 9954741 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails Operating Segments and Enterprise-Wide Information - Additional Information (Details) Details 64 false false R65.htm 9954742 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) Details 65 false false R66.htm 9954743 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) Details 66 false false R9999.htm Uncategorized Items - form-20230701.htm Sheet http://xbrl.sec.gov/role/uncategorizedFacts Uncategorized Items - form-20230701.htm Cover 67 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - form-20230701.htm 4 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 1 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - form-20230701.htm 4 form-20230701.htm form-20230701.xsd form-20230701_cal.xml form-20230701_def.xml form-20230701_lab.xml form-20230701_pre.xml formq223exh3101.htm formq223exh3102.htm formq223exh3201.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 84 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "form-20230701.htm": { "axisCustom": 0, "axisStandard": 30, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 1095, "http://xbrl.sec.gov/dei/2023": 29 }, "contextCount": 476, "dts": { "calculationLink": { "local": [ "form-20230701_cal.xml" ] }, "definitionLink": { "local": [ "form-20230701_def.xml" ] }, "inline": { "local": [ "form-20230701.htm" ] }, "labelLink": { "local": [ "form-20230701_lab.xml" ] }, "presentationLink": { "local": [ "form-20230701_pre.xml" ] }, "schema": { "local": [ "form-20230701.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" ] } }, "elementCount": 493, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 3, "http://xbrl.sec.gov/dei/2023": 5, "total": 8 }, "keyCustom": 11, "keyStandard": 257, "memberCustom": 25, "memberStandard": 65, "nsprefix": "form", "nsuri": "http://www.formfactor.com/20230701", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://www.formfactor.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Inventories, net", "menuCat": "Notes", "order": "10", "role": "http://www.formfactor.com/role/Inventoriesnet", "shortName": "Inventories, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Goodwill and Intangible Assets", "menuCat": "Notes", "order": "11", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssets", "shortName": "Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Accrued Liabilities", "menuCat": "Notes", "order": "12", "role": "http://www.formfactor.com/role/AccruedLiabilities", "shortName": "Accrued Liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Debt", "menuCat": "Notes", "order": "13", "role": "http://www.formfactor.com/role/Debt", "shortName": "Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Restructuring Charges", "menuCat": "Notes", "order": "14", "role": "http://www.formfactor.com/role/RestructuringCharges", "shortName": "Restructuring Charges", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Fair Value and Derivative Instruments", "menuCat": "Notes", "order": "15", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstruments", "shortName": "Fair Value and Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Warranty", "menuCat": "Notes", "order": "16", "role": "http://www.formfactor.com/role/Warranty", "shortName": "Warranty", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Property, Plant, and Equipment, net", "menuCat": "Notes", "order": "17", "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnet", "shortName": "Property, Plant, and Equipment, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation", "menuCat": "Notes", "order": "18", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Net Income per Share", "menuCat": "Notes", "order": "19", "role": "http://www.formfactor.com/role/NetIncomeperShare", "shortName": "Net Income per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "menuCat": "Statements", "order": "2", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "lang": "en-US", "name": "us-gaap:MarketableSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "20", "role": "http://www.formfactor.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000021 - Disclosure - Leases", "menuCat": "Notes", "order": "21", "role": "http://www.formfactor.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000022 - Disclosure - Revenue", "menuCat": "Notes", "order": "22", "role": "http://www.formfactor.com/role/Revenue", "shortName": "Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000023 - Disclosure - Operating Segments and Enterprise-Wide Information", "menuCat": "Notes", "order": "23", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation", "shortName": "Operating Segments and Enterprise-Wide Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954701 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "24", "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954702 - Disclosure - Concentration of Credit and Other Risks (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables", "shortName": "Concentration of Credit and Other Risks (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954703 - Disclosure - Inventories, net (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.formfactor.com/role/InventoriesnetTables", "shortName": "Inventories, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954704 - Disclosure - Goodwill and Intangible Assets (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables", "shortName": "Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954705 - Disclosure - Accrued Liabilities (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.formfactor.com/role/AccruedLiabilitiesTables", "shortName": "Accrued Liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954706 - Disclosure - Restructuring Charges (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.formfactor.com/role/RestructuringChargesTables", "shortName": "Restructuring Charges (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954707 - Disclosure - Fair Value and Derivative Instruments (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables", "shortName": "Fair Value and Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954708 - Disclosure - Warranty (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.formfactor.com/role/WarrantyTables", "shortName": "Warranty (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954709 - Disclosure - Property, Plant, and Equipment, net (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables", "shortName": "Property, Plant, and Equipment, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954710 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation (Tables)", "menuCat": "Tables", "order": "33", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954711 - Disclosure - Net Income per Share (Tables)", "menuCat": "Tables", "order": "34", "role": "http://www.formfactor.com/role/NetIncomeperShareTables", "shortName": "Net Income per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954712 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "35", "role": "http://www.formfactor.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954713 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables)", "menuCat": "Tables", "order": "36", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables", "shortName": "Operating Segments and Enterprise-Wide Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-53", "decimals": "-5", "first": true, "lang": "en-US", "name": "form:DeferredGovernmentGrantLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954714 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details)", "menuCat": "Details", "order": "37", "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails", "shortName": "Basis of Presentation and Significant Accounting Policies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-53", "decimals": "-5", "first": true, "lang": "en-US", "name": "form:DeferredGovernmentGrantLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:ConcentrationRiskPercentage1", "span", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-56", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954715 - Disclosure - Concentration of Credit and Other Risks (Details)", "menuCat": "Details", "order": "38", "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails", "shortName": "Concentration of Credit and Other Risks (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ConcentrationRiskPercentage1", "span", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-56", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954716 - Disclosure - Inventories, net (Details)", "menuCat": "Details", "order": "39", "role": "http://www.formfactor.com/role/InventoriesnetDetails", "shortName": "Inventories, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "menuCat": "Statements", "order": "4", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954717 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "menuCat": "Details", "order": "40", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-33", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:GoodwillImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954718 - Disclosure - Goodwill and Intangible Assets - Additional information (Details)", "menuCat": "Details", "order": "41", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails", "shortName": "Goodwill and Intangible Assets - Additional information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:GoodwillImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954719 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)", "menuCat": "Details", "order": "42", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails", "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954720 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details)", "menuCat": "Details", "order": "43", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "shortName": "Goodwill and Intangible Assets - Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954721 - Disclosure - Accrued Liabilities (Details)", "menuCat": "Details", "order": "44", "role": "http://www.formfactor.com/role/AccruedLiabilitiesDetails", "shortName": "Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-97", "decimals": "4", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954722 - Disclosure - Debt (Details)", "menuCat": "Details", "order": "45", "role": "http://www.formfactor.com/role/DebtDetails", "shortName": "Debt (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-97", "decimals": "4", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityInterestRateAtPeriodEnd", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954723 - Disclosure - Restructuring Charges - Narrative (Details)", "menuCat": "Details", "order": "46", "role": "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "shortName": "Restructuring Charges - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-101", "decimals": "2", "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954724 - Disclosure - Restructuring Charges - Restructuring Charges (Details)", "menuCat": "Details", "order": "47", "role": "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "shortName": "Restructuring Charges - Restructuring Charges (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-85", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954725 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details)", "menuCat": "Details", "order": "48", "role": "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "shortName": "Restructuring Charges - Changes to the Restructuring Accrual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-148", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954726 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)", "menuCat": "Details", "order": "49", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails", "shortName": "Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "menuCat": "Statements", "order": "5", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-246", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954727 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)", "menuCat": "Details", "order": "50", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails", "shortName": "Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-246", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954728 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details)", "menuCat": "Details", "order": "51", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails", "shortName": "Fair Value and Derivative Instruments - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:AssetsFairValueDisclosure", "us-gaap:LiabilitiesFairValueDisclosure", "ix:continuation", "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-252", "decimals": "INF", "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954729 - Disclosure - Warranty (Details)", "menuCat": "Details", "order": "52", "role": "http://www.formfactor.com/role/WarrantyDetails", "shortName": "Warranty (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954730 - Disclosure - Property, Plant, and Equipment, net (Details)", "menuCat": "Details", "order": "53", "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails", "shortName": "Property, Plant, and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-6", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchasedAndRetiredDuringPeriodValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954731 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Additional Information (Details)", "menuCat": "Details", "order": "54", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-265", "decimals": "INF", "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-270", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954732 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)", "menuCat": "Details", "order": "55", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-270", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-273", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954733 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - ESPP Activity (Details)", "menuCat": "Details", "order": "56", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - ESPP Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-273", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954734 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Stock-Based Compensation (Details)", "menuCat": "Details", "order": "57", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Stock-Based Compensation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954735 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)", "menuCat": "Details", "order": "58", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954736 - Disclosure - Net Income per Share (Details)", "menuCat": "Details", "order": "59", "role": "http://www.formfactor.com/role/NetIncomeperShareDetails", "shortName": "Net Income per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-29", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "menuCat": "Statements", "order": "6", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-29", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseRenewalTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954737 - Disclosure - Leases - Narrative (Details)", "menuCat": "Details", "order": "60", "role": "http://www.formfactor.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseRenewalTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954738 - Disclosure - Leases - Components of Lease Expense (Details)", "menuCat": "Details", "order": "61", "role": "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails", "shortName": "Leases - Components of Lease Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954739 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details)", "menuCat": "Details", "order": "62", "role": "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails", "shortName": "Leases - Schedule of Future Minimum Payments Under Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954740 - Disclosure - Revenue - Additional Information (Details)", "menuCat": "Details", "order": "63", "role": "http://www.formfactor.com/role/RevenueAdditionalInformationDetails", "shortName": "Revenue - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954741 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details)", "menuCat": "Details", "order": "64", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails", "shortName": "Operating Segments and Enterprise-Wide Information - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954742 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)", "menuCat": "Details", "order": "65", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "shortName": "Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "3", "lang": "en-US", "name": "form:GrossMarginPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954743 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)", "menuCat": "Details", "order": "66", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "shortName": "Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-341", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "menuCat": "Statements", "order": "7", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies", "menuCat": "Notes", "order": "8", "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies", "shortName": "Basis of Presentation and Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Concentration of Credit and Other Risks", "menuCat": "Notes", "order": "9", "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks", "shortName": "Concentration of Credit and Other Risks", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9999": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-52", "decimals": "-3", "first": true, "lang": "en-US", "name": "form:IncreaseDecreaseInDeferredGovernmentGrant", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "", "isDefault": "false", "longName": "Uncategorized Items - form-20230701.htm", "menuCat": "Cover", "order": "67", "role": "http://xbrl.sec.gov/role/uncategorizedFacts", "shortName": "Uncategorized Items - form-20230701.htm", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230701.htm", "contextRef": "c-52", "decimals": "-3", "first": true, "lang": "en-US", "name": "form:IncreaseDecreaseInDeferredGovernmentGrant", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } } }, "segmentCount": 91, "tag": { "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_JP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "JAPAN", "terseLabel": "Japan" } } }, "localname": "JP", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_KR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "KOREA, REPUBLIC OF", "terseLabel": "South Korea" } } }, "localname": "KR", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_MY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "MALAYSIA", "terseLabel": "Malaysia" } } }, "localname": "MY", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_SG": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SINGAPORE", "terseLabel": "Singapore" } } }, "localname": "SG", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_TW": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "TAIWAN", "terseLabel": "Taiwan" } } }, "localname": "TW", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_EUR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Euro Member Countries, Euro", "terseLabel": "Euro Dollar" } } }, "localname": "EUR", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_JPY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Japan, Yen", "terseLabel": "Japanese Yen" } } }, "localname": "JPY", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_KRW": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Korea (South), Won", "terseLabel": "Korean Won" } } }, "localname": "KRW", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_TWD": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Taiwan, New Dollars", "terseLabel": "Taiwan Dollar" } } }, "localname": "TWD", "nsuri": "http://xbrl.sec.gov/currency/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "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", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2023", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "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", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r740" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r741" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r738" ], "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", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r738" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r738" ], "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", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "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", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r742" ], "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", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r738" ], "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", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r738" ], "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", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r738" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r738" ], "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", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r737" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r739" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "form_A2020ShareRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2020 Share Repurchase Program", "label": "2020 Share Repurchase Program [Member]", "terseLabel": "2020 Share Repurchase Program" } } }, "localname": "A2020ShareRepurchaseProgramMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "form_A2021RestructuringPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 Restructuring Plan", "label": "2021 Restructuring Plan [Member]", "terseLabel": "2021 Restructuring Plan" } } }, "localname": "A2021RestructuringPlanMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_A2022RestructuringPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 Restructuring Plan", "label": "2022 Restructuring Plan [Member]", "terseLabel": "2022 Restructuring Plan" } } }, "localname": "A2022RestructuringPlanMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_AdditionalSOFRMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Additional SOFR", "label": "Additional SOFR [Member]", "terseLabel": "Additional SOFR" } } }, "localname": "AdditionalSOFRMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "form_BuildingTermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Building Term Loan", "label": "Building Term Loan [Member]", "terseLabel": "Building Term Loan" } } }, "localname": "BuildingTermLoanMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "form_ChangeInCapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Change In Capital Expenditures Incurred But Not Yet Paid", "label": "Change In Capital Expenditures Incurred But Not Yet Paid", "terseLabel": "Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases" } } }, "localname": "ChangeInCapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "form_DRAMProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "DRAM Product Group [Member]", "label": "DRAM Product Group [Member]", "terseLabel": "DRAM" } } }, "localname": "DRAMProductGroupMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_DebtInstrumentInterestPaymentTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Interest Payment Term", "label": "Debt Instrument, Interest Payment Term", "terseLabel": "Interest payment term" } } }, "localname": "DebtInstrumentInterestPaymentTerm", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "durationItemType" }, "form_DeferredGovernmentGrantLiability": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred Government Grant Liability", "label": "Deferred Government Grant Liability", "terseLabel": "Deferred grant", "verboseLabel": "Cash received from grant" } } }, "localname": "DeferredGovernmentGrantLiability", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "form_DeferredGovernmentGrantLiabilityTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Deferred Government Grant Liability, Term", "label": "Deferred Government Grant Liability, Term", "terseLabel": "Grant term" } } }, "localname": "DeferredGovernmentGrantLiabilityTerm", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails" ], "xbrltype": "durationItemType" }, "form_EquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equity Incentive Plan [Member]", "label": "Equity Incentive Plan [Member]", "terseLabel": "Equity Incentive Plan" } } }, "localname": "EquityIncentivePlanMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "domainItemType" }, "form_ExistingDevelopedTechnologiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Existing Developed Technologies [Member]", "label": "Existing Developed Technologies [Member]", "verboseLabel": "Existing developed technologies" } } }, "localname": "ExistingDevelopedTechnologiesMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 1.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite Lived Intangible Assets Amortization Expense Total", "label": "Finite Lived Intangible Assets Amortization Expense Total", "totalLabel": "Net" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "form_FlashProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Flash Product Group [Member]", "label": "Flash Product Group [Member]", "terseLabel": "Flash" } } }, "localname": "FlashProductGroupMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_FoundryLogicProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Foundry & Logic Product Group [Member]", "label": "Foundry & Logic Product Group [Member]", "terseLabel": "Foundry & Logic" } } }, "localname": "FoundryLogicProductGroupMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_GrossMarginPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross Margin, Percent", "label": "Gross Margin, Percent", "terseLabel": "Gross margin" } } }, "localname": "GrossMarginPercent", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "percentItemType" }, "form_IncreaseDecreaseInDeferredGovernmentGrant": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase (Decrease) in Deferred Government Grant", "label": "Increase (Decrease) in Deferred Government Grant", "terseLabel": "Deferred grant" } } }, "localname": "IncreaseDecreaseInDeferredGovernmentGrant", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "form_IntelMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intel [Member]", "label": "Intel [Member]", "terseLabel": "Intel Corporation" } } }, "localname": "IntelMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_InventoryImpairmentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Inventory Impairments [Member]", "label": "Inventory Impairments [Member]", "terseLabel": "Inventory Impairments & Other Inventory Related Costs" } } }, "localname": "InventoryImpairmentsMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_LIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "LIBOR", "label": "LIBOR [Member]", "terseLabel": "LIBOR" } } }, "localname": "LIBORMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "form_MajorCustomer1Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer 1 [Member]", "label": "Major Customer 1 [Member]", "terseLabel": "Major Customer 1" } } }, "localname": "MajorCustomer1Member", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_May2022StockRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "May 2022 Stock Repurchase Program", "label": "May 2022 Stock Repurchase Program [Member]", "terseLabel": "May 2022 Stock Repurchase Program" } } }, "localname": "May2022StockRepurchaseProgramMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "form_October2020StockRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "October 2020 Stock Repurchase Program", "label": "October 2020 Stock Repurchase Program [Member]", "terseLabel": "October 2020 Stock Repurchase Program" } } }, "localname": "October2020StockRepurchaseProgramMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "form_PerformanceRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Restricted Stock Units [Member]", "label": "Performance Restricted Stock Units [Member]", "verboseLabel": "Performance restricted stock units" } } }, "localname": "PerformanceRestrictedStockUnitsMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "form_ProbeCardsSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Probe Cards Segment [Member]", "label": "Probe Cards Segment [Member]", "terseLabel": "Probe Cards" } } }, "localname": "ProbeCardsSegmentMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "domainItemType" }, "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Property Plant And Equipment Net, Excludes Construction in Progress", "label": "Property Plant And Equipment Net, Excludes Construction in Progress", "totalLabel": "Net, property, plant and equipment" } } }, "localname": "PropertyPlantAndEquipmentNetExcludesConstructionInProgress", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "form_RestOfTheWorldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Rest Of The World [Member]", "label": "Rest Of The World [Member]", "terseLabel": "Rest of the world" } } }, "localname": "RestOfTheWorldMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_SOFRMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "SOFR", "label": "SOFR [Member]", "terseLabel": "SOFR" } } }, "localname": "SOFRMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "form_StockBasedCompensationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock-based Compensation", "label": "Stock-based Compensation [Member]", "terseLabel": "Stock-based Compensation" } } }, "localname": "StockBasedCompensationMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_SystemsProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Systems Product Group [Member]", "label": "Systems Product Group [Member]", "terseLabel": "Systems" } } }, "localname": "SystemsProductGroupMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_SystemsSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Systems Segment [Member]", "label": "Systems Segment [Member]", "terseLabel": "Systems" } } }, "localname": "SystemsSegmentMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "domainItemType" }, "form_TwoMajorCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two Major Customers", "label": "Two Major Customers [Member]", "terseLabel": "Two Major Customers" } } }, "localname": "TwoMajorCustomersMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock", "label": "Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock", "terseLabel": "Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share)" } } }, "localname": "WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" ], "xbrltype": "perShareItemType" }, "form_WoburnMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Woburn", "label": "Woburn [Member]", "terseLabel": "Woburn" } } }, "localname": "WoburnMember", "nsuri": "http://www.formfactor.com/20230701", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r206", "r245", "r256", "r257", "r258", "r259", "r260", "r262", "r266", "r334", "r335", "r336", "r337", "r339", "r340", "r342", "r344", "r345", "r794", "r795" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r206", "r245", "r256", "r257", "r258", "r259", "r260", "r262", "r266", "r334", "r335", "r336", "r337", "r339", "r340", "r342", "r344", "r345", "r794", "r795" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [ "r832" ], "lang": { "en-us": { "role": { "label": "Currency [Axis]", "terseLabel": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [ "r854", "r855", "r856", "r857" ], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r272", "r709", "r797", "r848", "r849" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Major Customers [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r318", "r319", "r320", "r321", "r413", "r513", "r554", "r589", "r590", "r642", "r644", "r646", "r647", "r659", "r679", "r680", "r695", "r706", "r719", "r724", "r796", "r839", "r840", "r841", "r842", "r843", "r844" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r318", "r319", "r320", "r321", "r413", "r513", "r554", "r589", "r590", "r642", "r644", "r646", "r647", "r659", "r679", "r680", "r695", "r706", "r719", "r724", "r796", "r839", "r840", "r841", "r842", "r843", "r844" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r272", "r709", "r797", "r848", "r849" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Name of Major Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r268", "r514", "r548", "r549", "r550", "r551", "r552", "r553", "r683", "r707", "r723", "r748", "r790", "r791", "r797", "r848" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r268", "r514", "r548", "r549", "r550", "r551", "r552", "r553", "r683", "r707", "r723", "r748", "r790", "r791", "r797", "r848" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r318", "r319", "r320", "r321", "r406", "r413", "r440", "r441", "r442", "r512", "r513", "r554", "r589", "r590", "r642", "r644", "r646", "r647", "r659", "r679", "r680", "r695", "r706", "r719", "r724", "r727", "r787", "r796", "r840", "r841", "r842", "r843", "r844" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r318", "r319", "r320", "r321", "r406", "r413", "r440", "r441", "r442", "r512", "r513", "r554", "r589", "r590", "r642", "r644", "r646", "r647", "r659", "r679", "r680", "r695", "r706", "r719", "r724", "r727", "r787", "r796", "r840", "r841", "r842", "r843", "r844" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r270", "r271", "r582", "r585", "r587", "r643", "r645", "r648", "r660", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r684", "r708", "r727", "r797", "r848" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r270", "r271", "r582", "r585", "r587", "r643", "r645", "r648", "r660", "r667", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r684", "r708", "r727", "r797", "r848" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Liabilities" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r18", "r722" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r668" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r273", "r274" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.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": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net of allowance for credit losses of $510 and $168" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrent": { "auth_ref": [ "r22" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Employee Benefits, Current", "terseLabel": "Employee stock purchase plan contributions withheld" } } }, "localname": "AccruedEmployeeBenefitsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r22" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r53", "r165", "r529" ], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 2.0, "parentTag": "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress", "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": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedTerseLabel": "Less: Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r27", "r28", "r109", "r175", "r526", "r559", "r560" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.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 Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r2", "r9", "r28", "r466", "r469", "r508", "r555", "r556", "r754", "r755", "r756", "r766", "r767", "r768" ], "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]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r101" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r446", "r447", "r448", "r568", "r766", "r767", "r768", "r829", "r852" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r64", "r65", "r415" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r444", "r449" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Total stock-based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r176", "r275", "r280" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r6", "r47", "r51" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r232" ], "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Securities not included as they would have been antidilutive (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r139", "r169", "r205", "r243", "r258", "r264", "r277", "r334", "r335", "r337", "r338", "r339", "r341", "r343", "r345", "r346", "r460", "r462", "r485", "r523", "r610", "r722", "r736", "r794", "r795", "r837" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r161", "r178", "r205", "r277", "r334", "r335", "r337", "r338", "r339", "r341", "r343", "r345", "r346", "r460", "r462", "r485", "r722", "r794", "r795", "r837" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r83" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "terseLabel": "Assets measured at fair value on non-recurring basis", "totalLabel": "Total assets" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AutomobilesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Vehicles that are used primarily for transporting people.", "label": "Automobiles [Member]", "terseLabel": "Automobiles" } } }, "localname": "AutomobilesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BuildingAndBuildingImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Building and Building Improvements [Member]", "terseLabel": "Building and building improvements" } } }, "localname": "BuildingAndBuildingImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r459", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r66", "r67", "r459", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r34", "r163", "r685" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.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, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r34", "r117", "r202" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "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": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash, end of period", "periodStartLabel": "Cash, cash equivalents and restricted cash, beginning of period", "totalLabel": "Total cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]", "terseLabel": "Reconciliation of cash, cash equivalents and restricted cash:" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r1", "r117" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CertificatesOfDepositMember": { "auth_ref": [ "r8", "r729", "r730", "r731", "r734" ], "lang": { "en-us": { "role": { "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured.", "label": "Certificates of Deposit [Member]", "terseLabel": "Certificates of deposit" } } }, "localname": "CertificatesOfDepositMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r157", "r172", "r173", "r174", "r205", "r223", "r227", "r229", "r231", "r237", "r238", "r277", "r334", "r337", "r338", "r339", "r345", "r346", "r376", "r377", "r379", "r382", "r388", "r485", "r563", "r564", "r565", "r566", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r598", "r619", "r637", "r661", "r662", "r663", "r664", "r665", "r743", "r762", "r769" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperMember": { "auth_ref": [ "r130", "r729", "r730", "r731", "r734" ], "lang": { "en-us": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds.", "label": "Commercial Paper [Member]", "terseLabel": "Commercial paper" } } }, "localname": "CommercialPaperMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r128", "r316", "r317", "r669", "r789" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r725", "r726", "r727", "r729", "r730", "r731", "r734", "r766", "r767", "r829", "r850", "r852" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r100" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r100", "r598" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r100" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r10", "r100", "r598", "r616", "r852", "r853" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)", "terseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r100", "r525", "r722" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.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, Value, Issued", "verboseLabel": "Common stock, $0.001 par value" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r29", "r186", "r188", "r193", "r519", "r534" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment and software" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r38", "r40", "r87", "r88", "r272", "r668" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r38", "r40", "r87", "r88", "r272", "r561", "r668" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r38", "r40", "r87", "r88", "r272", "r668", "r746" ], "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]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "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]", "terseLabel": "Concentration of Credit and Other Risks" } } }, "localname": "ConcentrationRiskDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [ "r668" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r38", "r40", "r87", "r88", "r272" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r37", "r38", "r40", "r41", "r87", "r138", "r668" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r38", "r40", "r87", "r88", "r272", "r668" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressGross": { "auth_ref": [ "r127" ], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress, Gross", "terseLabel": "Construction-in-process" } } }, "localname": "ConstructionInProgressGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractTerminationMember": { "auth_ref": [ "r697", "r698", "r699", "r700" ], "lang": { "en-us": { "role": { "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Contract Termination [Member]", "terseLabel": "Contract Termination & Other Costs" } } }, "localname": "ContractTerminationMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r390", "r392", "r403" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r390", "r391", "r403" ], "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.", "label": "Contract with Customer, Liability", "terseLabel": "Contract with customer, liability" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r404" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized included in contracts" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateAndOtherMember": { "auth_ref": [ "r771" ], "lang": { "en-us": { "role": { "documentation": "Component of an entity that provides financial and operational oversight and administrative support for other segments and other segments not separately reported due to size or nature of business activities. Excludes intersegment elimination and reconciling items.", "label": "Corporate and Other [Member]", "terseLabel": "Corporate and Other" } } }, "localname": "CorporateAndOtherMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "terseLabel": "Corporate bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r14", "r257", "r258", "r259", "r260", "r266", "r773" ], "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]", "terseLabel": "Corporate, Non-Segment" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r113", "r514" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenues" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "auth_ref": [ "r757" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.", "label": "Cost, Amortization", "terseLabel": "Amortization" } } }, "localname": "CostOfGoodsAndServicesSoldAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "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]", "terseLabel": "Cost of revenues" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r39", "r272" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r69" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r129", "r203", "r347", "r353", "r354", "r355", "r356", "r357", "r358", "r363", "r370", "r371", "r373" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Debt" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/Debt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r16", "r97", "r98", "r140", "r142", "r206", "r348", "r349", "r350", "r351", "r352", "r354", "r359", "r360", "r361", "r362", "r364", "r365", "r366", "r367", "r368", "r369", "r494", "r701", "r702", "r703", "r704", "r705", "r763" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]", "terseLabel": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "auth_ref": [ "r24", "r90", "r374", "r494" ], "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": "Debt Instrument, Interest Rate, Effective Percentage", "terseLabel": "Interest rate, effective percentage" } } }, "localname": "DebtInstrumentInterestRateEffectivePercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [ "r206", "r348", "r349", "r350", "r351", "r352", "r354", "r359", "r360", "r361", "r362", "r364", "r365", "r366", "r367", "r368", "r369", "r372", "r494", "r701", "r702", "r703", "r704", "r705", "r763" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Instrument [Line Items]" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r25", "r206", "r348", "r349", "r350", "r351", "r352", "r354", "r359", "r360", "r361", "r362", "r364", "r365", "r366", "r367", "r368", "r369", "r494", "r701", "r702", "r703", "r704", "r705", "r763" ], "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]", "terseLabel": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r25", "r59", "r60", "r89", "r90", "r91", "r94", "r132", "r133", "r206", "r348", "r349", "r350", "r351", "r352", "r354", "r359", "r360", "r361", "r362", "r364", "r365", "r366", "r367", "r368", "r369", "r372", "r494", "r701", "r702", "r703", "r704", "r705", "r763" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-Term Debt Instruments [Table]", "terseLabel": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of unearned revenue or income, not otherwise specified in the taxonomy, which is expected to be taken into income after one year or beyond the normal operating cycle, if longer and noncurrent obligations not separately disclosed in the balance sheet (other liabilities, noncurrent).", "label": "Deferred Credits and Other Liabilities, Noncurrent", "terseLabel": "Other liabilities" } } }, "localname": "DeferredCreditsAndOtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r451", "r452" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r6", "r136", "r154", "r457", "r458", "r765" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred income tax benefit" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r451", "r452", "r524" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r752" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenue" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r6", "r52" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r179", "r180", "r484", "r580", "r581", "r582", "r583", "r584", "r586", "r587", "r588", "r589", "r590", "r604", "r605", "r649", "r652", "r655", "r656", "r657", "r658", "r690", "r727", "r851" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 3.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "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": "Derivative Asset", "terseLabel": "Derivative contracts" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [ "r588", "r590", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r611", "r612", "r613", "r614", "r625", "r626", "r627", "r628", "r631", "r632", "r633", "r634", "r649", "r650", "r655", "r657", "r725", "r727" ], "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]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r75", "r77", "r78", "r79", "r588", "r590", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r611", "r612", "r613", "r614", "r625", "r626", "r627", "r628", "r631", "r632", "r633", "r634", "r649", "r650", "r655", "r657", "r690", "r725", "r727" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]", "terseLabel": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r179", "r180", "r484", "r580", "r581", "r582", "r583", "r586", "r587", "r588", "r589", "r590", "r611", "r613", "r614", "r650", "r651", "r652", "r655", "r656", "r657", "r658", "r690", "r851" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesFairValueDisclosure", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.", "label": "Derivative Liability", "negatedTerseLabel": "Derivative liability" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "auth_ref": [ "r471" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeNotionalAmount": { "auth_ref": [ "r827", "r828" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payment on derivative.", "label": "Derivative, Notional Amount", "terseLabel": "Derivative, notional amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r11", "r71", "r72", "r73", "r74", "r76", "r78", "r80", "r81", "r82", "r471" ], "lang": { "en-us": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Designated as Hedging Instrument [Member]", "terseLabel": "Designated as hedging instrument" } } }, "localname": "DesignatedAsHedgingInstrumentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r402", "r707", "r708", "r709", "r710", "r711", "r712", "r713" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r402", "r707", "r708", "r709", "r710", "r711", "r712", "r713" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r797" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of Disaggregation of Revenue by Segment" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Net income per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r194", "r212", "r213", "r214", "r215", "r216", "r221", "r223", "r229", "r230", "r231", "r235", "r474", "r475", "r520", "r535", "r692" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r194", "r212", "r213", "r214", "r215", "r216", "r223", "r229", "r230", "r231", "r235", "r474", "r475", "r520", "r535", "r692" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r220", "r232", "r233", "r234" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Income per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r486" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r22" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "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": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r445" ], "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": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Average Expected Recognition Period in Years" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r826" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized Expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeSeveranceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Employee Severance [Member]", "terseLabel": "Employee Severance and Benefits" } } }, "localname": "EmployeeSeveranceMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EmployeeStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock.", "label": "Employee Stock [Member]", "terseLabel": "Employee stock purchase plan" } } }, "localname": "EmployeeStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment [Member]", "terseLabel": "Machinery and equipment" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]", "terseLabel": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r10", "r158", "r189", "r190", "r191", "r207", "r208", "r209", "r211", "r217", "r219", "r236", "r278", "r279", "r389", "r446", "r447", "r448", "r454", "r455", "r465", "r466", "r467", "r468", "r469", "r470", "r473", "r487", "r489", "r490", "r491", "r492", "r493", "r508", "r555", "r556", "r557", "r568", "r637" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r477", "r478", "r482" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r477", "r478", "r482" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Class of asset.", "label": "Asset Class [Domain]", "terseLabel": "Fair Value by Asset Class [Domain]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]", "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]" } } }, "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByAssetClassAxis": { "auth_ref": [ "r83", "r84" ], "lang": { "en-us": { "role": { "documentation": "Information by class of asset.", "label": "Asset Class [Axis]", "terseLabel": "Asset Class [Axis]" } } }, "localname": "FairValueByAssetClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByBalanceSheetGroupingTable": { "auth_ref": [ "r83", "r85", "r86" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.", "label": "Fair Value, by Balance Sheet Grouping [Table]", "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]" } } }, "localname": "FairValueByBalanceSheetGroupingTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r361", "r407", "r408", "r409", "r410", "r411", "r412", "r478", "r509", "r510", "r511", "r702", "r703", "r714", "r715", "r716" ], "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]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r477", "r478", "r479", "r480", "r483" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r476" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value and Derivative Instruments" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r361", "r407", "r412", "r478", "r509", "r714", "r715", "r716" ], "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]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r361", "r407", "r412", "r478", "r510", "r702", "r703", "r714", "r715", "r716" ], "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]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r361", "r407", "r408", "r409", "r410", "r411", "r412", "r478", "r511", "r702", "r703", "r714", "r715", "r716" ], "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]", "terseLabel": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.", "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r361", "r407", "r408", "r409", "r410", "r411", "r412", "r509", "r510", "r511", "r702", "r703", "r714", "r715", "r716" ], "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]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsNonrecurringMember": { "auth_ref": [ "r477", "r478", "r479", "r480", "r481", "r483" ], "lang": { "en-us": { "role": { "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.", "label": "Fair Value, Nonrecurring [Member]", "terseLabel": "Nonrecurring" } } }, "localname": "FairValueMeasurementsNonrecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r167", "r299" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r125" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 6.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 5.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.", "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Amortization Expense" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r125" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 3.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r125" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 4.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r125" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 2.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r297", "r298", "r299", "r300", "r515", "r516" ], "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]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r124", "r516" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "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 Intangible Assets, Gross", "terseLabel": "Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r515" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r48", "r50" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r124", "r515" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiscalPeriod": { "auth_ref": [ "r70" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining an entity's fiscal year or other fiscal period. This disclosure may include identification of the fiscal period end-date, the length of the fiscal period, any reporting period lag between the entity and its subsidiaries, or equity investees. If a reporting lag exists, the closing date of the entity having a different period end is generally noted, along with an explanation of the necessity for using different closing dates. Any intervening events that materially affect the entity's financial position or results of operations are generally also disclosed.", "label": "Fiscal Period, Policy [Policy Text Block]", "terseLabel": "Fiscal Year" } } }, "localname": "FiscalPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignExchangeContractMember": { "auth_ref": [ "r690", "r714", "r720" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates.", "label": "Foreign Exchange Contract [Member]", "terseLabel": "Foreign exchange derivative contracts" } } }, "localname": "ForeignExchangeContractMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignExchangeForwardMember": { "auth_ref": [ "r604", "r608", "r613", "r627", "r633", "r653", "r654", "r655", "r727" ], "lang": { "en-us": { "role": { "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.", "label": "Foreign Exchange Forward [Member]", "terseLabel": "Foreign Exchange Forward" } } }, "localname": "ForeignExchangeForwardMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r166", "r283", "r517", "r696", "r722", "r777", "r784" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Goodwill, ending balance", "periodStartLabel": "Goodwill, beginning balance", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r287", "r696" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill, acquired during period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r291" ], "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": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign currency translation" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r6", "r284", "r290", "r295", "r696" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Impairment Loss", "terseLabel": "Goodwill, impairment loss" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "auth_ref": [ "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r696" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Goodwill [Line Items]", "terseLabel": "Goodwill [Line Items]" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r112", "r205", "r243", "r257", "r263", "r266", "r277", "r334", "r335", "r337", "r338", "r339", "r341", "r343", "r345", "r346", "r485", "r694", "r794" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r11", "r464" ], "lang": { "en-us": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InProcessResearchAndDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.", "label": "In Process Research and Development [Member]", "terseLabel": "In-process research and development" } } }, "localname": "InProcessResearchAndDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r110", "r144", "r243", "r257", "r263", "r266", "r521", "r531", "r694" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "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": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r301", "r307", "r622" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r307", "r622" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r147", "r155", "r218", "r219", "r251", "r453", "r456", "r536" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.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 (Benefit)", "terseLabel": "Provision (benefit) for income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r35" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes, net" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 15.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": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r681" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Deferred Revenue", "terseLabel": "Deferred revenues" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 14.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": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r747", "r759" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.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": "Increase (Decrease) in Operating Lease Liability", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherDeferredLiability": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred obligations classified as other.", "label": "Increase (Decrease) in Other Deferred Liability", "terseLabel": "Other liabilities" } } }, "localname": "IncreaseDecreaseInOtherDeferredLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 17.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": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r224", "r225", "r226", "r231", "r417" ], "calculation": { "http://www.formfactor.com/role/NetIncomeperShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Add potentially dilutive securities (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r296" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r46", "r49" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangibles, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r146" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "terseLabel": "Interest income, net" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r198", "r200", "r201" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateContractMember": { "auth_ref": [ "r682", "r690", "r714" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument whose primary underlying risk is tied to the right to receive or pay a sum of money at a given interest rate.", "label": "Interest Rate Contract [Member]", "terseLabel": "Interest Rate Contract" } } }, "localname": "InterestRateContractMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r682", "r732", "r733" ], "lang": { "en-us": { "role": { "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.", "label": "Interest Rate Swap [Member]", "terseLabel": "Interest rate swap derivative contracts" } } }, "localname": "InterestRateSwapMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r281" ], "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]", "terseLabel": "Inventories, net" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/Inventoriesnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r123", "r687" ], "calculation": { "http://www.formfactor.com/role/InventoriesnetDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r177", "r686", "r722" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.formfactor.com/role/InventoriesnetDetails": { "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": "Inventory, Net", "terseLabel": "Inventories, net", "totalLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r123", "r689" ], "calculation": { "http://www.formfactor.com/role/InventoriesnetDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r123", "r688" ], "calculation": { "http://www.formfactor.com/role/InventoriesnetDetails": { "order": 2.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": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-progress" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r282" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 7.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": "Inventory Write-down", "terseLabel": "Provision for excess and obsolete inventories" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandMember": { "auth_ref": [ "r798" ], "lang": { "en-us": { "role": { "documentation": "Part of earth's surface not covered by water.", "label": "Land [Member]", "terseLabel": "Land" } } }, "localname": "LandMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r500", "r721" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease expense" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r835" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of Components of Lease Expense" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r127" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [ "r499" ], "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": "Lessee, Lease, Description [Line Items]", "terseLabel": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r499" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]", "terseLabel": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r836" ], "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]", "terseLabel": "Schedule of Future Minimum Payments Under Leases" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r507" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "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": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r507" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "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": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r507" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "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 fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r507" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 6.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": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r507" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r836" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "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 having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r507" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "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 payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedTerseLabel": "Less: interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r834" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Operating lease, renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r834" ], "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": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Operating lease, term of contract" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r495" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r21", "r205", "r277", "r334", "r335", "r337", "r338", "r339", "r341", "r343", "r345", "r346", "r461", "r462", "r463", "r485", "r597", "r693", "r736", "r794", "r837", "r838" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r105", "r143", "r528", "r722", "r764", "r775", "r831" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r23", "r162", "r205", "r277", "r334", "r335", "r337", "r338", "r339", "r341", "r343", "r345", "r346", "r461", "r462", "r463", "r485", "r722", "r794", "r837", "r838" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosure": { "auth_ref": [ "r83" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of financial and nonfinancial obligations.", "label": "Liabilities, Fair Value Disclosure", "negatedTotalLabel": "Total liabilities", "terseLabel": "Liabilities measured at fair value on non-recurring basis" } } }, "localname": "LiabilitiesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "The effective interest rate at the end of the reporting period.", "label": "Line of Credit Facility, Interest Rate at Period End", "terseLabel": "Interest rate at period end" } } }, "localname": "LineOfCreditFacilityInterestRateAtPeriodEnd", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r20" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates an ownership position in, or purchase of, a security.", "label": "Long [Member]", "terseLabel": "Buy" } } }, "localname": "LongMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r170" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "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": "Long-Term Debt, Current Maturities", "terseLabel": "Current portion of term loan, net of unamortized issuance costs" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r171" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "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": "Long-Term Debt, Excluding Current Maturities", "terseLabel": "Term loan, less current portion, net of unamortized issuance costs" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtTerm": { "auth_ref": [ "r830" ], "lang": { "en-us": { "role": { "documentation": "Period between issuance and maturity of long-term debt, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Long-Term Debt, Term", "terseLabel": "Long-term debt, term" } } }, "localname": "LongTermDebtTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "durationItemType" }, "us-gaap_MarketableSecurities": { "auth_ref": [ "r93", "r751" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security.", "label": "Marketable Securities", "terseLabel": "Marketable securities" } } }, "localname": "MarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [ "r751" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Marketable Securities, Current", "terseLabel": "Marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r799" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "terseLabel": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]" } } }, "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r199" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r199" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r117", "r118", "r119" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r111", "r119", "r145", "r160", "r184", "r187", "r191", "r205", "r210", "r212", "r213", "r214", "r215", "r218", "r219", "r228", "r243", "r257", "r263", "r266", "r277", "r334", "r335", "r337", "r338", "r339", "r341", "r343", "r345", "r346", "r475", "r485", "r532", "r618", "r635", "r636", "r694", "r735", "r794" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss)", "terseLabel": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NotesReceivableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An amount representing an agreement for an unconditional promise by the maker to pay the Entity (holder) a definite sum of money at a future date(s) within one year of the balance sheet date. Such amount may include accrued interest receivable in accordance with the terms of the note. The note also may contain provisions including a discount or premium, payable on demand, secured, or unsecured, interest bearing or noninterest bearing, among myriad other features and characteristics.", "label": "Notes Receivable [Member]", "terseLabel": "Promissory note receivable" } } }, "localname": "NotesReceivableMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r772" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.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": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r243", "r257", "r263", "r266", "r694" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "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": "Operating Income (Loss)", "totalLabel": "Operating income (loss)" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r833" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Operating lease expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r497" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Present value of net minimum lease payments" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r497" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "negatedLabel": "Less: current portion", "terseLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r497" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term operating lease liabilities", "verboseLabel": "Total long-term operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r498", "r503" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating cash outflows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r496" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease, right-of-use-assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r760" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "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": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "terseLabel": "Reduction in the carrying amount of right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r506", "r721" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating lease, weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r505", "r721" ], "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": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating lease, weighted average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r256", "r257", "r258", "r259", "r260", "r266" ], "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]", "terseLabel": "Operating segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r96", "r120", "r121", "r137" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to the financial statements.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation and Significant Accounting Policies" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r22" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other accrued expenses" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r168" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "auth_ref": [ "r181", "r183" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "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.", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "terseLabel": "Unrealized gains (losses) on derivative instruments" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r3" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 3.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r10", "r15", "r185", "r188", "r192", "r487", "r488", "r493", "r518", "r533", "r754", "r755" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Other comprehensive income (loss)", "totalLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r182", "r183", "r276" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Unrealized gains (losses) on available-for-sale marketable securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r115" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).", "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other adjustments to reconcile net income to net cash provided by operating activities" } } }, "localname": "OtherOperatingActivitiesCashFlowStatement", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherRestructuringMember": { "auth_ref": [ "r697", "r698", "r699", "r700" ], "lang": { "en-us": { "role": { "documentation": "Restructuring and related activities classified as other.", "label": "Other Restructuring [Member]", "terseLabel": "Other Costs" } } }, "localname": "OtherRestructuringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]", "terseLabel": "Payables and Accruals [Abstract]" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r32" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedTerseLabel": "Purchase of common stock through stock repurchase program" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRestructuring": { "auth_ref": [ "r306", "r758" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.", "label": "Payments for Restructuring", "negatedTerseLabel": "Cash payments" } } }, "localname": "PaymentsForRestructuring", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r197" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "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": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Tax withholdings related to net share settlements of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r31" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "terseLabel": "Acquisition of business" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "auth_ref": [ "r774" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for purchase of marketable security.", "label": "Payments to Acquire Marketable Securities", "negatedLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireNotesReceivable": { "auth_ref": [ "r30" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to acquire an agreement for an unconditional promise by the maker to pay the entity (holder) a definite sum of money at a future date. Such amount may include accrued interest receivable in accordance with the terms of the note. The note also may contain provisions including a discount or premium, payable on demand, secured, or unsecured, interest bearing or noninterest bearing, among myriad other features and characteristics.", "label": "Payments to Acquire Notes Receivable", "negatedTerseLabel": "Purchase of promissory note receivable" } } }, "localname": "PaymentsToAcquireNotesReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r116" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Acquisition of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808", "r809", "r810", "r811", "r812", "r813", "r814", "r815", "r816", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808", "r809", "r810", "r811", "r812", "r813", "r814", "r815", "r816", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PositionAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by position taken for a security.", "label": "Position [Axis]", "terseLabel": "Position [Axis]" } } }, "localname": "PositionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PositionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates position taken for a security.", "label": "Position [Domain]", "terseLabel": "Position [Domain]" } } }, "localname": "PositionDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r753" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r4", "r13" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised", "terseLabel": "Proceeds from issuances of common stock" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r195", "r196", "r774" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from maturities and sales of marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Product Warranties Disclosures [Abstract]", "terseLabel": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r92", "r326", "r330", "r333" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r22", "r792", "r793" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "terseLabel": "Accrued warranty" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r331" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedTerseLabel": "Settlements" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r332" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Accruals" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r322", "r323", "r324", "r325", "r327", "r328" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Warranty" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/Warranty" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r126", "r149", "r152", "r153" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r127", "r164", "r530" ], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 1.0, "parentTag": "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Sub-total" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "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": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r7", "r522", "r530", "r722" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, plant and equipment, net of accumulated depreciation", "totalLabel": "Total" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r127" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r33", "r566" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-Term Debt", "negatedLabel": "Principal repayments on term loans" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r95", "r450", "r845" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "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": "Research and Development Expense", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "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]", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r34", "r163", "r202" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. 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 Cash and Cash Equivalents, Current", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r34", "r148", "r202" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.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 Cash and Cash Equivalents, Noncurrent", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashCurrent": { "auth_ref": [ "r749", "r761" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "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, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "Restricted Cash, Current", "terseLabel": "Restricted cash, current" } } }, "localname": "RestrictedCashCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashNoncurrent": { "auth_ref": [ "r148", "r750", "r761" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash 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.", "label": "Restricted Cash, Noncurrent", "terseLabel": "Restricted cash, non-current" } } }, "localname": "RestrictedCashNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r36" ], "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]", "terseLabel": "Restricted stock units" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]", "terseLabel": "Restructuring and Related Activities [Abstract]" } } }, "localname": "RestructuringAndRelatedActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "auth_ref": [ "r303", "r304", "r306", "r309", "r315" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.", "label": "Restructuring and Related Activities Disclosure [Text Block]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringCharges" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s).", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Period Percent", "terseLabel": "Percent of workforce eliminated" } } }, "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RestructuringCharges": { "auth_ref": [ "r6", "r310", "r312", "r788" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.", "label": "Restructuring Charges", "terseLabel": "Restructuring charges" } } }, "localname": "RestructuringCharges", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [ "r305", "r306", "r312", "r313" ], "lang": { "en-us": { "role": { "documentation": "Information by type of restructuring cost.", "label": "Restructuring Type [Axis]", "terseLabel": "Restructuring Type [Axis]" } } }, "localname": "RestructuringCostAndReserveAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringCostAndReserveLineItems": { "auth_ref": [ "r305", "r306", "r307", "r308", "r312", "r313", "r314" ], "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": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring Cost and Reserve [Line Items]" } } }, "localname": "RestructuringCostAndReserveLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringPlanAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by individual restructuring plan.", "label": "Restructuring Plan [Axis]", "terseLabel": "Restructuring Plan [Axis]" } } }, "localname": "RestructuringPlanAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringPlanDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Identification of the individual restructuring plans.", "label": "Restructuring Plan [Domain]", "terseLabel": "Restructuring Plan [Domain]" } } }, "localname": "RestructuringPlanDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringReserve": { "auth_ref": [ "r306", "r311" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.", "label": "Restructuring Reserve", "periodEndLabel": "Accrual at end of period", "periodStartLabel": "Accrual at beginning of period", "terseLabel": "Accrued restructuring charges" } } }, "localname": "RestructuringReserve", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails", "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringReserveRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Restructuring Reserve [Roll Forward]", "terseLabel": "Restructuring Reserve [Roll Forward]" } } }, "localname": "RestructuringReserveRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserveSettledWithoutCash2": { "auth_ref": [ "r306", "r313" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the reserve for full or partial settlement through consideration other than cash.", "label": "Restructuring Reserve, Settled without Cash", "negatedTerseLabel": "Non-cash settlement" } } }, "localname": "RestructuringReserveSettledWithoutCash2", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r102", "r134", "r527", "r558", "r560", "r567", "r599", "r722" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r158", "r207", "r208", "r209", "r211", "r217", "r219", "r278", "r279", "r446", "r447", "r448", "r454", "r455", "r465", "r467", "r468", "r470", "r473", "r555", "r557", "r568", "r852" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r244", "r245", "r256", "r261", "r262", "r268", "r270", "r272", "r401", "r402", "r514" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenues" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r272", "r745" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue from Contract with Customer Benchmark [Member]", "terseLabel": "Revenue from Contract with Customer Benchmark" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r156", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r405" ], "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]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/Revenue" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r150" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r151" ], "lang": { "en-us": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r151" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r744" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Revenue, remaining performance obligation, percentage" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r504", "r721" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Operating lease, right-of-use assets obtained in exchange for lease obligations" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RisksAndUncertaintiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Risks and Uncertainties [Abstract]", "terseLabel": "Risks and Uncertainties [Abstract]" } } }, "localname": "RisksAndUncertaintiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r272", "r745" ], "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]", "terseLabel": "Revenue Benchmark" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Accrued Liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r770" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of Calculation of Numerator and Denominator in Earnings Per Share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r63" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r63" ], "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]", "terseLabel": "Schedule of Stock-based Compensation" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r477", "r478" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of Fair Value Assets Measured on Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r48", "r50", "r515" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r48", "r50" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock": { "auth_ref": [ "r77" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the presentation of foreign exchange contracts on the statement of financial position, including the fair value amounts and location of such amounts.", "label": "Schedule of Foreign Exchange Contracts, Statement of Financial Position [Table Text Block]", "terseLabel": "Schedule of Foreign Currency Forward Contracts" } } }, "localname": "ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r696" ], "lang": { "en-us": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]", "terseLabel": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r696", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786" ], "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]", "terseLabel": "Schedule of Goodwill by Reportable Segments" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r17", "r106", "r107", "r108" ], "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]", "terseLabel": "Schedule of Inventory Components" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/InventoriesnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r329" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Schedule of Reconciliation of Changes in Warranty Liability" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/WarrantyTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Schedule of Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r305", "r306", "r307", "r308", "r312", "r313", "r314" ], "lang": { "en-us": { "role": { "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.", "label": "Schedule of Restructuring and Related Costs [Table]", "terseLabel": "Schedule of Restructuring and Related Costs [Table]" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "auth_ref": [ "r54", "r56", "r57" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.", "label": "Restructuring and Related Costs [Table Text Block]", "terseLabel": "Restructuring Costs by Reportable Segment" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "auth_ref": [ "r55", "r58" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "terseLabel": "Schedule of Restructuring Accrual Activity" } } }, "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r42", "r43", "r44", "r45" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r42", "r43", "r44", "r45" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of Operating Results by Segment" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r414", "r416", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": { "auth_ref": [ "r62" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of employee stock purchase plan activity.", "label": "Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]", "terseLabel": "Schedule of ESPP Activity" } } }, "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of Restricted Stock Unit Activity" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": { "auth_ref": [ "r135" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block]", "terseLabel": "Schedule of Unrecognized Stock-based Compensation" } } }, "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Estimated Amortization of Intangible Assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r37", "r38", "r40", "r41", "r87", "r138" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of Customer Percentage of Revenue" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r240", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r266", "r272", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r308", "r314", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r696", "r748", "r848" ], "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]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]", "terseLabel": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r239", "r240", "r241", "r242", "r243", "r255", "r260", "r264", "r265", "r266", "r267", "r268", "r269", "r272" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Operating Segments and Enterprise-Wide Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r114" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r434" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Awards canceled (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r434" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Awards canceled (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r432" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Awards granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r432" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Awards granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r429", "r430" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Units" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r429", "r430" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Ending balance (in dollars per share)", "periodStartLabel": "Beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r433" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Awards vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r433" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Awards vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r414", "r416", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443" ], "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": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "verboseLabel": "Weighted average per share purchase price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShortMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates the sale of a borrowed security or written option.", "label": "Short [Member]", "terseLabel": "Sell" } } }, "localname": "ShortMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r501", "r721" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-Term Lease, Cost", "terseLabel": "Short-term lease expense" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r159", "r240", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r266", "r272", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r302", "r308", "r314", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r696", "r748", "r848" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r157", "r172", "r173", "r174", "r205", "r223", "r227", "r229", "r231", "r237", "r238", "r277", "r334", "r337", "r338", "r339", "r345", "r346", "r376", "r377", "r379", "r382", "r388", "r485", "r563", "r564", "r565", "r566", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r598", "r619", "r637", "r661", "r662", "r663", "r664", "r665", "r743", "r762", "r769" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r10", "r26", "r158", "r189", "r190", "r191", "r207", "r208", "r209", "r211", "r217", "r219", "r236", "r278", "r279", "r389", "r446", "r447", "r448", "r454", "r455", "r465", "r466", "r467", "r468", "r469", "r470", "r473", "r487", "r489", "r490", "r491", "r492", "r493", "r508", "r555", "r556", "r557", "r568", "r637" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r207", "r208", "r209", "r236", "r514", "r562", "r579", "r591", "r592", "r593", "r594", "r595", "r596", "r598", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r611", "r612", "r613", "r614", "r615", "r617", "r620", "r621", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r637", "r728" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "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]", "terseLabel": "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]", "terseLabel": "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]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r207", "r208", "r209", "r236", "r514", "r562", "r579", "r591", "r592", "r593", "r594", "r595", "r596", "r598", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r611", "r612", "r613", "r614", "r615", "r617", "r620", "r621", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r637", "r728" ], "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]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r10", "r99", "r100", "r134" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares issued (in shares)", "verboseLabel": "Issuance of common stock under the Employee Stock Purchase Plan (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r10", "r99", "r100", "r134" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture", "terseLabel": "Issuance of common stock pursuant to exercise of options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r10", "r99", "r100", "r134" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock under the Employee Stock Purchase Plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r10", "r134" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r10", "r26", "r134" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Issuance of common stock pursuant to exercise of options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Stock repurchase program authorized amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Amount remaining for future repurchases" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r10", "r99", "r100", "r134" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Purchase of common stock retired through repurchase program (in shares)" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r10", "r99", "r100", "r134" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "Stock Repurchased and Retired During Period, Value", "negatedLabel": "Purchase and retirement of common stock through repurchase program", "terseLabel": "Purchase of common stock value retired through repurchase program" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r100", "r103", "r104", "r122", "r600", "r616", "r638", "r639", "r722", "r736", "r764", "r775", "r831", "r852" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.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": "Equity, Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r131", "r204", "r375", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r389", "r472", "r640", "r641", "r666" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for equity.", "label": "Equity [Text Block]", "terseLabel": "Stockholders\u2019 Equity and Stock-Based Compensation" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrentAndNoncurrent": { "auth_ref": [ "r98", "r141", "r847" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes.", "label": "Taxes Payable", "terseLabel": "Accrued income and other taxes" } } }, "localname": "TaxesPayableCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "auth_ref": [ "r712", "r797" ], "lang": { "en-us": { "role": { "documentation": "Information by timing of transfer of good or service to customer.", "label": "Timing of Transfer of Good or Service [Axis]", "terseLabel": "Timing of Transfer of Good or Service [Axis]" } } }, "localname": "TimingOfTransferOfGoodOrServiceAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "auth_ref": [ "r712", "r797" ], "lang": { "en-us": { "role": { "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.", "label": "Timing of Transfer of Good or Service [Domain]", "terseLabel": "Timing of Transfer of Good or Service [Domain]" } } }, "localname": "TimingOfTransferOfGoodOrServiceDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r68" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade name" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredAtPointInTimeMember": { "auth_ref": [ "r712" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred at point in time.", "label": "Transferred at Point in Time [Member]", "terseLabel": "Products transferred at a point in time" } } }, "localname": "TransferredAtPointInTimeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredOverTimeMember": { "auth_ref": [ "r712" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred over time.", "label": "Transferred over Time [Member]", "terseLabel": "Products and services transferred over time" } } }, "localname": "TransferredOverTimeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [ "r305", "r306", "r312", "r313" ], "lang": { "en-us": { "role": { "documentation": "Identification of the types of restructuring costs.", "label": "Type of Restructuring [Domain]", "terseLabel": "Type of Restructuring [Domain]" } } }, "localname": "TypeOfRestructuringDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r691", "r714", "r846" ], "lang": { "en-us": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "US Government Agencies Debt Securities [Member]", "terseLabel": "U.S. agency securities" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasuryBillSecuritiesMember": { "auth_ref": [ "r846" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one year or less, are interest bearing, and are backed by the full faith and credit of the United States government.", "label": "US Treasury Bill Securities [Member]", "terseLabel": "U.S. treasuries" } } }, "localname": "USTreasuryBillSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r502", "r721" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable lease expense" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]", "terseLabel": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r222", "r231" ], "calculation": { "http://www.formfactor.com/role/NetIncomeperShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "totalLabel": "Weighted-average shares used in computing diluted net income per share (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average number of shares used in per share calculations:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r221", "r231" ], "calculation": { "http://www.formfactor.com/role/NetIncomeperShareDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted-average shares used in computing basic net income per share (in shares)", "verboseLabel": "Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 9 } }, "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": "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" }, "r10": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2", "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(10))", "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(20))", "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.1,2)", "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.2(a),(d))", "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.4)", "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": "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" }, "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": "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" }, "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", "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" }, "r125": { "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" }, "r126": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org//360/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "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" }, "r128": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "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": "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" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-12A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org//505/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r134": { "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" }, "r135": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r136": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r137": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org//810/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "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(11))", "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": "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" }, "r140": { "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" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r147": { "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" }, "r148": { "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" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "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" }, "r156": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "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" }, "r159": { "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" }, "r16": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r17": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r18": { "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" }, "r180": { "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" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "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" }, "r191": { "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" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "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" }, "r194": { "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" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "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" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "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" }, "r2": { "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" }, "r20": { "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" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "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" }, "r203": { "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" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r21": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "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" }, "r229": { "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" }, "r23": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "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" }, "r236": { "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" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org//280/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r25": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r26": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r27": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "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" }, "r280": { "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" }, "r281": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org//330/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "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" }, "r283": { "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" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r29": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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/2003/role/disclosureRef" }, "r295": { "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/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//350-30/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "420", "URI": "https://asc.fasb.org//420/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "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" }, "r308": { "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" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.3)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "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" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(e))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "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" }, "r319": { "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" }, "r32": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "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" }, "r321": { "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" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(4)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "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" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r34": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r35": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r36": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "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" }, "r371": { "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" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "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" }, "r374": { "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" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "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" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "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" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "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" }, "r39": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r4": { "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" }, "r40": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "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" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r42": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r43": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r44": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r45": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "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" }, "r46": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r47": { "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" }, "r470": { "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" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r48": { "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" }, "r480": { "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" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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/2003/role/disclosureRef" }, "r487": { "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" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "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" }, "r49": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "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/2003/role/disclosureRef" }, "r5": { "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" }, "r50": { "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" }, "r500": { "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/2003/role/disclosureRef" }, "r501": { "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" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "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/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r51": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "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" }, "r52": { "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" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r53": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.3)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "27", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(g)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "205", "Subparagraph": "(h)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "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" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r6": { "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" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r61": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r63": { "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" }, "r630": { "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" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r64": { "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" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "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" }, "r65": { "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" }, "r650": { "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" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13(Column G))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r652": { "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" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column A))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-13B(Column B))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r655": { "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" }, "r656": { "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" }, "r657": { "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" }, "r658": { "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" }, "r659": { "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" }, "r66": { "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" }, "r660": { "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" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r662": { "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" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r667": { "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" }, "r668": { "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" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r67": { "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" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r68": { "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" }, "r680": { "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" }, "r681": { "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/2003/role/exampleRef" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r69": { "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" }, "r690": { "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" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r7": { "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" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r714": { "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" }, "r715": { "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" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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" }, "r733": { "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" }, "r734": { "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" }, "r735": { "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" }, "r736": { "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" }, "r737": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r738": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r739": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r741": { "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" }, "r742": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r743": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r744": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r745": { "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" }, "r746": { "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" }, "r747": { "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" }, "r748": { "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" }, "r749": { "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" }, "r75": { "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" }, "r750": { "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/2009/role/commonPracticeRef" }, "r751": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(2))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r752": { "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/2009/role/commonPracticeRef" }, "r753": { "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" }, "r754": { "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" }, "r755": { "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" }, "r756": { "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" }, "r757": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r759": { "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" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "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" }, "r761": { "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" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r763": { "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" }, "r764": { "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" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r766": { "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" }, "r767": { "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" }, "r768": { "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" }, "r769": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r77": { "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" }, "r770": { "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/2009/role/commonPracticeRef" }, "r771": { "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/2009/role/commonPracticeRef" }, "r772": { "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" }, "r773": { "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" }, "r774": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r775": { "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" }, "r776": { "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" }, "r777": { "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" }, "r778": { "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" }, "r779": { "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" }, "r78": { "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" }, "r780": { "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" }, "r781": { "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" }, "r782": { "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" }, "r783": { "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" }, "r784": { "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" }, "r785": { "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" }, "r786": { "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" }, "r787": { "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" }, "r788": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482047/420-10-45-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r789": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r79": { "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" }, "r790": { "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" }, "r791": { "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" }, "r792": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r793": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r794": { "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" }, "r795": { "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" }, "r796": { "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" }, "r797": { "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" }, "r798": { "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/2009/role/commonPracticeRef" }, "r799": { "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" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "405", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147481047/942-405-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r800": { "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" }, "r801": { "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" }, "r802": { "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" }, "r803": { "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" }, "r804": { "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" }, "r805": { "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" }, "r806": { "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" }, "r807": { "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" }, "r808": { "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" }, "r809": { "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" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r810": { "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" }, "r811": { "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" }, "r812": { "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" }, "r813": { "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" }, "r814": { "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" }, "r815": { "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" }, "r816": { "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" }, "r817": { "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" }, "r818": { "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" }, "r819": { "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" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480238/815-25-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r820": { "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" }, "r821": { "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" }, "r822": { "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" }, "r823": { "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" }, "r824": { "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" }, "r825": { "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" }, "r826": { "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/2009/role/commonPracticeRef" }, "r827": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r828": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r829": { "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" }, "r83": { "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" }, "r830": { "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/2009/role/commonPracticeRef" }, "r831": { "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" }, "r832": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147479424/830-30-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r833": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r834": { "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" }, "r835": { "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" }, "r836": { "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" }, "r837": { "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" }, "r838": { "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" }, "r839": { "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" }, "r84": { "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" }, "r840": { "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" }, "r841": { "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" }, "r842": { "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" }, "r843": { "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" }, "r844": { "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" }, "r845": { "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" }, "r846": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r847": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r848": { "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" }, "r849": { "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" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r850": { "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" }, "r851": { "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" }, "r852": { "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" }, "r853": { "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" }, "r854": { "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" }, "r855": { "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" }, "r856": { "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" }, "r857": { "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" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12", "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": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "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" }, "r90": { "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" }, "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.15(5))", "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": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.4)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "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" }, "r96": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org//205/tableOfContent", "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(19))", "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(20))", "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(28))", "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 85 0001039399-23-000036-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001039399-23-000036-xbrl.zip M4$L#!!0 ( $^ "%\V46AI3% M% (U%Y<]O_YD)D*6+?_Y]N]W^_W'X5S@,[F2$_%LY"9,7($7ZZ\52(ITCX(PA_N(^6 M<.-9\20(9]TN_=99,'\.W8=I+"B2HF9W+2Z&I[:L(D.R>EW)LOI=#?7MKBG? M][J.83N2W3?M>\T0'TY5W>Q/[DVIVY],4%>S9*=KVDCJJJHAV1;2^WVK)SJG M?<.P+4=Q%%G7-!V9AJKV)CJ2-/U>M>]5^MIIC/N'^^A'IPYR?^U,XWA^^O'C MTWWHG43(/GD('C_B"Q])?)3/0G"AX^R:9H?G\C#%C>=VDD8 M(M]^WOS([.KJW4X^F%AV'(0G=C"CC9'ZTE*X=I#X<;A-K>G%5SUX6E/'*\R0J\M;(W?3 MC;C=\L?__?9U;$_1S.J^[8'[M*V[LKJBP^SV*(S718\_?>J6?Y#[]VD-_] M/NY@$T&6,_@\0[$ED*]UT9^)^_AKYRSP8VSZW;OG.6Z*G?[U:R=&3_%':@@? M!__G__R?S[$;>VA 74 FRL\?TP\_?TP??1\XSX//COLH1/&SAW[M.&XT]ZSG M4S_P$6Z ^W1*;D1A^JOK.,BGO^+KU]C_A*Z=OO\IOD637SMV%VO+MV;D2<@] M'6(/Y1 O=>E9#QTA1?&O'0S[TXG[A)SNQ/*(-;C.KYU)5]$[@TORP>>/K]Z0 MXX47/N[?\QE^8VAY5[Z#GOZ&GI?/[W4&$E:HI)JJ:1[^DC/J0>)+-[(M[Y_( M"B]\YQS[X-<==/ GW1E^RI1\L^M8SUWD+YO2[PS.D8UF]R@45.GPMF3#P$MC M+O$GT?(]1F= =%_6"V[P[8'S^A5F9_!W)=<+%$/)7K%P/*>WZ!'Y";K%5N;Z MKO^ 7T2%B8UM=.^Y#]3Y73S-D8W'NCMWAF\93<;XTX@X#'PM;9G\2@?$I9\Z M2?B,Q9(UUS PRJ03/6>#U1H;C&$KYVRNAKU)Y)[ZKH?=0IB@ZEJ?-1(#>JV- M'U_[C!!-$!EZ4;3!U1%G?!I1-XM[(5#G?!IC!_=K)W)G^)B:Z7/ M1QLCA;.KO[WV,&^_/,@^>OWT.15F]A<>8L*8^!-JN5U)[A*__?;:LIG.RJW] ME5NS*]G?V4L^ONKW9C$H ,20CK7QHF<&CGF6#UI^FW8JF%M;^LFZ??Q>7XI:;"D M1*)G'+07EQ+V@F,"G&7W<"2%F[5Z*W6&%@YI#Q3HVO?)A^?(#[!/WO38?>'\ MZA$?7[=^ISYU /I\ZR:U%0]Q)#?9@R8&I2NI.+;<1PSXUAZ.N,L00Q^:&&1B MWTKOR&(PJA;#HC?H@<3CZ9\.?MG3W'-M-_Z6)A..BZ^FE%$6[(UCW"7RG0N< M/N+L*)C-<7;GQ]'PR<7C878;_ARG*^,XL'^DS_K\<>,KEM)8MN2(WO>UR$W& M13YT')=$TSBQLESGRC^SYFYL>:R(7Y98E[^-D]O$(_SI*)ZBD-P7HBEYVB.Z M\NU@AIC11>6I2\6ZN$4QSD614[(_/@#04N5IZPL#U9E$6EO9%YY?MR4\:F->=I92I M"]8S]J-F*24*7F$]53^BX]?*DCGK*7E-CK\T^;.>F0-P_*7I@O4D_-B.OS3! M YM[+;-KK*><1V7>:I@?55C/-FMCWNI0%O-I*@3FK0[%L9[?'I]YJT-+K&>^ MQTK TL4;RQ4910($E?6DMXX$K$SY,Y\ UYR E:D+UI/AHR9@90H>V!+A,KO& M^F3M\1*P>I8DJJQGR/4D8#4IB_ELN?8$K";%L9XY'SD!JTE+K*?)QUN?_4KF MA0($UI/>>A9HER9_C?D$N/8%VN7I@O5D^,@+M,L3/+#=K&5VC?59U2..:>I* MR%%(YJPGO36-::7)G_F0;(J.)XNLB"EB#DE@7VE6DEK6[1@4UR4BF4L[];A[" MH"*5^50 M2,5@\ZZSP+<1J?A(!O5;-_KQY9E4QGP3E251C,>*<.WF'7YI9RNB,#[]9OT[ M"+,W+/P@J5!W>O'VMZ-O>Z?,7Y-O3F17^>-WQL>6A:%'O[QK%#9G;65;A M\A/2\"U5W>;XU^P!^USP9N'>Q<,V!L7F$)[DKO*L#C HJ7 M83##7\+?L.,_W'B:M;"1RYQUL.P-QR&SGO&]!Y:OX_B$ MA<]Z5M'UP-*2]>(S/WJ&-CVR!"79";Z3O!;G'AV&05 MFV41Y#WX*[6^))'KHR@:IX]85=!-&-RC,RMTLHNL;+[JP5^L]8[8Q\\1OH+ZP-+I):B$*7N' M :P_'5[[1,L90LD-(&@(["T)?=KZ1DXE?-VC,@!+#\$Q)E4)Y<#[8'-R"'91D4[)><^*5C5P@7^-7?_A'#TB+Y@CYP[94S_P@@<7,5,3 MOP\V\65)(65&5&"SW%P*>3NA=XL\.N463=TY,\9A@%V(PH@N2K0+ VQ2?9 N M[D++0=?6C)V1P@";7D-60)D6 #;7/D@!5S[.'&P> M#0(&V"P=F'KJX0L-L#D[,/74LSS< )O![Z6>,?(\UW_X#?DHM#P\_ ^=&8XD M(KIF]A%=/,WQ8QLZ+IE@$WZ&5%?/F&6"Y0<84ET]XYD)EEE@2'7UC'4F6$[B M'-W'5SB##!/RQ959@B^)BY_@/]RA7MQ7;VQO-OF=O;VXM9&]@>0TH(&BNZL%R M)C6Z6@AZ 4N6P!@"2^3:3;#$Q]&]WSD6VR.-+U]>2[:SOF7S8Q2B*"8^,MN> M7W6\HW;E?BG*!DNC0!GJOEY]&1UAK%M5Z Z?NGIK$9\J2V")&!A.M40[DR6P MS,DM(G*VXR3$!. M9 $/L.1.Z1L2.#;R8@,L^W/\ 8;44<+9;!1XKD-'BRL"O+>+#,)Y$&)Q7P?^ M"9X3&Z!&%EF\7KJ+(,?(&(VS0=^]A))N:(-2IZ^]# '"4Y$4)&Q3B M5IKHRG_$CPW"YZO9W')#.@QQC)2,$39(S/<\"3T>\=7='"0E@X1SF SL?*AG M^;PL@V4P2]9/?3D4J\@ RU]RMU'WU@U9!LMA5]/\3Y999LZ:\/D?5W(X!0= VZCGL*1 MLLHV#=<&MU$7,CC5QN1$4%VC#%B"C4_S@L,*6%J-:VR+QICFV-H[&-04.VA, M$WXM'0SJP@I8WI%K;(O&. _)^"1\35&$QC9'V?9)^+I0P_E+QMU-7>,4V]QF MV]U-7:AI%>_)JI+:PS:RJB&P'%]E-=,.T%0UQV[+&EBZ#E8U\HK$KX.EORJK M\@5(^&#YI H+\0$2/UAR")+?AY!7ZV#9&%B#! A=@>5 ((TH(#0%EG2 -?R MT!785!_26%7-(9*R#C:%AS7\5"5^=O/S>G*44H7/;GY>5XY2IOA[8//S2PSE M?UA>@KX\+W_]'3^1K#!X_DK6%[S6PO*F*W^>Q!&]0RYK1F"E,<,H0O&99T5O MSO?Y%OCH^9L5_D#Q9>([[%A@#RQ+4 8$% Z!/2 EJDH P(JA\ >$ !+@31: MZF#)C#VD_GU\%R(K2L+G+Z[GC9&-(Z78+6\:_A@1 " H@&5+6!N&#\0E("B M)6-8&X[9AP)8:J@5T@?+#+5L; 1+$AUC;(2CAWZCV:)= Q,@/;! V6P;%_&PKV&9'X,#0@.!X(P)*7^\G_.HA1=(MLA.^]]W;5=& + M@>T*V4RPY"E'8KM8)),%)KG^4*VQ9@$(B6 9;:[\ZI4/ELP&,2;MA\ K+-(0 M1?$M;LWXIS6'-"(R%)N!9=4Y%-L6G(&=:P 5G#77+@!!D4\RM%G[8 E]/M]X M;# H$E@NG4_U'1\,8#EU4"%*2\# .*W-O/P;3>8VMH)MB0>M*!)8%A74X-QH M"(#E4D$-R8V& %@.L]%29X&N8W!/1K6I<:D( ,N2L8V :BG[4A$ EBEC;? ] MY@:1,A$@LT"/-4[H+-!0S:@NQ,YH+(.EHQH'"G8&:+G1'%F+2DZ5"@H66+,V MZ*'1U!5#(R<+_%$;!BL6&"6@Q8Y*U0/+O X_FZI4*#2:X&G\V51E0D%A@>EA M))5@'0IL\T^L2Y]EH@?\V1_LC,T*"]P.LSA@)VU26*!SF!B8CW\02:DX8(%. M:JCH66"0&"X4S="@S *'Q3 2&!J666;1&$ ".WRJP@*)!JEX?)G"5UF@K8Z\ M2!'$)N)VQ04JRY09AV%3@A*5!>Z0#:Z /9L !$.FJ4NN^0*:!TM6@AB->(&/ MXR,2+&T* I&@UEG +6Q0*B)98)/K#]) F$=+$ F6U>8@.!X(P!+:C2U9S$.V MS4@$2ZAS)+:+3]-8F%VH/U1KK%D 0B+8"0:N_.J5#Y;6!S$FL5_%G9W83 -+ M[7,HMBTX SO7 "HX:ZY= ((BGV1HL_;!$?I1&)^>)6&(?/LY%;*]^.OTXOMM M<87>D.7[:UCZ&O@/M7*N^,^?5NA4"IQ"):X3WTU1@Y)PB9D9W:Z(!FX4:(K< M?]'0RZ7L;_+];2 $Q^'7 \+Q- CK9?[!H_ M'?;O_@@VCM(/P1_MP*PJ6&EB4I41(.EC^G2&%E!FRZF!9Z)LPP#V)GV\\W+FA[US\F;AS\HPO MSW?/<_1FK+=\P![NK1*CD#WD M]^ 2!' 54*8%],#FQKD4<)F$./_'.1B^\=)](K^Q$P;UP*;#L'50JATT) -& M5H2F@>B;":(UCP&K7NXI4CF, 2U!PM:^Y!AR1:5U)V<BKD&L%P* MQTB%,7L?+H.#8_5K:X96%$W"]OCYRK?)TQ\1N:,L]0[)\HKU7. 617'HVC%R MJ%J_XPPYNAU_9R8;Z,/EAUJEWK<>7EZQWV-Y^#Y^_D:=@0-EF&J2] @O Q85N>-5NC(?H-" M\J^%A_9-0RX[M@"65 $A=1"& 8[3()L+;LF"_E0UY,]OKN_.D@H(YXIP;X!C M##8)U7IB2ZAP\_0\4Z?#) YFP;WK,;1\PZ@I+8ZQ])SM6=A! M^ \K#GQT[[D/M'C!Q=,<$4=^Y\[P+:/)&'\:32R;7!MG3C95T>=J'GSB!.0Y M+TI1/G^L]DU+2*T($!2>:LK#&XBG!0_:GY=;,Q*Y#$72%V_#F4)41UAB^YC]D#6KFG+(!CBZJ0CFEPG'\')$6[8=%5F$! MCJ^"#(N7U06+HREQ$C:*ISN/8F(5'&!I-3Z:O*Q(5+M*?Q]DE+EXT0#)YD%U M&\*"C(L M:LQ-:@$'V.5PVCC^:U 4+3H R,)K4!0YP-&CMHPE^J)/8 M\2@^$SU^#!]=>W/9;&"05'(L @04UP;&@U:B'W1&E+F" M)$&YW:;J425P9"3WZ6O8J(>+5"5P7"3WZ3" 9**Y':;J0<<)0C9IY_?#K^U M8)P'QP26JQ9V?7A=@ !) '([!4? <=]=^W@.CG?COKM>0+!&MK7$3L%179!] M]Z5G1=/F#^@R.(*M9+VPZ[WK0@1SM%I++!45'$Q2.)K\%@?,&*%R!G&-X'K MQU<^?@!JYK"O@*7>CJ$T=EU_77 !1\IQ&]^M-'"\&1\5@,<18!D]/BI A LX MIH_;^&ZE@:/BF!X51H\H;' ( 98=K%A?[(X%=2$%'&'(+?L]?:G@R#P^#("- M&52P_"(?!H AI7&\8L,M&RRQ5]OT[_+%OR%R//A\ZMJ6E[[4#A(_#I]/OX\; M%PZ XPJ+JX)=YUT7",#1?^VU1[#46DO]>P3+.[74+]P1'*;'@E_]VV[CQ&1R?55P5[/KEND# *IG50'L$1RFUW"_7-3Z#X[/: M[)=K H'.*IG5/'O4P5%*+/CEL^NFC<\Z.#ZKN"K8]SZZ+J@ MP!JQU73;[($CF;BGKF_<[H'CN;BGK@L*K%%=C;=-<+039$^=Y59_O6G;?;+=8& -:JKP?;(&M64J>+; M/X]CCWE=/Z/C+G/*IE5H5^N2Q7@*"46>(SQ;XT;G\'Q6<55P:Y?K@L$K))9#;1'<)12R_UR M7>,SJWQ6(_UR32 P6"6SFF>/!CA*";)?IB^]15$\FMQ-T1\!?EHS(R>#-7HK MOV;8]=IU88(UJJL]U@J.?^).',+8#HX+XTZ\=DRPQHNUQUK!D56U.W'\4">Q MXS?GZ-#W7>*,S F?OP8/KKVX[;''M6C7K8=>=U 0,D MG<;M=J$>$QS1Q7WZ&C;DKJQTE=ZQQWL3'//&?3H,8(#DWKC=9NH!1X-!]NGG MM\-O+1CGP1%PY:J%71]>%R! 4F_<3L&Q7]QWUSZ>@^/=N.^N%Q"LD6TML5-P M5!=DWWWI6=&T\0.Z)H$CV$K6"[O>NRY$,$>KM<12P;%:W'W7/:9K$C@NC;OO MFA'!&I/6%DL%1VA!=M\+2VW!J Z.4"M=,^RZ\+HPP1JAUAYK!<=L<2<.86P' MQZQQ)UXW)F36B+766*L,CN"JU8EG+[]S9Z[_,)K!X,SXJ M (\CP#)Z?%2 "!=P3!^W\=U* T?%,3TJC!Y1V. 0 BP[6+&^V!T+ZD(*.,*0 M6_9[^E+ D7E\& ;,RA@^44^# !#2N-XQ89;-EAB#V*9L*SFY_=QX\(!<%QA M<56PZ[SK @$X^J^]]@B66FNI7ZYK? ;'UK79+]<% G L7'OM$2S-!=DOW_W1 MM/%9!4>?%5<%NWZY+A" H\7::X]@>:>6^N6:QF<5')_59K]<%PA8);,::(_@ M*"46_/+9=>/&9W!\5G%5L.N7ZP(!JV16 ^T1'*74"7_W;;M/%9 \=G%5<%NWZY+A"P2F8UT![!44HM]\MUC<_@ M^*PV^^6Z0, JF=5 >P1'*4'VR^3R11(&\X9N:M+ L5IE*81='UT7%%@CMIIN MFSHXDHE[ZOK&;1TL" :N$5P/M$1SMU'*_7-?X#([S:K-?K@L$K%%=#;9'UJBF3!7?_GD<>\SK M^AD=GWO@&"Y@.&A#O-QCC=C: P2LJH(U8JGI?KFF\;D'CL\"AH,VQ,L]5LFL M"OUR7:H 1RFQP&.,?VO<^ R.SRJN"G;]6S M&NF7:P)!GU4RJWGVV ='*4'VR_2EMRB*1Y.[*?HCP$]K9N349XW>RJ\9=KUV M79A@C>IJC[6"XY^X$X;V#<.V',519%W3=&0:JMJ;Z$C2]'O5OE>M?Y'P_>4[4?SL M8<7-7+\[1>[#-#[5E).^/H\__72=>'HJ2]+_VZ&W#CY'<\L??+X//^('I+^G MSUE_FA4^X ?>!W$R)]P' M(>YCYU?0\;99=^Z=/K]Y'&/Z(P)HA8O(2^+[V\ MZ)=IGABZ2KH68QG&3O;B1:]/:*\_QL[Z-=,X,:7MEZ43>7GM(WUVF-VP$+ Z MCSOT>[A31(R_=M3.FWXO>B+/8R$*/-<1_B+1_SXMKA,Y*FL7YY;CN/[#J23( M]!4O;?A(Y;1!4YL40=J47<=-#,+3[ 43#,?NQ)JYWO/I_Y!3B"+A&OT4;H.9 MY?^/&%E^U(TP@"?IC9'['W0J:U@;],^?:>_[^#E4=0MIR J1Y??KJ[N+W5U=C(7A];EP\;]GOP^O?[O(VEUMD[2-31*.\_+- M\C@;??MV-1Y?C:[K4YVY5TO_L*(I-I$X\$7A_.3L1% D73-K!)RTEW;_^R]R M3_I4C8I[>PGN$@^JBU;@L<8'O\57PMO];[.NU"I;-K 7%'[Y9X0\A M\-$O6\6V& NZ'IK@;RW'7-X(#*A1ZS[=H'H1Q1R AGA7C:.V='TGW(T$ M/+;=84>>ME)6A=&M(.L?G%_2#T:7PMWO%\+* )@-?L+P[$[ EV53U:"/ MB9 M"?$4"7]FN!+2N%O X3ARA/P O:%?OTB#^=?P=/ GW1E^Q)1\K>M8S]UG9(5= MY&=P53N#OR:X#;(H$)8'D&O<3YJCL!HP'S(T-ML/TG- W1@GP=L=X<3RHJ4G MU!:>4..><&.;[FZ'U^,KXN_:[@KC);0R7S@)@]DVG>7]&0=E/0F./ ]R1T"T M?A;,9FY$V#1AXGI(\!-"A)WF&/DN*#=VB;]\3;^;>1R=DGU=75*E/J"1K)S! MI/IF[I>,Y573+7IP(V+A\36^DJFJEV9UEY8=!Z&8=OW*MT\ J6T_F_MP\83[ M0'LM!!,A7/96L"(AFB.;\,R.X/J"&T>"/:5!WS)U.B[O*$O2B932AWF)1ZUW MTI?Z>Q&/>1ZKGBB&7OI3:6.-/"SI-DHT8S65^1/A-=>YXS6A!_.C>U7I$+/$ MQA:$.(ZSR+!+)S3.TE5#9SB\?!7;X0;99%HA1O,P>"3/>4D?^IW!.?*LGU:( MM@5YF0KR29>$S&]EFV*Y=+>WEWC?..>#^L0X8NZLIZO%Q)E-4?-Z\#4Z UGM MJGU9EG7]73"4;7/5X&*G^Z="_$!-1\"!;( CV5#X=Q*ZD>/:-)@-)G3"RETU M-7IK^&#Y[G_HW[^P:B>;Y5&=G=2JY:N3VY/QB7 QFWO!,PJI6E\;@W =G/RR M#O,:)[_8B#KWRQGR^JJAXX0HBA;_?,7/DS,_978&^!VZ, Z2>(KS3!RIW0:6 M\]9CB;GSD<7+SO"OH_ N^+D<)&6I,_CJ8CC/@O5A\N#W4,)72&9B:KLOL1?6+;I&0?AYB M^;ISRQ/0$[*3&&L2?XSM'D4BCNMM+R&.3/B/.Q<(-;=]6@1(W]BP^ _[ Y%8 MW#!$UBOHJ1AZREH<\DL.?'\-\.!S,PW\-RR#K'4&BBEUL70E]H#]DH[_]U\, M1>Y_BH08>6A.^KF@8E91C0-[ZT!8;UJM4_VDY>9NC['AAF[LX@>F&3H*<5(^ M3\(H(:EZ' CX#C*,R\J'^U^(U1->C%KI MG2A]\Z#''K^QQHFL:*4_559/3&._I5?U-U953F1U/[IFSVSLU;JN!H3T=V[L M4<8.6?94L#TKBG)D+3FDT3C!A18=&<;/L_O ^Q"QD\#N3(@:G,%>+_AIBG;T M9$\M_P%_X L_IR[^Y&50/(2IV0/B*VM'UQ>6 I5D4=IL$70\R\H]]3;+ %)/ M)\$"TO3 _B$*_T5X>5F86Z'P:'E)$2ZU7,_41K4M'%SJWY8Z(Q-6H]MOK++< M^PEI;]_71EQDYGRQ\)[I=.9;UH7XUC>$2Y^XW\BQ_A1^\X)[RQ/("DH4[^;( MZR,/#V$2ZF O_[77?V6EKJ^^MEC%E6\15YG2O_(=PCTCX?Y9L*?(_B',R,K< MGU-$9R)( KLR&_U!7BP=FEH177?A");GX3O(6BZ2%?^9N"0GQJGP/5K<@!^\ M2(N7RY""<'49TB)/7LFN,^,@N3.)-\@R),'!5W'$2&Z=A\A&-'Z4%8&N3(R$ M#_BAV(R$*,&12#0-R QYMA HGEKQVZ[\M%ZWEZXBH5]>].874;!\1_B@K'3Y M'ELDONG^W[A#Y$OT?OQ-TI3%P^@&.]H2VE(KB@53$ASK.3K9L!8H)T]ZEH0A M?GZZ=HX,+[$5)]'21QB=P3]1M)5.JGB-X#;S7JQCKL"^\SB8].=U<)"[V5,D M^[9GL9X1M&/8A^"MO9'YO!D8<-. Q\$CYXSP+"H<2S<$5\MV53 M:O[GK'*^]TF'DH%IDEZ1OS=HH?$2Z?UQMT[X0.YH?])4963 MY4TN7%>(0Q[)M[(U"B[@48I^6IF9WNOZ*KY65^ZZ2>=O5F/%$^'!& M=4 VF-4T^5)@F:1BGL@]M?RYAQ.S7_[4 V]LVMC]YJZ:M&KMD*7VX1EV$P]! M^+S"S9OJ'(OG,$KT*1IDP2K.@Q==,+9390>5KCE'?] M.L1HF0(W5SO1WZEV4NU4+JQ;FS1VC=.0-,7WDDY+_SQ+0\ZF 3[O<$U%E%4. MV[E/5Y%W;M1MBH^\R%*4WVB*PD&S II,-JEH%D+9#1ZE#/ 4\FMKLV3UU&B! MSG),WJ$3R(K/C22(.WG+?Y"Y%,K!XEC?#RB%FD0I%8'[F=:PV+"?.PCIN[QG M\O*?+GXUX3A\W+6 L N/;D0I"-_R;6($.) AN]'(S5%L^0XIMRF0M>RNLWG= MIB"K'ZQ?-C,*X.8-:E"_L/\^]G6H-G ZE-)XT11YWI)P^X"13=FT=+ON'F35 M:Q[^GR@Z)M*V%;H @K2:^?'<(1.!PMZ#GEI6D:?ZR78F;'M(N>UA\I!$<=I- M):U7M-P]=4EGM/ XD/ANJN9H:H4(1[^O5:]TL(W;+@Z0HU\[5]>7&R;JZT9 M&52RI@Z$M(F99PG7=V;8KU8)+I<'+M<+DNJWY!FB\!.%2 A>6GH"<=\"D,JF MZ\5+]UK.EK>R:6Y;RSI" LYYD 90IR$B$]&/:*TD[DO?:*>DEZ]8][@#2;S^ ME5U5=/-6\R7G5:7?F88OH,;JQP$9Y=8<]FO77;I1%K7'-E:^YRR;Q<^6F(BY]6E@I#TE[@14JJ M<"U'7A!?VNZUYO7HF @\N%>,CFZ;^E>7C\S9EAP^4L7Q8HQF@MR,@:T=2GLU ML"T/[8F$#]]]*W'<&#EDB2$?Y-HR) CDWWY*-S2NA?_1IE5ND[TB^5AQXR$\10A[)(M2H-39\QJ M1\DY"DQW(&/NZ*+^U2VJW#RO0H[A M@K"($G[P B!!YX/:$4S(W#JHK>08>#0C);9G:+FA/,9O0 P/<;C;9&"(W">V M.['8E;LX;HGEGK =<9AO(@ZF>_+7Q$=,=T!0F&Z^SG3K>83=K/! >S_"YG15 MPSO'N3B>MD#S2V2GSEYI"UD%':(IOH^4TVE6$D.$P'P20SK1C"2&].2O3+>> MY0R,M+\9&1C%$X^!A.,/@U'>'X20* MIQO0IH&'WQ#]CW#Q9^+&SXV)PO4F1.%Z8Z)PG?&I!-*!A@2R.NN!K,YV(*LS M'&6RG5P;3Z97!TZNF135]GEZU M*+'@&TIX=@7/#ZDRJ=X?XS;%@; ES=JTCYV/0DW1OLE'H:;WJ/*AAU<-*<<> M#6-1ZD7AI5Z84MHWR[<>Z,BXK)][[D9V$D6D+C#A+8:^Y3U'+F4J7P94,N*F MQ>K)/;(#[6,&*0L*XNQ5N5C+5M:^SLY M?\6-:6ER.F[B#[SL;S+L>D&4D.+VP_L@B85O5O@#Q<*M&_W@8VEC0*#RP;3Q M/>*#*3,6J2\&4XT/IFQI#6>@<8@50P?2FS"PD4/&3CY2-D;#?*1L?H^:,%*V MX\ #V7AU5@4_K*+NMN34W8B>Z%C!215\I*QWI,2Z5;DS$[3 M\@.*ZW>>7NQ.-IH!=>QIAW]2Y.P4D&$S0H;VJ(TPS\*E9<=!R//JYJAU5[20 M]8NM.A] !AO>#-X,W@R&FL'#C%K'H_XB.NSQX) MK5T\3=U[ER^H;Y!*U1V' MW+2/=&E>CYHPX=(.BU2ESF",Y6K%5<]K-VX;'A\WCHI2]<"C&X!D $=MQL?8 MNO=0)J7-^+21'Z-P =#!Y_OPXQOAKGQMH5!-2;<=SX.(;LLX#9%'UY5^^NDZ M\71A;ZM?3&WD5'KYBG4?!5X2;__*MB8><=!32)N4-U!;^4E:ZSJ_=O8[Z'CQ MI6GXXF<>4/<^1-:/KC7!'3RUO)_6<]3Y^$H.,]?OOI'[6Y%MU]W>BJ].JFL3 MS52J-\/;N\7DOM 5+J^NA]=G5\.OPM7UY>CVV_#N:G2]%850D/%F0,D+";6S M\J5ZM+ X,%W(^E!1&^@33]T8Z\S>HU6;=U*_D7+)C>T?0^.]#@@T;Y$ZMKO+ MX=G=Z%9<&.;UV0D@&]S'*%^)ID.!G.)$HH"<;S6,AFEIANG5CCL+LKUF08'/X!7Z7OOM6 MXK@QG#Z5?^C2SP@<\#B[""#(& MOLTJ2+?3RXOAT31/#%TE(^0B&%N\>#%XGM#!,PNJ7EWK:R>ZJ6^]+)W(6Z^] M]UA9PJ.W>=!CW[^F&M4TMK=?@\K-ZZLY=\O<8_5;.1EB:G20>D4JVPFR2*-# M4B#N4/ZF :)8/3(]DX?R2AX[P'QOV3\>0NR"G>ZBR;:-$,Z;&4+Y<#Q>'1.W MJW9K9Q>^.P[FA'H1: T<(6LWC(/VWHJB("6T4^][6$HQ<>:A4M??-*'_P43I M9M6<)6%(#MJPH@C%T>E!.MK=ZR8A\DUO#T)D,R16DA//46&O5DLA%9U)EF"3 M7]"?B?MH>:]RYM<1W%[=EP0&?,1_%>HA:%1_=I\(G7L96C8M?)/X;GQ+:/(D M/7COL4G_K)K.L$E*\GC\66@Z6"J T1JF/2)42\V1=- M0_[\\75+MWBP0TPOAX;*'+JYF3333+0:S$3N#&3)%&55 F0G)46/C R/:6&3 ME'I"=A*ZL8O6AL:E&)1\8MAH_TQ;R8[!Y$6:XZ4P%Z%Z7MM0L&VHAFAJ:E'; M> >?58TA^P;;K %.^FF!Q_\JT74-LU==!N%YD-S' MD\3+FG:[;-D2?&OXTCH#75X?QVGJE:N=.TRB:#MU; <]8ZV=.]9SO>>H]@U\ MF794N]"SIH%K%!_HJ7HX>=)$22X\\,%+GCB>]K7R$O'4[PP,0Y2+!U(\R3@0 M&%?^(]9;$.+HA0YM/+\XT,UF@GS&UI#7# P2 $JB8JX/?CRA: R =OC5(@ R M"8!44=;[@ #4KLF,6Q3%H6N3 U7(=,9!?K05X<4./_HBQRIX34W"EH(##@U0 MP,$#V.,ZVHH11IAS45$@S2^U*Z2]"='<&+5,#8@FC5O"$5ZF&9H*9T!HHN&GU(%"B/@(_KF"N E8IAI8J&J0." M59EQL6S"]L5W06QY9;C=O LXFV<\NVC>(F:B=09:WQ 5O;"='+#0EI6@N<78 MVT4)%\&>3K"GB;JNL(*]%BQB+H/-:$5(4Y#-N Y\^S"SZ>'(1E1ZD (;'B_# M(C(.!U>?@*NG%N8PX$7-D)WNXE!0_T'PD!4A4:!BZ0:3;A*A;O'@N=G&LL,3 M+X7[E)9)!IVT#S$6EP<#<*CX@/Y MXU3L-T3H.&ZYR$2>?^I;EW"H(N'TL0]IZIM'PL=FCLL#%)F_,TS1T" MQFE! M]/M;$#@_7<_C$>Z!7C438%[ DZDW619-Q004?/!H]K@>]%#PJ"EX-% K:EH0 MN5[YL>4_N/<>7[=;=-UN)LAT%@-'#!=/MI<0B1QJ%!HV"D64M<(.E8>D<'&U M9+*]\.YBA.^MI M:1UYC:'7&?1E4>Y#HLQXU'I<)UL>FOJ=0:\O]K3"ZP]Y&)MKRHLNR^7+<8M- M;;TLDSQXRE:XIS>H >W6(G*;HHJX6G4!A;3LPMC%O8 2NG\UH8 MW6(H28:H*,Q8V.93L\UW#LVNM%#P2G]5W",G2$B=O7=K5[/1RD;Q<9OKP'^] M&GZY^GIU=W4Q%H;7Y\+X;G3VM]]'7\\O;L?__1=#D?N?A(N_?[^Z^V<9!=)9 M2 )@E(-O>\5WS[7N78]6 N1EWX_J)ZOTA(SL>E_6*IQ;SZ0H%Z^AWH[BT'M6 M_[M)47'8'KV>TAGT5+'?AU0,FA=-YW91O(IA,;M0L5V8HBJ5E84!FC5B9]@+ M$^2LQEY\'NGPL8+(\NN+* \T"XWN9M&*EXGEDTEPP;3;P98#)E(?0!%E&=). MYW:E%EE^.P]"BHI@(L0HG E>8/G+35()5C^Y_A_LC-TH2FAI=#N(^%JI@_WQ MU\!_N,."/D?W!Q98[O5HN4.]@7$[1]&>CK@$%/7I?(-65G$@'N4>O (U1(_( M3];('1Z5Y%Q^>IO*\4![(/6Z3=$P^?K^!B-ISZ6GQ9!D=@8*V6L*J>QENX+; M-T57"A,)K0@YOD6.,Q7[Q M$K(\L(:+I!SD\.%((@>W:J)J0"H@U()UIZ_J$O %$!44)U@)7?+O*>_3$MU] M"=)62,X2UUR@H!BB:%WNOEJXY 4\MABRGR6#9)>N> @X67PLLOCP:,2@59(T M'=*B3![7@B",#P<5F:CKB[I1F('@(>Y!(>Y#:/F\R&%>'TLPOHQ!?@MPYWQ2 M%?DW(LRE4>0T!8/L[S=$W'5 40B/:X_C7P\ U,1]0D[W/R@,-F!))CL(#456 M/@$"4PM"VK3N%@]?R^,,SO#_W3C*3BU=S?,.#3H,I3/010/4NDL>R-9#(%0! M+Y7 2^]!RI/:MPZ"KW\XWOJ'O 9"9LA,233Z9>T]X@L?&H6\_1<^Y$4>F5$S M3='4F%ER4S1H+J/P# OXXJ5ZZI3^. [L']/ P[809:6BR(%O\3.OV%/>J%%S MQ9Z] >BXC]FS%X_HDOM/>W370DV;;8/9+" OQ4 5A?]Z;SBZ0>%X:H7HW6'I MZOKR[;B4OH*:PHT5CL)Q3(XV_(?E)>CED8LA25H.2;WWQ\9MC5$K:4R_,Y!. M-IV_NO:!,+="X9$\[L7"L=[Y0-.B@6:;G7WQR;K8R3FZ54/\L)XHU=M> 0"H M6,X]T90U4=]P$L-6>+M4%%3JPB51B/K6;JI$;, -''% M9T&/2_#L 1$=&$3:M;E[B!M-!&YY. UPG:[K"[8U=V.+GS)\<)&XI4AOL$2O M_+-4GBNFD)/K-'%B:?3ZHBY#6EO%YSF/7"ZN=%CU,:PT330T2 <$MJMLT="V MDUGB$4)'".B*$SN8S4,T17[D/B+!"Z*6;5;Y4,@31[CY^+<-I18S,=/% 6>K M0DYW'GS%DKY&\6AR9SWE-22C,]!$;<,JE%]XC-L$F*UYYGI@9M+5*/WUU2BU MP*QEV/Y6PJ-DP-C:UQE7@"V95NV6="#8:M]2P&CKX@2^,K **F-U,<@% ME7-NFU%PDJEJHM)C9IT67R$(B/4H 8$J1B Y"=)@9HUJ^XYC7EGC32?I]G?T MNV2R4%;:Q4UG1/(39\N23V-\TO[KY8>^4X*'TBH[#[H$M=:<^7#[YO9=WZZ$ M,',8EW0ORQ+[BX90\AG8(HB4@?2=Y ? M(>)-?:I%RD%.7-_R;9?FQ/@#LL4\.MDAAT5C-"5E6^=!1"<43T/D6;'[B#[] M=)UXFMG3RA<7*)->OF+=XZ8D\?:O0)&Y^F:-U\I/TEIBH6[?,&S+41Q%UC5- M1Z:AJKV)CB1-OU?M>]7ZEVQVLB]-E^>SSZT'U+T/D?6C:TUP!T\M[Z?U''4^ MOI+#S/6[;^3^5F2I8 :?[T/\U0VMK56J:^>+4ZE>CFZ_70[/[D:W8HJYJ^NS M$_#V]]H\ZI#;V>CZ_.)Z?'$NX-_&HZ]7Y\.["W(\._[GV\7UW5@870I8EJ-O M%X"DN;DO'ZY\[**"!#_#B40!/=D(CR1S%*9K+@5K1H\/_05^1[[[5N*XV*LN MVTI'M1?O1T=2W!S/FD?H-/OED^-&<\]Z/G5]^E#ZI4\S*WS -K]PF<3>WXRB MM-OIY1=7<"*E[F"1]"_>O+A\0B^]B0S2:[IT(JOJULOXZM9K[SU6EDYZ>N^@ MQ[Y_336VOY0W%F1CS;T>NX.R KD!- MA L<4CI[['O:26TS*HRQ^[1=%*U!\@HIDR-7A*W9OR;>LR"+-)96)$4MJ_/[ M;/!KD!!])"CZ4HI*&:ZBF8+B:*L8;2VH-+^>%&#+B>TV\=;Z^[SU M DB783 [P]\C3_S#C:=G281[A\*+)]M+B%2&483P_YS\2U!EB1R7K>NB*1<^ MCS.O&MF8A^+6V!IK[-5OC>2T TD53:FLC6'<&KDUPNEW'FN4Z[=&HS-0%554 M>X7/L^'6R*V1:6OLUV^-9F>@2;(H&64=BPUOV2=[U07/@HBN;0BWY+S-WG18 M8JY'!#F:_!8$#EVCA,)'UT;1./#VK/?S8BBRU!F8NMA3RUJ@S^@:_&;#:4>R M4B*,)+IYVA-LEXDDA.:XB2J6=K<[Q!!!/.P+&$O&D8CS) MBJ@9D/Q3"Z8Y?@N#*!+F83 IMG6^Q7OE=L2$5,(W5,"YK4+K#'J2J!B%G2QC MU 5'7AGA8Q'DZ3C]T$2U5];1Z!QYC4+>CD"S"/+(7*8B8^@QPQ!QZ &*28M MKT]."#5$W61FO&T!.;D\$EE 3W.RYRKB1YZ4E^)RB7&)<8D5E5B[JN[=H@A9 MH3VE-4$<](B\8$ZVNK:K]%ZI2P13@0Y]Y_Q%G!?I<)<[BC%HK3U5*WS..2^X M!Q=1.Y>YE8DH,T44+W3>9$3M7*I5(J(4J3/0>Z)>O/@71Q1<1.U<;E0FHF2, M*%W4]+)8(T#9.2-AX1AY^,,'47A /B(E4TAX:#DSUW>C.*2U3/C"H@,CQ(5L M?TLEBRUF^$JNAQJ-TAFHJJCH9=5@Y)/X *&U(U2L"%HJA98F%=Z1Q*$%%UH[ M8L:*H$5FQ771-"&=3\:A==S@L2)HZ1A:/9SI%CY["=XJ)(;J#@=K4SY\:5(5 M4>5R:FUA+E%N>^EA>Y%%W2PKC^=S]8W"WX[0LSC^^A1_?869"7N./T#Q:7'\ M&62QDB+J1EF'-7( -@J .Z+8X@ TT]5R_>('N? E2Q4L67+I\8+"!W)BZ-II M5'F2O8;94*ZSQ=:BV"UGBRW%_G*H8UY[4B52%'Y3_I?[-$A_*NF3!3&UGD?MWQ&Q96<(X<:B]_'%[WQ])Q=L/8)M!&T>3U%8.,%H MQ>JH70L[B"2O S]XG8TO5T6M>VBC,]#TLA)N1EF=9D-F%X&=&S(FV7%1.)O@ MD($+F5W+)_)"1I.PE^GSBH$-ALPN>C@W9.3.H*]!@DPKR%ZZ:N$>38(096L8 M8NN)K\.MB@_.YDJRVNNNGV!I+"93 C_Z0E61WG='%''Q%(<6%JCK6^'S58QF M$;8J\M(PH OCL^Q\DTDIG4%/*:LZ )CI/;Y@[2AL2NM12^Z5=9P >BM]PJ@ M-\ DIZ?MX^!7E%5>78$Q*%6RX#>'[R$;UGKKPS/W/5 !4WJD6-SWF)U!7]0- M2+ZG!:3L-]3_ MEU5BDN.?X_](^.^7@_\^P7^?H0(M:ZMSUDA@Y!0I_[2 L&F;;^?O?.,O/ ME_DL +;)]HUR-/SCT:V7@V3(>S:SJ:C28T,HE&21S%ED\$M."L M\ZW7ZRF=0;\OX@0J6&>"]3.1U>I'V8E.&49 :9-W" M#@M(%XI9,[3<-M:CCKPG%V;5REW72.,A+#8A+ WD?@]P4E;)+_7&0?B?QWWW?-O%MV-4 MQFB&.Q:=;!7!HAV:DN9N\R!R"?Q.0T1F-!_1IY^N$T\SVUKYX@)BTLM7K'O< M"&P66[\"1=S::VFL_B2M);;I]@W#MAS%461=TW1D&JK:F^A(TO1[U;Y7K7\I M2B?[TC3,>C#'/J)['R+K1]>:X Z>6MY/ZSGJ?'PEAYGK=]_(_:W(4L$,/M^' M^*L;6ENK5/L;I7HYNOUV.3R[&]V*J=E=79]MQQV45I^-KL\OKL<7YP+^;3SZ M>G4^O,-_C._P/]\NKN_&PN@27_IVO3A](O?9I9 MX0.VLH63(A;V9LRBW4XOOQC?B90:X((/6[QY>NU]QXK2R>Z81STV/>OJ?T^;RQ3C36W7UY][ XV=V="8:[=NB'D3]U$/3'_ MFN^@!GLW#1$2ON'[II%P@:.B[0QO\X4Q=I^VBZ(H0%:RUARU=6 +[*^)]RS( M(HVU%(FD8KN76>W3^98)T4>"HB^EJ)1A@9FQDWLZKK./=Y'6=N9=S**J[CW.=UG.$9 MQ2B>HE @4\PAFB(_9>5$X2#$[_?/DC!$OOU, ME9"^>N@[*RH9+C6"AY_1Y,YZVC2X:)V!K*RG2?N?/0BO?B3'V_8D^\AXRQGI MZ.0 54-?WVW X0@5CB7FHL=S>F1;2VG+_3G4('J^M8P,MN?KXQQ/U/7U%*\6 MS]>NNAC?_1#A5OP'.<*#Y?I1FL&AZ!>!Q+6/ENN117!=K-%NA/4FS*SP!UJL MID-V$KJQBPX+>IG=)WS4H/=%/[\''A'4;UA+Q#Y'_G@I_V'H1OC2.?[3?[C! MG0J<]T8 HS,P='[B=C,!5S3JK0)P9F>@:^M%-SCBH"+N"(%M!3@S)(PSN:SB MO1QL$-U;T="V..SR!;>&W!G(8E]?+]11B_=K%T?[;G#KX$<^THUI KX4APGG M;ZOG;\^L:'KI!3]_1\X#RDQO2/:WW2+;LZ+(G6#19%GF9B^O8"_/2=N&@JP, MTK8,D*G8;6^H_,)1U@B4K<6L-:%,ZPS,(IDX!QGASZ'HO0ZPR4#76(<^=K8%9TEL@NM!EW982F M!],(_Y^&Q#+%QE(;H6;SDI0SZ@?5")^Y0W.)UW,@*3S"OV"I],4KJZV-@) MQNV6VVU9&Z/?M=M\@8(IDS1?[-=2+Y7;-;?K5MGUCBRU3+M6R#X*M?@YP]RL MN5ESLRXTQU6F6:MDU8>H]PJ?W0;&KC=7-\\:OJV8[J9"S@ +8]=7AOQ P;6Q M>KE>2O5RO3/@UN &+V:^LYBY:9X8NGI(+7.U=V+VRB]B;9PH_?UJ6.>[IJM*Z6WM MG:@'2N#X;65)KK)THO5Z[#164EA"@5IFA?A:!;CY1O"H4=[75@VI17VK[)L'&\D;R3[C2Q\\ TXCW;8:4#"XOP18>WLD48M M;-LLC"^69_DVBD3A'-F('.4JJ*DHMA]7L_\9N^MH9'#-:,[C07O.F:!=S>FM,+>[9G[W=5W-LUQ MP[RN\?Z\+C7":>!AF407?R9N_+QIQI;L0"QYMI;;%KNKO]/Y2C](>^Y.*L$0^YV!+NK]]5WXN2L\< OD%M@8"]RW M^DH)%FAT!C@ME\JHJLY-D)L@8!/,8X%:Y2&HB4-0R1"5#76&(8:@3->F>3L? MM1D?5U&4$,:2K+:U*96&&X#UC(&"!4L6X H7L[D7/",D4 (-TEH3ZT("3>> MY;>KQ'=.ZE)6=G"75*!$ \A9+2J:\IB9V.E-F=")S/<\+6U):RJ2U!DHLH3' MN\)FQXO@'A=Q__T70Y&53UQ+H+64*\Q5]QAEUWW"/RPO05M=0LZ!6)%DDH)* M2N'C$SG2N#_@6N):8E%+)6Y4/H[35N Y[1T94K;9!#<6O8]-?B>;=S*]IJ=@ MBCQ/0G(E%N) >$113/:SXGMP[A:'KDVVJ&:IM!M'RQJOZ6<_W7@Z19Y#? I M^]JN P:.FDC?+O5!;QO^M,+TW([+()P@-T[H&W.FU&3?N2FJI>T[!U01HMG0 M.RPVXUJ"/'.TEE*_-W.T)4S;STNL!V5:9Z#QTWD9@A9W %Q+7$N 3U>IPDOK M@+PTSYE;?F<+II6I=7;OK;1HTVR._(@>3-.N^6+. W,M<2W!FV,=.O].HI@6 MC+L+7FH=D#('5_ZBP 'ECJ@#.UOQ7[?HS\2-W!B-4?CHVB@-36Z1'3SX]"DT M2LG-[/+>4*)G9L?*G@0#I%*NNP1 XL;OY<2VP=E:I()CSK;\&L!%97 MD?"?V. M(, (JA) ,CP ,N+NLRMC5M;\ZPMW\Z>M<+P597N5&2RDT?4M/5*9N55[N0& MQPT.N,&M58NOSN!ZG8%BB(919:U<;G'+'^*W/*PSGH>M5.K'0 M_%D%13KFK(*1SBIHBD@UQD"9^9QVQ ]Y.$HPV]!(5ED[Z.B0:0:3'^+'C8L; MUYIQ[5,GN%">B,UW8.B&*)ML'*'"S8^;W_%X444Y&B^*37V@B7*EM"BW0&Z! M]79N+MDQSZ-!.*5'(X02R:!HFH&U)?%];V0'? MCIV1Q>NIKZ)NXCXAI_L?% :;(D-]N?66(XXMQ.7+\M?VJAROEC]^]Z"W[M#V M3_DYLHZ+++X7GVN):ZD&+[T6%QS12??A.&F>_;?\3J87+-9PW@JS5?]X;4:N M):ZE&AB(':4+H)7C5XS.P!154P94?I.#DKL.KB6N)9 .?@?##,Z_F_#\>PNF M(#>=MN(%4=2N64-.I'$M<2UQ+;5'2_FF#M=* MF%PJ>F\)LBLR)#*XEKB6N):XEKB5(6LJ5;ZW5 M9GWWV(OU6$LAF[T,0$PJA\AQV?V="%&A(81IKOWH)Y\L.K_8@YEVZFW!O#:7 M+SOJH2BJ5N:A*"6JMF9RI5 7W^WE7AAF=Q=\^?)AT[:K.G%%UZ4=ZL(-FAMT&PT:ZKDQ:K_XN3'Y:V M#_?*L^81.LU^^93M<'5]JE3ZI4\S*WQP_:R[^GRM;?1]Z>5//UTGGIZ:YHFA MJP0)"Z9\\>+TJGQ"0?)&W.DUM7=B]OI;+TLG\M9K[SW6.%'ZVZ^^]]3WK^FJ M4GI;>R?J@1(X?EM9DJLLG6B]'CN-E1264*#N]51>+Z'E=W( M/S.MIZ"-G:? MWIZ!YB-!T>GDNM+>0]#.D8UF]RC,1"'S@] .JQ!J'G$E@29U!GU#Q/^*NK3. MD$ LU)W3EGB=_%*(C[;6R5\C*@^8_==D8F3-ZQ1@><,I@/LI0(^N2 M34,T-TSIN'418V2R482: MAH="6>R;_" T;H+--L%<%ECYM+6F$\/3Q;XA,1&#,KTOJN Q2+A7*!3B*1(N M9G,O>$9(H 0;I+0GEH1$FX\Z[!ZR9RM=Y4[;@.>TF5[64>)!L>@)A;8;T9N".5'*8562,SB$4#J!S+@;;4KH(]O/(6"UHZ5F9$KXU2 MQWNQ\,7.AC%4ESJ#XBP(1Q&W=:XEKB46M72DK&=OARP#<\AMGO-9S6@>413C M_I![PN69MLNY(3>.1,%',;FQ6!AWN98@+X8ZWE'D^3A(725E@11MO>P /R\&*O*X?^!: MXEJJP8OO>W+7T9VX!LJ)MV .:;EFSO(=G$[%;HC(Z:]K"5@\Q1U]F.);YMDW MYF'P$%JS=LTF;3>S(OG4[5*JSM!W;JD:-J17N5,G/=W0H8K:AA-TW!A.P&V.)UYW2.3%9H<.@V%SC[S6OM")^=(3];Y::*JK-=GYN"" M"BX^C\*UQ+4$(5\[GI\V%GYZO31&+7ZZ!9-@5)O=>Z)(DH,M5Y&U:]Z*LTY< M2UQ+\-:Z#9U_)U%,.*+H+AAB29 G6MZ-Y3I7_IDU=V/+HVS%_=M5L+?HS\2- MW!B-4?CHVB@=E6Z1'3SX]"F'#5 F3E U45?X#D+&4,E]!]<2UQ*XM7/0''Q/ M NC@6S S-(JG**0)2(BF6,7N(Q*\(&K9[B%.IG M<2UQ+;5'2_EFD-8.WMVR MDH2.)F>K@\G+2?1TUT5=XU-([*"+^P 6M%3)8K)*7( "R@6T M8'8":TIPJ=[X? 3G0;B6N):XEKB6N)988'[5'=0O'MM?0K+C]@4MR5N2^VVI0,. M5LP9\O4[ P/'?+I1..;CUL:M#9RUY9I(T=:.6JSLH*F>@>U.-,WUDDKEG3/% M#8X;''"#.][9BCVS,U!DL;?A?"EN<=SB&+:X7 :W=I1BV7;6E_# IIBB:51^ MF'!9UK9@&+.&+(3;HZ94-G^]QS-6^JOB'CE!'O;/L[=_#L MNU^^?N^&0<-&V!V%D,CWNVF(D/ -WS>-A O?0GXTH M-ANAJ4>B3-;F&*/=ZHB*753T;6L"[5WMX-,RCX1W1\ ''&J\'O&0%['IQ M#FYHW-"XH66&MD^)O&)II]H9F)(BFF93YS&X*7)3+(5SS55 OIA1TFK"VH:) M?.8I5VZ-W!I+L<9]]V^68(UZ9Z#+HKFAC@,W1VZ.337'7-:X3YW'8D;8ZPP, MK2?V^LRL%-W!>3IN-/>L9](3]+[U\CO9O),#H.5WMF!7-3_XL/99DEU[-HY^ M\&&_3PX^E$6M!VD_%-]1Q[?.-D1+^3+EM;7P0,[,ZAN$Y9+[14YIXIT9/_@0PL&'^^53%1U\:)":T:)")N0+G27* MZPY" =FFB'R?G=X''WQHR/S@P^9"9Y^-S=4*371%,M82,8!Q?H3(!K MB6N):ZG<=>):XEJJ:?'5CIP VKE8!JF6*?;, M]?&)@Q(T*+GKX%KB6CJ^@]^12X#S[SH\_]Z">2%^["&G4KB6N):XEMJEI5RT MI+YOIF2MB"Z;,(A)CB[N QJBI4J6DE7B OJ@7$ +YB;XL8>4)M?RE&)_O2='EZZ]QZ M0-W[$%D_NM8$=_#4\GY:SU'GXRLYS%R_^T;N;T6V';T ,+PVH4*E>CFZ_78Y M/+L;W8K"U?79=LA!:?#9Z/K\XGI\<2[@W\:CKU?GPSO\Q_@.__/MXOIN+(PN MA;/A^'?A\NOHCS'X_GRX\K%G"!+\#"?Z!7YSO_M6XKC892W;2KW[BX.A(PIN MCF?-(W2:_?(I*Q+N^O2A]$N?9E;X@,UJX96(2;T936BWT\LOUG8BI1:WF.I< MO'EQ^81>>C-"IM?ZVHEL*ELO2R?RUFOO/5:63OK:88]]_YJAJ-4T=K_'[GFZ M+Z@ >/.L\>;H:=DG.P^O3J#N-BIPY"6]Y:BU3TZFR?\A8V%OR;> MLR"+-/)0)$6M7"HEG5;/O-C312B9W!M\\O?F#/K,BJ;"Q M^1L(D#&9",$>A M10^\((GK(TXQ4'1Z$!@/.*H(--=0P%OMN[^GY>(L:7^^C0"\RNBN3DTTQQV'+Q8S!SZG4%/ M$F49TC%.)<63C QP*[5]R$%J(<+:MUT/T?/2%B,?_IS\99,H=!X&CRY.@X7[ MY_+#T#)BKS*?P4,T039AX_<9,UP%^E2)BJR;C#I)N0PMBA"\6&U-EL1H>SP MSZ,L5_V*K C=DI>,)M\C-"1B736DBR=2O39O35I54CH#531!,1D\"CZNIZX< M8^3@%5$#A;$V!2AJB996VIY-$R M0"CM\,$E04G'4%)%HV\ @E*;PN-S-$%AB/UL-@5A/0GWR$<3-VY7")QK1]R^ M&^(RZ:8S=W?6TR(@^9)*.+>U]$CLVU.+U%SE82]@7*WYW"/AJD]PU9>*G%/- M0]V#X'%#IGDC@@NL,AS?VBB*Z'GP =G(A&*$'?,C\N,@=%'+#@ I,>Z]6LCP M^8_0C=%Y\#-_H&*08@,]!5*XX:\):#(I&2P FF:88>WS38ZX<:B]X%W MK#N;UN!&Y1/IV556R8N=VI6*E,G&$W4LZ=+A4J!DH\.E%_P<9[NS\WHR6<*) MNVA(?#%*@\&UBX:O#%PRR4<,OE"EKFU04\M_P$]S_<5L*,U(/->Z=[WF+3Y] M]8PRQVI5.E&@KTJV;3()'I$A&KF/9!=[N\;:8K3?V_S #LF$Y#E*_[WR,_'> M+J6;VQ4JY A60RU2#XL/L0P-L5L8OTJPI78&NJAOP%8SAED&_.]56\F]:OWN MBEAS&X5&C,(HHP AY_@@@FDGR5A*&6*NM7.U9K>]="#V;HES,3 Y]A](%=(E>?COJ$;9),OG$-SLH M.TX47 G:^@1MBEFX;BF/BPM.(QSNG-L1R^1VSF\HVX5YK%L F>TNLAJ$1\" M49,[ MX7-61V&TC>U+)(=\GCSJWG]I&X1^%P;U+)Y@TF%(G,9>G%%SCS^!4N MJ')[U**@(B?4B3JH4A MBU"Q!L,$O9H5Y8%JX07S&RV%R/GKBYAS&XN"TSE) M[$DE'!3% ]J&>-^BF*([1.7&[NIGP &G%$%1]]N*\.0PFB#CU#(SV7!4KJIH MV YT2.NT>&Q;MW?='SPZCF(+'XO.0]C">S]#](C\A >PE02PF91O4R'GCC1Z MG8$IFMKZ9 0/7J$BJU+W6A1/?5(9NZ^4=;X]CUP/][L/H>6W;)M]"6$KP?L[ M=O%;@+OKDVT'OQ'QYK8/@Q8WP4( %)CPH+9D:.E;CC\M@JV)^X2<[G]0&&R" ME4DJ2!N*K'P"A*N6!;S+*4S!(WKEW&W%H>_K.FTKJ6 ^EZS2XJQ2CX? #478 MXX12V2O[LU"\E^>OT>D MIM"&+;VY#8I4:=7$OE'6#/5^&F0HOFXK)'[QB$R=2Z+<7V?B M^::F1D!K1ZA3(;3(ME-RW&.1%6] :4;&W/)]$N%;HI;QBU4ZX"\+B:((YPJC M"0DB%U><''R\VBN-C^?48H-\\-[HVL,+TZK*F\YK9)Y4A.Z$;Y+0GEIDQS]V MP3,K_(%BLLU"B)"=A"U<+%II1/QM*=_Q4KRY;<7H#'H]L:?S.E<-155>1UP* MJLS.0%=$55L_J(;'P4=RP0MN8N9&41 ^"WX0HZ+%!IF-7*KTPM=8L%MKP;T; M"FL2#X49!52E'OA=1.UVOII,:_9L6$?'P]^J?6\88,$YBVD5K+/%^$E)X0CK MBI%TT/'8^[I1Y/<@C&V!U4>M#6B;=LN6LRZ53240/\-LX@5XDPF[2&I5* MEKQN6:URE>GA\-4J&ID=-$2M5R1US:5&A@+UUN)RWX6R%>)2Q[B415DN@=4& MMH!J\T $>0!XNX!JXOJ6;Y>Q@&JW+, 94H$%5/M&HLV76*L8RE=9LAM%"3:> M-#6V@]DL(.T)[!^>&1]]][/FO\ <^]E.D7._FX\3)2I@( MW^8E1(QCHH[1G%S(/V[U2%E_2>%'UC<8D#D2Y?H!V2> [!E-W82@\7QLZ;;'*(GP7KIQ4Z+5MF6\6RKMM4Y'\ MS(H*&.8Q"F>"%^ 'MRNJ+W/@N%U*=#3Y&O@/=UBFY^@^WF2R9+F"S _Q:BA0 M=@P,VX&2T_'3VMMJ'PB.FN_X&[)*8K7 S(?%DHE?-LZ9\343QRHU6_X"$$&>H0OH[S0?(."&FHP6AE1ZQ.DFF0)9-ARB*0]#>X'X&S M7BMVL6ACU<13L\]MJ:1$O"SJ9@GE8O=&0Q,2CA8@?-\!!SC"38QP'2?55>8M M/'7)M=![OY%)%.[1@^O[A- B.^\I4MJ5K.0Q5^U]UNJH 6!/(L.*(II&X5,E M>4X"%W*J"@ES9).^KHNJ!@ES+<@]\GATA#_:X)4A>B9[8+8NJ67AW>8FZKCD#XX;.#;V4D'?+T6?U6+J* M+5V31,4L>?JV%DNG<N[%H@M\>Q3C#^BBH).M$E@T0U-.^F2MR3Q(RRN? MTM7A[B/Z]--UXFEF"BM?7(! >OF*=8\;D<3;OP)%VOW7TEC].0VSQLRM!]2] M#Y'UHVM-<%M/+>^G]1QU/K[JTLSUNV]$^+;WVX'(+HK[&^5Z.;K]=CD\NQO= MBL+5]=EVT$%I\-GH^OSB>GQQ+N#?QJ.O5^?#._S'^ [_\^WB^FXLC"Z%L^'X M=^'RZ^B/,?C^?+CRL6\($OP,)_H%?G._^U;BN-AI+=NZ*)F6N1@ZH.#F>-8\ M0J?9+Y^RE7>N3Q]*O_1I9H4/V!H7?HE8XIOQA'8[O?QBI"=2:JB+C'CQYL7E M$WKIS>B87NNK)Z:T_;)T(F^]]MYC97Q1U0YZ[/O7#$4MO['225_;[[$[6(>= MS):Y=NN&8#H%W MSKY[-)B0[9I>6_5>>)H&FASW)XXV]; Q!-"6E?J$N#D]HPL'KOPS:^[&EG?Q M-$<^CGZ3$)&J)TD8(N=+$E\'\3]1?&.YN<]$Z6F=@2G*Q:N>P)OAY.;23'/9 MLJOM..9"JBV*\H:3[\%.SC9[OQOT4&%Y3K+@D8A!%*A"N\&DF^#XP8HB1#8^ MW\<6_B8M&;S<"H&!F7X'7\;=H%OR6U9.H\Q-T>2QH\GW" V)S$<+B5_YV=J\ MRR!SVG-M'],BZ\9Y:V$?PHAMPX;9K:_41X99N4U#7M\S47K?N MS7R1K% PU5@$%N0S6L"MC)/Y/*T097D"#@EL+XAP3$9+_64ED_'@EP*?3 M" M.7:]]&>TB2:AU;#G.,JFL8SKV\$,";'UA"*15 _C]$8[\K4=D=D5Q<4=@07) MR*Y1[LT1/8-P&)K".0QN$XS8Q([PL02;,#N#GJCU(9U#U::\_^W8%R.RBIRG M[P0Y<+VPJ\D)HC:4]_6A*2MA:' MK#T0+49/LL V 6*L8(Q,F^G)6X0-PW8]EY*/&2NYWV[04HYS:S(OS41L0M,U MHMVW*B\2%#:,D-G4P\:,A7OLMJ6G-K_:7#>,SZPP)'NO_F%Y"S:OF&HG<&LMH351/2FHHVY>ZW;TM@T+5T_F&$9BN2 MJQT#RNL-VV>I-'/;!:V6*FL\2V\PD'9YW'*0U.\,%%&6&EATB$W_ZI/=2 5\ M;"LF!'+YV.O MP\T#H,8AU)\T3>\,)UCZ3 W6P!,I)*G:!3WM/ B61@.=C/% M=Q>0I8>'%Y3>)0I>[*E2R33&S4"JZF9(I55U*U'7P%?<<4/GALY<53=#+JVJ M&P!+YU7=>%6WDJ1M;*_J1EI+S,?M&X9M.8JCR+JFZ<@T5+4WT9&DZ?>J?:]: M_U+ES@!T*;CJI+JSIEOJ79@H['8]NKL8"W0R<\+CI0\^7^Z PW>/L=S="1[L M_'B8UI+!7O\&/\]V472'F_#%"^P?+T.YDD8:KI\@9T@B $DU)HJNJ!::F-I] M;W(O28;JW"N:U+LWD&IU!(0#@CE1=)B@SN"+%;D1&3M6VTESX)6F""]M$;+& M9*'#0D1O](BO+=J5/I"B9&?;CJ+_S;[_3>#SCE7\.XEB=_)\'I?:C4*^7- M:-B,WYW"6(_7=L9B*_M\^)\'OP$^$, M0!2BQ)Z^DE>()AZR"67G>8+E$,A0CRI28;MIV;; QUW%3?#)USS\'4+5T@IN MJU_X.77QP[$DQ4P:P=SU%TK!<,+Q&[F3;%6U4119X3/=RF,)$\L-B19>?.>B MNR\JS@)AD="*B1=3B2R6N!/Y+%>:+5; X^>2!]!M0NYL<;!$="(0<.6([ M6R\A)VI/48APKZ)ID'@.Q@UNAT6UCI_Q[\1/TU<*F3A]Q8X'DP:3.]-D)":/ MQP!8O@X_.$A"@90-%(8^MB!/N$7S@*0H/@6X($O=O^%'>_CFY6NQSNEU=!\F M1+R*)I)'J&F_-TMNBZ@R?1!C"?]_]KZTQVTDV?:O$,+MAVZ I>:^N.<)*&\# MW]=M&[;[-N;318I,E3B62 U)55G]ZU]$)JE=(BFE)$I*8,9M5TED+B>6C(PX MP88YWS90%?#I$%"-AYARK\JGPRQ@=>B/"66AW_+Q@RG@:T9)VF6:;%DQ])0& MRHR?;"/<05 T'HLTM<76-3(K[R,,*O ^9POC8:T;@U8:4#YVY5^PG>4*M&4/ MVF@)_Z*%P%&43J+8QJ^VJ;Q0^AT$F*TD"@8J4- "_5FA^N:_P.XXK'(JW9TR;HJ"" M'(]FZEPI9=$/99PPPER*A+D*$L+RU=;5Q0N0X93_U+!5_CI*P 04[X3O&0Y_ MT>K@7B+0!:SE3SP?/G^.J14*:^UR MI4DLNTS%),#7>N8VA/LKH1).F?]0$VRLH"T?)ADMN4X6)G*K=2R^SDQD88!* M28)OKF&.O\50D2D,G#G\QJOFR]XBO+$GOD*ZOBBHL8'_3, UC!E3ZF.&+A^Z MOZV8R-YA?XB5_R8Q]W, )* ^T0D)*.BR4/FO)C<+]NH=HKU"@/B6#BBR'"Y6 MZ9\IP+PANY2S,/&8>NMU=UT0PD*-V&$I+OQ9A#Y1WL"*PWOBB*"O/Z'H-+)Q M*#\CN,O#!?YD<;IX(2G"O9 >NOP0/ILD9;$:][=,^30 \67.W.MI!FN=%2<, M6*ED#-[,6S@_C!+&I\N]2?[V%&_]P8@L';K0 T0VWYPS]X[!$C +A![@0PX( M4/Z=]+/B=]_IBNZ DTD*!BZ=!L@P61!'V5 9_ *E-4+G K!'5[L(AQ4[8<9(S*AQG-@*&7F87^_-/,69C/)O.V.&,'950R2T=D-AW:P6"6ZNL*N]N M.-"B;.-P]&9^CGNS?-QZ34;L_/YU2.D"-^7.*T]I21 -*\[L$AWQHPI;[2 ! M-/Y-%ZN+7ED,?DV*_@Q!W,+B#S+*#NQODHQ=&J4@'?&T.)4ORK+Q% 0#G ]B MSZ@7L4Q\'JQ 4[2)* TS!8BSH<,PV3* W[_'.&*@5.YJ =? MT*XW'A>KZGK/CM@D6WIAQ,Y]Q;HL#I?=)B>[UD)S1[ ;'K/LKZ6@**> N_%* MD=L5N0%?4$(H2@YVU0:'"M5@*R92Y0;\05(X=8 3 *<'Q.3\@F!Y@P#(<0@& M,5->)_"?%;OY_O'KZ[G9C+(,F>:W?O7/"4K%/,;V^/7/^=?P]0^:I9;/W+J< MRL_?D@D8*<_R?GFE@+U$J[,2\N+=S)FP;7\">KCS^7&O%\;8+<;!3#,,JQ1] MD$LZAL^@EY1,\$7P+51+830/0W&W=QX,(I/)B,5=,53)C#GL 3HIX*6'S% O M0FY#&C[A1_F--OQT&$TRC#+V_PVSP"^CZ6-!7)HR+R!((XPS$=PI@OY#.4>< M_.^@@V!^C'>D3^+OZ)505-I?EE?]]P^O/WTI_OX+,XM@8^'HO/0P=M:>QZ!X M2 I/#F5<'NSSXNA9>/\,.0"$.0!@%?$W#YK39%.YH8%5+D.VTQB5XEMV^A\H M\X^JY8Z!("&E=G$:@I6,Z !5*2U"TO-O<"T_'W5Y;L'IK?\08,CNR(N8+&QU MJ>_!D8@3993 *2S%50%=/8[R8I78UA>1VTVL+(_E-C3['HU2'BJ8W\SO(A1V ME*@PS\LQ'A6E\!/S,.V=\PE LK!FYP&,&!DLOY#)8=9D.>4DK+3Q5? M5QBFEP*Y&&&'-WU"-Q6'5LH\H&1%%KY^>O]EY3HAF.=1PTZB:\UN.U:'QN2X M"#/!D)A\\NC4A*NBF(V^Y-CBO\M>R(1]F>3!D MO@?"0]HLS0;E0B*,(7CQA M9YM@%49SIV0%V^#A)B^E$'!%PSZ"AX%RW'U:!A>*P#*[/YG'J8M+APSFBM<- M,9X.LB*V/7\,_5'<:?11=NG2Z[A>8Q/)Z)JN&Y(0Q6;EJ )3#5C ;VGK8E! M7(/CR-G-N*.>)UBZW5]13OSRAM[&6P#-)6/'##^#:)B; MG]0JQ!G1N$5FYA_8$M13LDWA0N2C0&**"/ MPFXZ5VM%'W>@F)]0?*/0S_P[R]>>,I-P>3M\ M(9F$[H4S"2^8B64'Z&_Q)EWQ?955O27=SU=!>J&7W?H"'Q ],B M?NA[@=\W7>*;7FCW0V/]AG/E=2S(P-4L"Z4P]8QCJ,B5.E1U;LU1J9[!ZHS# M?D@M%[Y$B6DY?:M/^X'KN+X6D+[AAT[3C*.O 9RK, WDTV!E<3X-<"5>S_!/ M'FO=LA]>RVZ0=P?V!DGI\P4PEF2,_MJ*>[^H3=HS $3H"GY43;5P4;/S@)SP$CQ-._X_>Z#P<65Y^ ME4D=1=H\U/+]=34=@R^FZFGN*CL"FX5Q+1^!3#=8V3])K^;H&:QJRU_*> MLN AG'9V=UN^K\4XIO'T2>D);ZG+MBESVZN;6$M$2T=>W['?3KGU[ M+3;>NHV4-TF*UX6\Y&0'\&I0VQQ1MG\]1>H[#H$K+.";9>I-#X<KPKBMWF M9(7D%]B8GT[:U$ZB?"_*/;$H-SJ@=+M'DRE(E$N4BT2Y+Q;E)NAR5^IRB?)6 MH=S1Q*+*6%XMB3^2K*("T?52V"RMTVM%/IEY8#[9 MA_@9]BE)9_ORR/R-/#+=1X(K=^!ZCF=YP: _()3HMF$9?8=8N.FK>4[E:R*: M(<5,KE1FC#5,"ZL<4#OUU-*Z,"H7EIL:*H27$(Z2%] JV* /2QE_+DB.&+=1 M5I0]L5_-Z7TFDS3Y$8T9OQ%(%-;>LZ\R9HM!E&98Q:L6?TNFN=)'.BM6IX.; MDE)8D[]9-M$S=BXZH'CUW MX--5+F<_W:3 7A:*KR#=, M GB5#$[S'+^?67E&,H47AMDO#0D6KB;]S#6[8+.O)TGJ9.EG_EF2I#8_>B5W MS8VO^&]U*98K%^_VZOT+>5'*FI/)KIV#<&$E^X^FW.C(LL.7%W,D 6/U1 MHNHCS3\-OE 8W#-MS';O^YV>;:N6+ZJO:I.TH38W796R=V^R9YU9]F#$3/9< MP[D6V;NIYE?;$?-7DGY_@%,%G(6?4IIMV.Q:%\]WT6RSKJW"%?T0?T9"H^Q( M@=$[/Y>D/3PT92DG\5,$<'K, M,KK<7W C6H1JCAV?W.P>DPY<2W M+.IU9,#,=ZX_0RK7)"T25>@38X1\(8PGG2?!9'>2 F/[7=NMG0)3/R_YAI-E MKFFP-5F5Q&7VU$]3OZK$E\]ITL>6+.F>F.;MI_]\G64Y'=_S"GQ+ &%:F@J0[$I^3%/X9%_W"@IF2I_"PT7YN9C$V M^BX26QVOGHP4^_"FV(9OBUWX)XGBWY,L:V*Q;6$66R9-GQ=;/S<"E[\.+FP> M"G\3A;(:!WM,]%(M;3-T]HO$V"U@S-4NCS&W51B[J:-[PZO3DC#N/,?WNZ!+ MWB9S^HFBL)ZPR\1&.W1%)[:[A9QQ(LCY[&Y-,T2=ZR3B;@1Q)[K,-32\:0)W MP;H.'2?O3>0U4XNNF60$ZQY.@(T\@YHI 4(C6(8N(UCW@*V:3D =;&UB"+E4 M/%$Y71(_+<1/S7/R8? QVP:?.PP\%22V2DT"VZ;I^G5JBX\YH+7-5Q);-E]W M96Y&W;@U$VX:GUFM$\7ECMJW:V:\D$(KA;84VIIY38V%UF:137O+M92462FS M4F9/QS%UL,@Z/#;L&Z)H6R\ILS7X:-;Y'J(XI#%LB,>DED_U.AJA_465(7FF MN_M]59T./WQ\OPM&'\83$J5(IE$K2J4M\.1V>G&R 25L0!3@UG,Z4<;=$UA4&O9CNQH:%XKGAB$)BF?NB MSLYB(@(:;=O";;1[1T/B*55 M:E +W>Z5^B>VS*VQ.+5F?%T'4I/33A[= 5:5O@^=V/*,NQ%7)(G^DHF=!0R6DPC.'M3]B< MNP[()(V0I!$Z\LZMHC)\3V21V9;&@7W&DJ>KGG\U#0RE[$G9:YOL+7DGRXY) M4VDT-9!&VU0-[>BB'RF-4AKO51H/:+MBZB!YGNI(,R@%[]X%KX)X1;0+:AK< M!;4LV;]>RIZ4O0N[H":ZH+IJZ(:41BF-4AK/YX):O%_S\2F6+2%ZOJZRJNUP M>3/-X-TT55+*Z]ZR832I=8,CV3$/%KL-!7$/:)= 4OO].#((BP?H47Q7@DJ : 2Y E81J?GJI[O29A)F.UR M!#91@W=5FJA[*HF9-F*F@EU;N+VS4!'YK@25!-4I[9V-,'-M45=]$F:W!;,= M]HZQ\!P=+#D?L6;[:+WE)R_UR3M(%O@0/TS2)*!9IJ0THR0-A@J)P[*B##F, M9.; 235N!?U9M;>XJ7/=3L\Z/OPA ]0WB9I:[N!>OG[+DSVB)<8.\ 5]J9=N M'3,5/1X.L&:V)E$C47,Z:V:+ZSXC,7:3&-MNS6RC;7KIV#O[.EPR)ZI0D23A MIUF9FQ'?HT_)S8+=MMGI&::NFJ;@DK)6$_Y+69:RW&I9%G259;.R-5_5/5$7 M$U*ZI71+Z3Y2N@](G;5MD&1#U2W!!:A2D*4@W[L@'QW*:RC*F"E@:JIKB&K# M*659RK*4Y2-E693+C46?FJGZ[M%=+Z5T2^F6TBU&N@]QN3V09$=UCZ_?;H$@ MUVBKA__&Y8[B*=-\AW=F6_I>L=66T76Q[='Z]'?OP[Q/WO*V,GA'U+ TTS -ZIF:99G4UP=]W?0( MU0@U/+O?:=A?;Y]A7;*F[WY,:)S1'8WV;/\J&NTM3TBA?$;*"\F4* Y&4VQY M&,5*,DV5-PEVILS@!_ W)M#H72A?<_@/;YJ8#)0/<9",][7IN]$N?9;3]>P3 MM/O2NZ;A7$OS/SE8^)UM[G[I$8/5/5MDU[=6>9?;VX9L=TOF<_*OL]7:MV%* MJ?)'PEK*OL.6LB(Z&%WI8GR-?NQ>BKM!\BWV_"DZ*S(WKF9W1=DX:7,18ZH8 M]GP5#1&JXC872J+MQ&B[ V:9-TF6XQDFI<\TGM(-[M6:$1%)VWPWM,V>O3^$ MMWRV_C18#R5LB=(Y6J?GF:*X220?NA2L]LR[D6 YH@5+[_1<3PJ6%*P[%ZR* M7E=5@M7LTLG!ACNJXUQ-GP$I=U+N3B-W%0T^!,L=TI6I]O6TF+L#RHZO= 0_ M?%*5)QK3E(P87P<)QU$<97G*KH]WABUD&6 %U;U@\;&8^-AMJA*4E:6"(>57 MD$4+AI3-(&7)AARW#*D*VE'!D'(Z/5/5?%="ZH8A5<'L)QA2+D)*U]K4GDIT M>?Q1>8W:OM3&NSJ\B5B?FY'2(Z\!&@HI9O*JINA@IH -O8ZHBY1L*=FU)?O( M>XB&DNTSR3;/4MXN)5M*]CU+]EG/:BZRX:FN(S@@*R5;2K:4[(V^J&>5;)U) MMK#>,)>7[!K%=8>6TC4JPOH:#&DX'=%DL*<%6) MLCV%6\J-5FYY=M>R_!,4 GG&B>K!O#LK!'H?H=95_@6H%9L ?U7IV:#CIFM= M'0X-C1Z:L]XV;^D+'9,HAJF@-JR;]W^V7)[[\3[OAK'A" K$30]ECMY/ Z[A M4,$U=C^1\52U3,'D2Z?D;;CM-!]00Y9LO7,U0O@1GOOMA8Z>*:]#;2Q_%A[_ M'.-H>J06W9A>AY39LOWWU4@96K9O+TECX;)1N RO32W![\.$.=*$79=P(:M$ M8_%B"62Z)VW7N<7+E;;KJL3K?3)M?C)#ZDS5,]O4>/D.C->W(4TIHZ"3)NP" M,H8RLD? 4*:"-4[:1]RL@Z7,0Q?1]-J4!'US#9WD/;N\9Q>F K8R:"8Y2G=# MT<=L.5UUS]-$HBU7[V)Y;1E[JNMY 0F-T-!MR[*I[YFF,["I9ME],^B;Y'\M MI[/TI5/?B&]5Z^??I%JTNE60K%8Q#@I6'VF1EDP2K)INB5;PM.XS /8P&:C9)*!$;B^KU-3 MS*XKW*4LOW(3T&BKWYH]LDO]6#NG O)-/@\W% MVI%5XNE7D552;L9H,2%OAE3Y96 M4B\'IF9:R:UE7QS ,'BK2_&6!G3]J6&$NG<$E M1>]&1:^B\XYXT4,^)EOU',%=M"0ATQ& *7<97@MG.64R38,AR:@"!Y*8X26- M^E/*AK[591L$G?]KRZ]E30 M\MFQR3\Z7T(ZN8=HW)1F>0K;.DWQ5_# MA.LV^1C2<3VO,MT.E&::T]>1O=D0EFDF?=5:*/C$8@&DT)]%;^K#5.9=N!45 M*I,MYV9.TX'>A&]@?8-A'$U#*AW5]B*J0K<*1I2)1Q]+TUN$*,D^W#BKFV5L94#J^=92J?8H7WHC=49/735.6%*BP-GK.<)@J,Z;\:==%9 M=9'L]9W_'<;P:? &GA_E[TF "G7V!_D1C:?CUTF:LG*8-V0"O\EG]?2KLT - M7G1ZW5T<-K!^(QS^7JCZ&^K_]R1^^D;3,2(*_[LR*ECXX%4X35] T68T7@S% MPS3$AQDCTEQ%H1*PR2N#8O;**(%%)D\II<@-J_R,I4$H5H;VV^MI-&*DLOAB MY7?X(/N%_MLO+%%.^>//]_]4_HQQ5J])_%U5/C),DI'RF&5)$'&$_EP\;?'! M\BE=!>EO&5TM#;.R+FGSK0"+E"K3#% !F)CG[Q&E7WZ4A/\F6$"!OT^FJ3*B M!#]=3!++GZ)8P2+5=)RD5%7> /QA'>.(=!5 X1]DIN@^ Z')0 A;$(?XNJWC M49643D;P;/@A?J)/XV X)NEW^/D AAH'5$D)*.;?/[S^](6O%7XNQP=\_?3^ MB\I_%B=X.Q _41PV?H PZD\E294\&N/384E8@B(@:0K+&I!LJ R0M+?;D*5W MG[UKFUKXMAT$?4 S[B.JARQ7"/R/KS+]#ZY-N823R0C\!71#<*79)U1E,IIF MRDY% K+=I^F&+EEQS)QM1N1#C"%GE)O7)(NRKY.4DO!3_#\DC7 $7^#=^EQ3 M/!@+^?0[/:VKZ]9F3.VG P>[TIG($CA86]- F73=3:_Q)V6"4=L81M15/I3[ M,B$S?$>F$)#9"<\C0>D;PWB'HQG\--2K.YG]D(F2P:0 M:>:%K4*],J0AZNAE)!0H5Y)XE\T:H!:'7\5)81-+Y3YHZ-)X^UV:M[!2SZRK M\,?B39Q NJ'[8FMF'?>E"Z:]I*D?(:4\,]O8Q30G M4;RY)_DP6FCVAVV[LK(+],>$>>ZH5E;W,HVR[\AMS[T/S'["W1S#R-A3T E@ M0\4/@PU]/>/CX,3YI04I7\K&"9N!1U!X%$'+"PL=/_$1+ENB!(#(%%SQ_(-4 MN'\Z%6[M5.%<)I1!](.&F_-J. 5=TQK,85F;O1L,:( @!J6&CAQYHELG8G=Z MQM:)H*;&M@8+.0:-7+IQR:J+AVCB'AP]S'_#!X!H!<-=PK_D3R^& ?XNHT J M7#WX&4=9OF%B&/C+$VB&;RM@R)S;'3#X6ML' $ M8$] BT3X[%V^ KI9\EHFN_^RD9I]X5,HJZO+>S2 MGPV88?QYK&N8+JK9G^A#'W30]P=&Q/:*C%[(+.O\NK(0<)!Y6%OX]37;O7EM M"*^Y,KS6*+RVDHCS&(=%=>4CJH)JL.+6-7;-:;OY^'P]#RXAR9?0X2L,;E1REW'\#5G084VS"-L?B)N\ZJ MTI_A!RD9PWA9' M^%XTG:?)UE(IHBCMQP5M899J5W>NZ^S<-Q1SQV\CD% MI:R\(6F8P7X^\3-1PRG99YB2@1NU>7#9-J6OLRRGXZ7I(#H;3LDYPY3,[5-: MO; JYO4F22<)'BN[RE]4"1,,;+%4W8!%9R*L#U3P3K\(=Z%B22.\M$ A5$J1 M+((L.Q14]ZJU=7-72K]65^HK!:=IO.1,Z2O.U.;.9LN^E+[M \O.%/>!*+/E M.UP>%*FY[T37W!_T:Y#P$#-.6*Q$*6*/ ,MX.B#EBY["TYH[67RR/&13O)_BC1X(0!+@W\N1%'>4[*=LS(7R^!,)=4/E:XXQ2G:A MR;+C]W].5?Y)0?1C[B4^9GBQ^9AQIW8ZRHMH;$:+"T<^P&(@Z"PM'L_V<4B> M*1=IC-'"LF9)'-.1LF)8\1G, *OSR:E\INRQ&1VA;BB-,KBDCW/M,)JIV(%T M0M*EH?&5*]\^Q8YI.?E.8X6K)?8^$B+TE:"XHV>[5LYCPJOIX($#YN;B5(91 M,%SL37F7RB)YZ&JB?EO,!?Z=#6:+3R5]$+;2G[YJS72$'[E55H4YDNX9K!P& MO\T]+M9A7E3%M8R0D=LPE3RY/B$LTNE- 33J., M,]HVFZ:NG6&:F _4W:32F$\31EWO_-)P;OH9YN9A&'_SKG ^MRA>J%$>\,", MG0VUVWAN9SAXZG#P]/?M&[MU!"\D3](9>BHD2HN,ASFMS>+W:UO97"+U,QQ" M#:WB;,/RD/!V:N'%+R:.OV7[.TQ&9?B*77[!?.=I9O1'5*P0NZ#BG6*;H1)TGCB05GQ/\"O;C'P;U\$MSEHX;*]Q7_6AV1$/-WRG$S'WRR(> M.'V3@,\7HT)_L_"="P^WR!<:*!\XA12S +N;V-\HA[D)OW3$TX+[7<^Q3D!A M;GJ'/77_6&WW,!;W2XSUFM;UFL9Z31BPO7KC.9IQ?ZFP;:4T9W^#[W:3T+.& MEPKOV:R\PS2:)@STE6L&1ZRU-:ONB-[N!2L:&"@UFQ=4S_JNU@ZK48K;8:$X M:[+@5[%42^&&TZ+LYE:N"&G(56MF!_#8(;89RXVLC)1$*8F7E<0[X/;#F U& M'U+Z3#$G6U@?A_LA?:B:^\T0.NAZ$Z:Z>99^\4ZDDP:^' &Q9P+AK M,&=L37_3--D&(7U.P2)A=,LP,L1H'*1\/+IE M@T1*FY'2I%G>'J28+4/*'620?*4C^.&3JCS1F*;(!PK'/!*.HSB"/6/T<[)' MY&[@BTFI,*U.[^B&N[)'9)N!(N:^T[1!0[:I"Z1$BN@@JIB @.F 1A&572*! MTD*@Z,9!X?;ZISQ7V"E/PJC-,!)S]VEZG9XKZM)&(J6%2/$%!2#]E@'EP!JZ MJNJ)V[KCOK_^A[HAYA;/8@'WIE&-RS0>E5B_5ZR+.758>J=G^DV/'1+K$NOG MP[J80 Q2XSOZ9I\TB72)]+8@73?%>.R6>4A:J\2ZQ/HYL7Y0SL,FUK&@J''R MJ<2ZQ/KYL"XFS=K"JR2O:2+8J9%>!&/*]Q5KY#!\BV16,6%\83)%?L7UX==_ MT'X>LV.?(T"-4-U\C7Y(ZD%)/2BI!UNU5)+P3!*>G7/5)/6@ ME$0IB6U8-4D]**D'3S'WFXE8Z::84B++P@^Q<@34ZQAZUA??30%A>0>E-R#ES(G8K+#;*/3T[VC MB=4E:T^;H2+F'&R;&)0]FI1"0J7-4!%D7BTXZ_F2?/"FH7)0*6%M6@K;EN2# M]P C2TSMDHTWAKXT3C<-%3&E/[;;-JC<01:)I!\\"OD'I54LV]IX.GX(D_RA M>,HVL4 6>E5S).O<32-)3&:![0-8&I?%2ZA<$53\H\G%JW6.HZ'.T3U1UQD2 M2"T$DFZ)N4!VD'1& N66@2+FBM0Q.KWC_7N)E/8BQ1>39NRPB+:HKK)MN.NK M?75>?&^UBG9+&>^=D$N<87UN1OC<@XX0#1U#"QU# 5F7PO?QPN% *=!2H(4+ MM"#_W.[T+/?HF("46"FQ4F(K3DIGL,!XH:9ZYM&]):0\2WF6\EP5^1"3S>=@ MP=_Q-SA29*7(2I&M$EDQ696.U^DYAK2R4F2ER)[ZG"M&8/U.S_./;FS3&H%E M(>=?BGE'Q_( ,8["LR>B&SK//KRIS&4?RPMH;KT^>3[/VC MG\)7M[QX^PK]>YKET6#6V?WMM6UE"(_L8!#J%J5:X%.+FCXAM*]YEJD1D[BL M'\(_5N"Q>31=%:NOP9"&TQ']-%@1,"SY29_IZ]FWV01^ARQ#W^ IKT=)\'TN M:Z[642A(X 1GED[I3C2LSO7<< !E$8.R4/)$R8=429?GJ9 @2*=DI$0Q^V46 M_5#&">/TI,CIJ2!K)=<=!76E\D)3JI ,#NRC4?*2*3^SKR93&&*8_?)J=0^K MUH,)]D+DF#*!=1F1249?E7_Y+8RRR8C,7D4QFQW[TF]C4($ SD).$9AKBH2] MD/]Z@=FNQG%;W&(5;RY^W66_6E.._'>&WG4U=^>OM:Z^\W?['JN;75OW#WKL M_M]YABD'>^G!;G$U2RB#AJ('?5(N0),%,.Q:0Q7'(GM5C('OQI-1,J-4^4IA M5"0.*#/#F/S\FL9T$.5U.!AO=76^YF#L'_HD S/X)AE/:)PQ1^2.E^1#_ QC M2M(9P\F'\81$*59"9\K_(>/);^RGG\"/2)753WY!;YLM8R8:4D?KDVO?DS?P M"3SEL87^1E/PV+F_O+XESJ>!UL6*+2:B7QD)2RBT^ZF90UJ7??*F5[Z]U=0UB]NQ0Q*6)M MF70C$;.;< $<(&+F78K8"4-$4FREV(+8-DE'/$!L+2FV4FREV H6VR9)_X<> M&NUK.C3>!\_FTLUTP'-<),GF;LLFIL[4=3H]7Q=5R]:B+#T)E054Q!"KN)C! M[8M*!Y50:254Q-3;N=B7Q-=N&"JGN :3\+/%L&RXV,_#/)J01<+OSN!W^M)% M3Q-;NB@I'NLU"B794)F0&4M7N2\RQY^%GBH^%VOX/DE7Q*&Q'+ [6]_>/'[_ M(EF06HHDH6>.>D#:&WSUA%]+2BBU4RE5'$IV8VD3,R962-VFTCFW3W@OZ*LX MDS1!G[7]7"+A)^%WV)E$F#]F S)5P]OLBW(1;%8<24Z1>2P_>>N?O(-+M(]) M_!#@63>C>3ZBLD^=N"NTXI[Y*UO8\*\(JUYSC"L838XLCNP<=*7(:N@T-KER MVP>M30CMN(6K;ZVT0W/>U'7=]AI3Y)U1"LJ9 Q,QM[-6R2SB8U>FU=JBF6UK MPFLZSS+>U TZ^..:J"Y1(O;H.LKFI(!* :T0T":DB,UK=_Q35;5*X97"*X7W M:.*'_<)[JGK9:Q;>4QPOI4*0"D&,0C@M1X5_JDI(IA0Y7FA%YOR=1^C]D-*5OHRP8)=DTI=DF9;?O)I7F^%IBNY?0'/O$E6-KC"=&KQ[\Z7V+IODUMQ[%=R[(&U/,=S3$#F^B^ M'GB&UFE(H#Y?]S\HP47'^7\&N0AF_,\M>^"NC\GM.YIO:'HPZ'O60+=):%/+ M+OBB=3&&\^)#E\<*;T*0P.7I(GRIAO_])\V3061/&[F>$+W?F YOV5 MZ:S:_&)3^8^B&"?[ZD'WF)-SB6U&[60X<[MR_B'\MK)'(;"P8%;DRIY"D/A-C/#-@ %#NB/@/4-* $!OWI. M1L^(Q&V(^TWN[LEWUUC>W6D.VN)O[-CP%$<#V(TXA]U&)XFU5."2JBK9-!BB M$!;:H% #N.^E'BAT$/QD206I:U^(*7R2=X^8).#" I"DN-KYOA@2@$Q-Z)9 M5J!(Q<1@-;>!=1IO0+1L2S+_-%B2?)B$ M,(&G&;.,41R,IB%EIC-YB3D$2#^9YKC#T_&$OZ,T= 0][ C6 I[]DDQ':#\9 M4!'*"-PY-):1 ;:,$;TGO ]*'\X>\!T>>\!!D6<"TH+#AC,#Y;(01&DP'2,* M042Z8GR\5GHVX(W .2=.C^8%ECQ@(X-O,2!663%5*I0>_*"$5NJ$S/@C\;./V'&(KCF\DTF: M_(C&:%*6H!+"_[EZ@!]E0S \(.5YX7%TE=O=K(^)$A1=FUB[I3$)V4J@"EPH MRIP&PSCZ#^[DDF ,HA1TUY)0P"X/(@R;,%E8@WBC9FJ'KNM=-F$SUQ;ZLDW8 MML8.*F,!:^?TP'>M 0DM;4T@&G5:: J MO.3B]A,C;S/!471Z$'575'-35J4TBRE MY5:EI:)Z_T!IV5 MF*,9+?3 )*GJQ3\IM^#BGY1;S^2:VM''\38+-V^$ME/!R*A@Q3W+X$L=M(+'59FRM,M(Y9\&6+;%U M%]BJ(%,[G5ETVF<6C[W'9#A#E-CLPO]4^0XUNM\3%907)W$?GLGXKV2>+QZ/+JG24#8CT=Q_/T2C[>% MQTM=QNC:55GL^TI(_8-EU_'BO#F?C,Q*E<^06:D[)(;K+!&7"G?=@EKHI<)" MBWV=*['&9DKO]"Q'];3-_L!7GV$CH53[ J$:2GO];UUX5P,)HU;"J*)[S;$P M$LZO+V'42AA57 L(,6Q6"PW;G>6@\(5^@P-"NLB<\W^%E%$KR8R4TX;A*BH; MCE75\@;W/F!4D?:_'4:;<'$Z/X"1@=%/3;A MXK5-X]QOQ) \T3B8+87:9>#PM")TXFB/\-M6>4QO)8R.CO94'].Q^XMNJ:[9 MIF.ZA))P*!T=\=FKD8Q;+A26,%K J"+_4HA&,EJHD>XS<)BD$]:81>DGA](@ MR7-7;=FJR",]5D6+N]N1Q_<6P\BK2/\4HJ*M3L\V55KA.>^ECB+OTD0?[ M-L/H#*FN!MX(6:KF'GTI)*'49BB=]O+#D)*UD*A$!76-U(H]VZHE/U_<+OZ$!R#?@9G9YOJ+IU='6MA-^- MP:^*?^!(_\\4?H\AH7LZ[*[($&3[:07>)RG\,U;H M#]Y*'>"01L^LWSB#"NZ4S'T\\;FM(M/H[7Q+>*_ )JI?W(61//JW&4(5YZ=- M"&U"!>^#K#;Q\$N8"(=)Q3GG&$TCKSWN D)^Q5FECJ;QVJ9I[HM*ZG.:C*,L M2]*9$BQ<0I(KLGF-,MF0?NP\(563V[(=0]1V-975ZAFHX;:H?E"@2CJ+3W3-8\I[A M/B#4^)ZAH2)RVJ>(! 4'V^PH?DMR,E((V[)3Q !/F'[1MJ6LWU*\V=QO1X=4 MY7IRS2&@GX7E=GJNISKN=22>2%F3LG;NQ%9QLN9U>KZE^K8A94W*VEW*6E46 M[QY9VQ0G7V3D5,J2E*6+3UI@6K(PJV4CE9]KJ;8MJNON5>0FMUDV?H](/QH= MT=VL;C"GQC.6-M.$'0N3*;9?*Y= Q!OD**]BB#M'>5^)8ZXE;'$LJ^U+5I%2<3U2\7,3L3"TVDG6*V*Q"7^CTW,VZXU_ MD:!O#S)N&/3-,%\[.?I 4W#+;*Y2*JY'*AJ:@MH)WQ6FP&J/*:@X-851-AF1 M&8Z3[I<3^C7#.GP=MD5V[O)F0?#BM-KB M"DU/63*SE3<0^QU2X3F3@C;SPNF64IZE/ OTH"MS8*H$>E-PG2-=:2FN\[L? M*:M'KDRK!55H_HPXPRNO?TRR/!K-BIWO_Z*>_]N9SK?4]]I+Y>O!9P5J,R"2CK\J_ M_%8&)J*8;3C[TF]CDCY%<;E(F)2P-BGV0O[KWUZB,!\B1+H:U_E%2*-X<_'K M+OO5VB[QWUEVU_3UG;_6NH?^SC/,@[ZY;["ZWC4-1P[VB@9KF[M?>LQ@3:/6 M8V^J?,S=:AG>TH".^S153%U5#,TP:H3Y&B1L[5F)@"+%09O6XG?Z3$>*?OW8Z8_MV5;E),K!WGF0=Y7?N! MQ>N)#C9+:JL(#Z(N?HQ#_,^[A4864?#G=WJ&KAINF]BGI;1(:=DK+15,G =* MR]X[,D<<&;"4%"DIYY*4"JK-DTB*N!(S*2E24LXE*16,HB?SP!RCA1Z8R$C' M%9S>WB3C,4V#B(R4"9G05+;].*VL5?"NGL0JW7*UF\36 EL5V>JGT^-6IV>I MOG.T&I?P:C.\*G*G3Z*ZQ-5%2&RU&%MZ1;[OZ527TS[5)>LQ+_[).[O"^;/[ MM:N0)QH',R6;=_>6O6!.J_,J2"Y.8D]E9];[P%8%4T0#;&UB".F=_:/Y:"5^ MVHR?TUS*[M=-XMJ62FRU&5OBKC W,.1J;=--QX:33YKA5./@>40IWY7#]#3W MA]5'4E<7=2O2: NO*!AROYB\U$V=:W1ZMNH[MH2DA.0J)"]PH>4*O]"2>+P1 M/)XF/:Z&@L2NJ:YJ6-95(/*^>E__P7+3>0W\/+IY\9HK^8PK>L:=906Q"X$\ MI01TX:$W ?+VL[8/59&XL=!?7^?JJ[&!LL% V:JFM^FF4T)).)0JDC2JH;3? M\W9D/L8]P,BHR,Q]P*CBKG\[C#;@XFF=GJNUZ>I50D4X5"K" MJT=J'.^6RR!\P.OKP M4'TT]ZQ.3]=5S1*5-B*AU$HH'72 J*^19 W@?<#HZ,-%#8WDM% CW5NP,$DG M24IRJO23$Y$%RK/6XJQ5D3)ZK'*6!67W :.*-$\ARAG[NKBJV:KZ#0DEX5 Z M.MMEOT:2UQ;W :.C,UVJ-9*OM5 CW5F041*4G56LS--F_OCBKGCD8;[-,#I# MYH^/])&6ZEF;O0 EE&X(2J=-<_'EA<=]P.CH*'4-C62U4",=&UX\:3U.C7/, MO98R5C(0"$&LL+*01KMU1$]]!MHOK%71')(W^;(51Q@-J$T#I47 UO M@!Q1I"X2)JV$2<5!YW!-XVKRNN,^(%1Q5JFC:8RV:9K[(HGZG";C*,N2=*;$ M24Z5E 84]@R\?)FA>%K9J<@'.D;]BKO;D;E ;89012[0,1"R)(3N 4)61=Y+ M'0MN=WJ^94J8W#),*O):ZL#$:1M,[BNX]P$V-*59KK :E.R%3&1X[P*"5)'5 M_1"JO*-Q-6064TVW36=RB2+A*#K9/8.KR7N&^X!0XWN& M9HI(U]JGB 0%!]OL*'Y+Y&Z M>Q:YFY6WBLOR/?*V*5*FR&#J563P2@LF+5BC?&5Q]@OY_!Q--4S]6NR7H*N- M-DO([Q'I1Z,C>IK5#?34>,;2?IJP8V$RQ:9KZQMZTI[&=S#**QCBSE'>5U+9 MZ0H)CG02;M\/N$U3WZ L8LDN-+BST,6QK;8OD45*Q?5(Q<\G*O58$8M-^&-! MLK]YGOQ%HKX]T+AAU)^H<.5 6W#+Y*Y2*JY'*AK:@MK%.!6VP&N1+:@X-X51 M-AF1&8Z3[A<4^\C!:B,4I DHUHPI\';8%%N[RMDCPXK1:WPO- MF5A2\I4Q\/WND/!T/D&;>>%,0"G/4IY%^F]5^1A5 KTAN(9VK",GY75^]R"% M]$T&B)V\IK%6$JR-+N-DDB:&UWC-HPN._7_RNC^X+]A M]-PKI_1Q.H9M"7K_@!^6LUAZ]K^G61X-9J*W7M>J]M[ O5]3BVS<%QHG>^*K M*(?7!2LC=[>._ W)ALJ[_TRC9T!4G&=**R:Q=[&_#:DR *E0GE$LE&2@)--4 M"7 B=&DB408BEM-T# \(E3[)X$^0RO],DQS^-F:TDLH$( 4C ]NH9!&,E:0* M_#4*X0F(T:5&R]T#5J;WCW[Z:Z\5*]H0%@O6365!NWD%V/B+*L&(9!F,@*%B MO)C'8BL5 O][)K#;\/,'V/N'##"CD#@L()4/Z5B9YJ"!_P:%II 2+60R21,2 M#+O*)WAV%#_3+!\SL)&4KJT.JBW4^5$\)4P5+Z]7,6;+X#DUDR2+\#.O4CIB MH?+?7J(P'Y9>XM(7"[VL+;Y"^J""I_GNKRSM34"Q&O]"6Z-;:PNT].<7 #U MR33G:A)D U1O^;V7*!\F4R89HQG^((/910/0G7&N_'L:/J%X=)77:?*=+KX% MJGF:,24'\Q M O;P<9(BZ]A@1 .6'P969&%3N'SSKSP4;UB7]H#D]"E)8=5#U">_TVR\8*WCRW1*7!X36/]982S- 'F XX6@A:52&CT4I"MB2@)<:@VA*PBN,DSG)&R)$/2WO%X,\8 M],R([> 3(#%C%@!<[ Q>\4)ACZ,QG)CAV5B8"K]B/TMI@!XPVW0"ZF \26)< M9P#08Q!,QU/0X+B_L*@I^W5* 8$98@P?#;O%D/HFB<')0"3 WY@3S;[VFHQ( M# C].J04-QOL60C^-2*=;VT\XX]^@)V+'W(ZQNZ^Z0P.&VMS >@74X$=IA$; MS@3FDH0*" <,(QA-0X9KW']$:13#JW&N60YCX6B[ZLUOZ//,J6J^H&1\?2&3 M:_!XMGO#T2;MSCP#=LTS+A0 @@*^3,&] 8P#JG+4&@5BYCH+7\+MY3@)Z2CC M"@25W.H;9Q$=A0HX7,_(&I*N\!UB2(("#)W_\- 5'AF9J]:#_,X75!J\. M;)#*I!&5<$A123+)(? 0=@88C)(794C#)_39<77F/\619$D0L<^CNBULROI; MN8+GB\ EY",X?^PQA6WD!@<6A[!IX&'[F;N6^\7[ZURR<*W9V>L]'QA,*-_8 MR>W#6UH4LJR0<$;P^L\P< (Z@_Z8X CXLPMU-$U3U%6%Q<%??&*_*'[03#?= MDVXH4\O?E:GEB[067*2UU/+6*@LP)QRU_+2347 ?N-^4A-. (^"9@,A/,^5I ME/3!&/"C#VSW(]H[0.)TE*M@"AGV &,)X@2\"KXN[ F#8K$XW(+9(B$?W\RM M&C]=T2!HN@1P>SL19(/DN9"EI7>NOHJK)S(8@)>G M!#3-X0'PD2AC8KOQ;D!] DJQT"=S&5G*T&#_QN^!-L!/;3PB!3\0C@?L[#28-91B$%OAK3\ M1R&G6]9YP@*$X-[":)_8/$!1K3L$22P MUZATXDM[N<>0EB@O'($:FXR"C(-;,:9,Y-A9;6EDL-\J>VN*HQG-F![@]F>[ M]$9/*H7,7\, MM!$E:0R#S8KSBY(1V)_%R%^&4<#=.[9DX8KJX?8@FS^#^Y/+#T(95B+8_U)7 MUO+G"I20C#MNXPF\KUQI;L&61G'+"F_[F63#1&\KSU->R/:X?>F[5C@7I8%F M0C5)(A8R>40WI\D@$CBLY/ DYMSGRG]/1S-^Q:.KBJ$9)N!]A*X1\T/ PC+@ M ,[AW7!.@5-#R@)*$=[3X1ML&0C.)/25^5??BO3I:.839Q]Z3?PT\%>EQ>W&!%?NVAE+^2_7@3+NQH/ MF!>)UL6;BU]WV:_6;H[Y[VRKZVCZSE]KW4-_YQGF0=_<-UA=[YJ&]AC+S)8PZPWH(I\_CUI^_S6ZC*I'AO1 "8N;PH542-?OT'A_W4M0:$4E=)> MR+7(E<8W?[Y]P1M?XF4C3R<>U^>/[M?N\I;M&AIMKHXAW)6U$Y,:G-J MW;MIFA3+:IMGYQ?]9IJJN\RX_A>:1[/)FHV)AJKOG8=+)!W4$5\K,L@D*'L MJAR#KW0TDFV'3FO_:W-#'*F4D$=(U5RW12T;))J$F[ASH[^G+IN*IW;W].,5C(@V,:MB>JGMVBSQIB2CAINQ@1&V"1N_T?,=H$5SN MX.#UC40O\-)VW#I>E;62)R^ARB5_V50NMG8FNVX%3MMLU=G@ M9+*(M":J==,-D1JW9!C7\DE!C$C74CKP:5LF]FIQS%(I2%';4Y(O%+462Z4' MPXBF) V&LZ(J8\:>P'X7*M.,E;L4G!$K!(2!49! 5,4,@M+Y]_D(''[ MCN8;FAX,^IXUT&T2VM2R7,T*?3/P'++.04+-D/1#G>B.0ZPPI%[@A)9/ M\= M4".P!I?+T&=/K%]C^[BHN%SB/U/^H 1K&EFA.I*A*?_#BTJ0U>-C$C]\05Z? M%'?P-K@\< MT[[05FR?7+7.)0&()L===Q/@134JKLF M5D[\\IV&8?L>?*%8@ASD4Z:HW@Q)RHI@YU#=4!_M 4HUJA$(E%,+-3O)Z,LG MF0\?WPOF ]869QFKZ2&K:F@U>^3N'Y7==%3&.4;EB!Z5N&UT.[TXV3B/'O"# MTA] \H8E1VV\Y*AM\37678V0BS/Z#_DPI04C2?0#'/$X'V98FP[/VBRPA+?^ M]S2F_(>&S7YJ;-.QXNJKN5_N>0$)C=#0;^9IC.PJ6;9?3/HF^1_;41D M&]S.[4J=V15?*9B]E6:UQ)\Y045R^9>.@6WUXJGS5I?=FN_&X IXQI X:#,!I>>&[ M$W$BF9)N9,X@5- U(!,%F:N'64D="3N=1V/&G5"P^ 1)EF\2%A/QIG M)4D9?)?.*79 A^"+GF*DWN!47_.O+5X\9UR<3F"XPRC+DY11^R([3QI1)+%@ M#%EP_BH'5P821BRN@)7\2V/M*G\-HQ&:;%!13^"#*XOISF%4_J,E)8A M'<%A*)W-QXCK]#0=D70T0XT:P;3GCTTI3"?F3#/ST>#3D)"3;2=C>H)'T_G& ML?,67:(56UI5G-7NE47.0N2S85R6(Q@.IU=F 9QB@IQ>ZH5R1JH8$#O'$QPZ M&;TS@#\!-9 QJI,Q_ M>0],@XLPF&3PS97&:DBD3=Z78S]+,X+C8"J\L*R(' MEG_IL\5^K9!U;I\>0*-D\2P'K*)#_X+3@/^67%I)R;(V'4\8#10/,\%,^K!O M@++B;(W\3DG,YC$M:*)@>E$:3,=(/! 4Y%DE0^NF4.'NXZC*G5X2UDH1VD+0 M\J9X7/'YVO1V"S:4RQ)?K)FMTI>:[2"W,/VK(+=XL^#96=$G"Z7'CA,D*R@P MLCLAI7#-+KB"=TX?@8/U13(R[+Q-]*^S'/TK'#'^X$>,=WC$.*[X_(!$O5T% M;UMJWMJ]DG@V4W25J6L\FM5)A:@S^3M;Q)@J<(PM5]$00H;0RO2C[0M0,LF! M?]*G8"V0DHVY,.Q205@YZ3HP[JSN>6/Z-Y/34=%*: %+<;%3?3/(N\Z9V>H7K:T9GCYY(W024M[-UNNZ6D MV-+=W#V\LFU ^1A+_F$9D/63:E86/),% R?--J)AFGLRD-LDYO&PX5 MY>DG@H.)%:.>U;!8O46E$=>@\K[2/!]QHN<:6N^&DJL;-34]2!]^)C.VKHV! M;R'P'6,S7[]^SU.9JM]B-!VD3@]&DXU6U7&/Z: K"Z0/#/L470CV!WP.[DM\ M6R=1<$ 107I]5O-0_"SE6\9_N'FIQ7X286(&?,AC8BT@J=%K M?U*CKAV>U5[)\VY1R1/3?'_FH]!RL\K!-TR^V;FF6U;R.M)M*@JO ML)48RT!C#0'+$L1Y[QF9>B-3;X2GWEQI)X@#$D9N=2G>TH".^S153/T>4C^V M^YV_@TX\$;/[51\[)*M]61U5?;;?[FS\,TVRQD% &RG+7%4WCV;^E6TDI,"U M9=+-!*XZFTJDP.E7)7 W%97?Q;\9C7A[2SCD],M_1&.L.#GB_O,^B!!M^ZS" M8W1ZEJ5:=IOH$B6[IG!0533V$0PJDX'*-]L$JCLX"?U!@B'\,)VM1I>4^\HV M:288U0D"(@7#ZO0,SU(]RT%J'J#OS<-\EX,LUI MNJ1J635],LA?2$JED[M;0"K8O@4+B /^B*.Z;L-T9^GD7A6HG I:7L&@<@%4 MMNKI1_=$D4YN$TB\GZ8 @I+W<@";A=0?TL?=(Q?5*=4BY<+K]%S5 M;BLQ59W )1)3/F+*MJ1_>]Z;54HR.DQ&X4KL]C!5>R:NEM M:C(J_5KAH#KK=1IX"SW/46WM:&4K_=I&U8'3_D.>Y&1TE"M[Q#W[50O)>?4N M7IIYOJH)ZX=Y%3D>$H&1$XA#OV5Q/U85U")*I#T>[S%GV2GD,@NEXRJE. M0SI)*;+2(G08D^DX@>'^S7]P7[YTH]+="I6^M,9OEY88_CZB^!>0KL>EE=XI M>8V%#DO&+5_5C6/*?*7#W6+D52CQBR'/!N29MNKJF^K^(LB[ Z_\(\U5Y$'> M7;MS&G?]]CVE'>H=16*WFP3;\>Y',)J&-$/.:-;0!5[T 87L*:4'N%!.IZ>; MONH[HF*+UT+*)V%ZC"TX-TQ=@*EEJ*9_-3"] V=_>6\?HOBAH/R_+Y]>H$N_ M758..QI[G9YCJ8Y^=**=]-3;BZ<*1UTDGGP,M:B6??2UMO2_FZ#A&T;$#[1M M!Q!XW$\UVM&+@W;R.ZE$IT%*@3W@' M)2K=[<("?2SS5",JH?H$4IB4T'H"*;T>@92]T6DL3X+OF&9% MTPS!F,_P>?O8HUQCG3W*HKY-#:_OZ+YG^;[I!XY+ [=O$%\?>-18YTA:?B<; MM?N;PM_-HIOLUP^O"6_.-L9F?6ROST@I53VCM=;??N 9IAOV75.WO(%'K'YH M:9[C]2W+"GVKL]2E_ 3X8$_D$?_!?S3*D[(K^QVR=%\M)?)8$E:YPU$N\K;19_D+=V1UQLAL_:8 MBST)=S<5SX8$SM2;&^(TVY 0[/ 7F@-@0C[2SXS&]VOQ]#J[LNA1[8*L.ZZC M@O1O=IWF ]Y83&R"V1!S8J;(6G$WQAU6_#G="N2Q+I\ I1$3/-Y^%7NS(A & M@!Z0RV<2C1@[',Y_60B+OJ%1-I?2HM/V(,+1\';9 IMCMU"[_4%F"NHT+A U M-%NLH .&^P +)%"YN1=2;DZGY^YJG5-#N:D*##CAG9@1?),47I3.%!CG),GH M^70?]G1F8K^\$^7^O,!$L!DO["AVZ%W:=*M*:Z[UE&=*,XP.4);>R93E(/I! MPX>_:9ILTY-NIQ7GG68AEV8\OL&Z)ZM0)TNU.\ >HOI0); MH'OQF4-Q[N$9KKN90Z^4(.=J$T5\15\6_;P7JY6M]2D6>U(JOE>H*?7E3F-H_AA;0W7I[]['_:<5^J=/]IG MZ$"'3A(XM,SFS=E73%;&57RZJG\CUE(=/I ^T:(K.FMVSO0T=OM^!O4\ 1__ M&=T;_.RR:211^!#%"IQ'\;P$:C?@#RE\,ZZIF7X#=0/J>7DTK"GUF(04&U>C MPA]%K ,$,S-?IB,DU"K"VHT?J&-;G@&_4*S' [QO.Q] M['6/+^!3P6Y$S[L[JKO70?&\M)ZEEQ+ERL\87C&TW[Y\_9/]3?_M%X44\UWR M8R@/OD0Q*EI0XRS53'E!:,X[L-\J[[-C=3W3%D^E;'O6\;[C(.MQWU] MI[S/J]KI_LB>_V+_ .7R"(,"5T?Y)_;&4-Z"S5;>DRA56"CA=MF?MZ\*J-4, MVS\M4V$K&S38,M^QR8'4U:H.I%O-^R,V:WEB1>*O9XN/%-W4F*'G5PP?6%H. M*R;_! Y:^@U\LD\3?$3V,8F?*?9 )<#=K-IZ,_#"W;5,%Q5\TY>$W6=E^BW MWFWICKML?Z8I$[L*@38N(,ZE\2IL%S-=:+G0)&QM4H]/354W' M5&J_1:FO,I7Z9+9"OY"M6 7J008#VYAK7;]-.?]"^YM?BTW@-O^^*/EV5QBW MSR;\#]N?@VV"A1?#JFYMTJG*KNEMA>=UV8)5@!YD"[!8'A2FJ*8P\GQPH"T MW3*@T=V=$*[)'+POM^A@BX!5](:A>EN";I(3I:T0O2Z34( 4R9X/L@N(E7S0\R=$Y[=/T][WI*7N7<# M2F%\]_7SY[DLKN5L-H3KU21M>GK7T/P39%>:GB4^N]*!:;HBLRNOX.RUW:.X MHXS)KV""_N FZ!V:H":YD;>XSX?'OX[C[6L?,G:&(VXJ)+.CT02OLL'BRCU! M>

I9PC5FG]/,#VZK-6L^=3EKCDGE?[_0,75,U6W#HI?7)=FV6U'G&/RDR M_N%T5E0R+]4Q1\'N3K-'Z/ZC[SO:MIKU,X:WS? ZU<[> )IUF@!:$29[]X.F M093AR60M4%;\AGY&Z&Y31@8H([/K&_*JIB7:!HZ; =;6W;1\:5S9MO.":ZFYQ.0#AT[E/3]!G,TPXK.!HE ?O;I\$7&B1/,3*1<-?\39+EV9; MJ'45@=&ON^AT,*HY#])',5/Y;Y(XA ^P;8B9AT_X;0O\A[>*!=W_(8;GT*6( MJ/)SA-8AF<(XP^R76RUJMYRN7K.@NU$D4^^:AG,M1>URL"<"%0%BYB/MS5EK./D[6\28*H8]7\7= MG P2;1)MIT7;'01PWC#FM8&2TF<:3^D&5\YI[V+:MAJ2(**:A=.S*SJ=\G,N M#7Z)SC*:5E1FJC2A4Z@A\^ MJ,BV'(Z/4\U/5&7 6?P M':_(1?R68 ?!74U@F_KE)V:7:]OB-:Z(%+@^-Z-5+I%"XVENI^>KAG:TO1*^ ML1<.E4@)EQ(N6L(%)>DTE'"OTW-4TSZ:*%!*N)1P*>$58>6+2+B/?>=5RY=& M7(JX%/$3B_@E$@$]'>^[3=4[GNZW-2+>A"Q8&!QJ%J^OK6G;R(G_C-,Y5\ * M<8'". .$T!\7J*/'P=;C MFQ57)GU5994K6JNP@W?,*5OP"[&50&YY5FU:<, PQ<)98-B/09?\BX)2N;=" MU"7F?4X'-EUAWI?5 K):8*N/;K@5P?1:Y$SK;@[>$&VZ0OF_:+Z@;EH\B7]I MO>='8\??Z/0<376//]M?60E0DV<<2CW05HQO=]8-USD;C+GM>9^D2P9)7\$N MS#!X%4[3&=BE!5K-3L_H&M[&2>XHNW5]-2K+S5;26C9,9N8N8%X18;D>W8WM MC577:U.G0-&)Y,?);5N!NDL!>ZU7P)A_UG4-L0KX^@X.\V8[7.4N2,Y'9".7 M1^:U[6#R;I7JW=2N#O@:UBVGAQ\GDFU%XB[=>CZP':I;W4Y/6^K[>Z_.+<^4 MK!<5M[+BC9>%77(UW-JP'PM3_6.+T]IS56O/'0<;A@WKFA;9Q9] M%O.I<>38?]F/_\:I1_&4#;&Z5W"Y3<5B6D;7Q9O.29*QL;]B_3BC9[JXX/QI M]0ZZ$ EM\172!_1/\]U?V;A2NM"MM>ZN+L?RGSAW:$_TH9]2\OV!#&"&K\CHAUA5]?L]V;=_J,BKWY$X!\JNB&@IU6=>,WI:$ DC0&U9*5G4$V,Q^0;Z6 M,D@@RHX=:,; Z_>)[X66:P?$)_J P'_[ODTTPU[/E/A(\[+? 3;/8>_9*6"K MB[EMO==$BZ.C^B'$=^2+?L&D12_9@#:I9 MC@:ZPG$0C> MK&,U;XPXS7B'"[ RP115$7R^CTNAQ+"]T6)[>6\DQF?$5VC[ M!^ZDW87?==UZ'78;Y6=H7=Q.R]%MKM8)@Z1[2Z: M+9AL0"#;74BT7=DB'M'NHG08X9A ]R^8_.3J)^7"RH6]KD_>0=Y V?SUH6Q= MO'Z43\:3:<5!_IC\@N/NM=H:V=Z\O^'+VI !8ZTS[\?IN$_33P,68LH^3?,L M)S$N$ LW-;UV,8Q.SW55W1;%"M::6Q6!M$[W#<\*^H;3PM-D\/1\5\)3PG,K M/"NX!TX+3XMKS^OIE"#A>69X5F1UGQ:>-L#34S7W:-YEVPU"9)#F- M\XB,1C-^]Q4]@\]-@VD:Y=%FX\D[K9(XR%O^$ MFDFW&/PN4#JW M-.$MQ8(BB_/D**]VE'=P5/PZOX90XH2= 4?3$ Z$A!7YS)279#H*E2$<))4^ MI;%"XCPJ[S $'!!WU^O>O 6IZH2SM-"+37KW@^_/^S09OV&G>%;KMEF-]CB& M1<^WF0ZKT[,\P4?#>MMX?<[-'<.SJHW+J>!I=WJBO1J)SIM#9U4+DE.AT^GT M3$O"4\+SJ-.A('@NGQD'T0\:/OQ-TV0;;%WL]L!H *X)NH?R:92CWT5CL8MI MHR:=A-OIU2Q'%PK41K0/YH&T#W@O&.7LKN\Q#M^PE7VB<0#P?!MEP2C)IMNX M($QOG0N"^E8_&+B6WW<]BSJ#?G_@>S8L:E]W-=,(UUD0EE[,. )67EU)"E&Y M"[7Y(BK'?;%=9T^LWS[E=THRFC5?J=/A=3O3Q%=*%<1LT9K$4I5RS.=>Q^WC M6UW'2ZQ05PS8]R@"\!"1*R:@2.]C M'.,KO]!)DN8*J+;WX"DHNO;P_]!G8.PMR&ZE4*SV5][2@&)XFC_?Y"\PNLH] MP>YW^@0+]@?)8?W;#2X=24C>L\V')RIYPOZK*B]40?J<;-K_-PUR_/F(S6F2 M)N"RH2]6X&Y$HG'1N(DJX,9%,4D!;H ;@!) K3_-X'U9QMM#)=,9;;X'I>' N"'_8'E.K9O68,!>&6Z MK@6&&WCK;F1IK<62B%6/8G74CN512W>I8?5#2W,LWR7PC6#@Z_[ UZS!Y9S( MO2;K+PHZ PG$4PJB D*+(@L#";!+'!SWP$3%#P'V>Q@QGJVDW,_B:^0II3Q/ MD)D9M' T96*'XAS%X12;1, _V3-5-&TO=#3BC>5 82AHKG#142:9^4SA)SB( M(27A?Z8D1>VL%*TG46G\#@?H=)RD\+ WL(+PE#@B7/VP(16F-:5C4$R,R0P^ MSF2^@J?9KX/@;_"P3X/28ZDFD;2PO^4Z-E$_[A^,IYUD,'JGYVP,!C\"FA_W M*\-DP&(5BVLAV'&N)E&G_\C!?5"FD\H);(0_M@W_"XWI"QGA+&J,W>CT#&W[ MX+L*P)B,LH1O_1I&"Z1-\V2<]!F5'3-="X!P)->$B5=+T37>&7,;3/ C;&YA M%"Y?U3'#6 A,RA=QODV%.[@\)R:82U1]B]^/HM)B\[N_C:<1I -4IFSW<;G0 MV"]L)WQP,*(_HO(9@(W")<'!@D;)X#-]=&RYFX"_?8E ^ND/5!(935=!/L*7]:S6;;O&)HB3VMAX;&'9#*>KV[B6TO&E?/E\CVO0R%I6 MIV=OQ^U.1[]TA3:FCVX_!@(5IB*7IK<9I8Q9_LE>,FFKT>S?%N_^ J_^#/M' ME\+E#\9BOG:G9RVU2II''7\2>+QHR.#)IH/4P#L8.BUG@Z'S$L88$8]YVDG, M#"I @X.\()L'."";YE)+UE7>S/GRGI<2T_>[GFT>Q(CI=/U3="S5NV9-*L1F MO[/-P]@@Y6 O-EA',F)*1DS)B"DY"EN[B)(14Z*M'6B[@]37WY?]Z5=U,'14 M]KR(#F@G[Q\L!WF200HBNF%9-"[O0])BP?JT%A<^L#_:[7916)[:MQ MI7<<&TT+H"RWTS-4W3BZ87S[&"VD6-RF6%0DU(L1"X^)A7>#%$)2+&Y3+"HR M^<6(A=_I6:KF'EWU),5"BL5YQ**B@D"(6-@:BH6EM\VW.N=GFZ**H&]TB*MVX9)A;-=#R;( M B-1VRRS?VL<;QM%-S22(V@NB"B?L>!!Y""+=M%L$HF.#8;6#Q759/8[C_&R;3U@_ MU"Q^?6Y&+BLK3/=\9$O7PM$KA5@*\9G]^(.%V-%0B'UAL78IQ%*( MI1 ?=LPZ7(CU3L]6;?_H[E%2B*402R$^ZIA[N! ;*,2.??3QMC5"O,H.N4[X M(IZQIQ;%5;'OEL$O1$JZH5X6/IBL9#:XBND#VLVS7=_91>] MI3!TUZQ4U[TUGJ2E/X?SC@\3\D0?^BDEWQ_( ;[BHQ>R"SK_+HRIW$4/ZRM MX?KT=^_#'@:?&HP\1Q,:_5X2:/Q!T@&'#,#8*!,W [;=^[]U,8*E5@ MV:/Q=*Q,>,N_K.#[01Z-_9P_V08/P2X:BS5^@BWB=5ZF @!45^.@:DI5X-E= MR_)/4/GNG8@ P?!$5KZWRA797MOX/D(#J/R+DE1L#>U557ARGF@A99V'EKVV MS4?EK#U,MPV4NJ7#)SH7W+G;?T]>O5GEU>_Q)HHVO-DR6C*>JG%-+\V.WB%4BI02'>(9V,Q-+!/.,CAT:&31MLE#5Z% MP0NF:8H"6C0:DW;O#'9OATB]X5O16+),C$F"G9,&[F(GNU$2/W'2LO4.@&4/ ML8B>Q, =E91\C,EKVYZ(3;6ONS*M5EFGUU@?DS@X4&E9G9[AJ)9]EA*:9[]2O;]MKQ[(>UPS:;J:,N_9ZBUG;(7V+&K[MZH'E6(.^;_JN1US7LZENA]IZBGGQ2M&= M<:N'L39LRQY0)Z"N[;J6%NA]XCK]0:A[=FA:?5_?6>%PKLZXV_?\6PI?+A3+ M!-:-LF:8O TM=N >+C>C!.W!U$,,'UOJ^CY/>;]$GK_R*=[,R6=-PXMC=+>U/<6Z+J5B\X_*1 MT[%./AT?SE[=S32KM=G89>_F"-BWF3X7FH+,$OU,,' M?')6='<&?R7"UL/A-"U^CX^**>NI"[^&E3T8X[*,"J@"]8L88E9A4P>/R4P)HP'H?&4 +AC#X>(;4?R<1 '^ M _8Y*%RRK*L\!BP^C^HIH-$S@TK$_H7N=L@;5M/BZ_AO%L!760P8'DLXE%X8 M.E@7;M#Y40Z'Z2RC^/@MSV6J/RSU(, K2EA7[<)F*$])$F:(OAN'4%HRD+(,AKT\/?8XYB\\TQ+I\&-> M*)@/%S93Z8,P[7_OTEM!6%FG^7S(EI\I ;"1Q8QA&-CI&I:/MP%_LS*^_3VS MW\)RHJ+DOS'YKPQN_44Z/-L\^$<]R\"J *4//!K [FA5*.471Q' L>F)\UV%,(9*SAO@W=GAEZO91'0(%K7AHS9YX2\/'Y@PH_ K7F)ES>EDY_.4B$U.CU#[VJ753V'#]_L]$RMMO+I*F^G*3/Q@)LL^J&,64&/PH]Y MVP_*2P:YT3+H1RS#W&DO7]UX72RVK9L^^^K)F0L .YN^D+G"8)Y'L!O^VX%^ M$]IUE[N;@;H!CR;IYP15Y7QU+AO<^8LJ3S0&!PM/)(7Y [T,9Q]4>>,HR]C1 MB+EP$0]B;].(7RE (GY2RX=Q%1]B D.6IXR_I'RZ.E?V8]2S?W/7KM"UH.WS MV00#R# ?DG3V2KDD*K^@?45A60J8.^JIA_3_V7OW MYK:17&_XJ[!\9L^;J:(UO)-*]G55)IF9S9[-9DZ2K:WGKZC./^P>M_X[[JP]I;L$+<(]1V0>3MD'X>HBK?@D[+C-L[(0-U%J-=O#FI MQ[Z+5L(X8ZG".,Z189P*,I]K6_-]E >PG2^S+45_/&]3CS##TQW/-OVIJ5E. M./&#B:$%IA9:KJY/=6\E9Q*:-DP]H?.7"K?0-9.D58LG0WKS[]/XC_U%_ M\R.NB.@1><4["TJ^F'Z:3J. 91B80%__7<3N\\:;P6(M8V%PX+M77\HK MCV7EFJQNA0\$U:87M[FPYF]X45'BQ3X)_9A\Z?<3,(7_75=UXMN_G:9M+E#W MI'G[X9^_;@K)/[FW^M-42 EZMVKX/K!E@?,!VK/W:1;F+%F9LMI:@D!I%/?I M8TLV6[U9R6O)X"ZGG)-FBZ:FZFV-ZFUC^:NW/2N8&X)LZJ9EF5-'TUW3"L?! M6-,\S_;!K)M:OCMU.X\R;V<%NCE!/G_/T@E3WOD@"#6@ZXB*\F69%VR^^OOH MT!4KF+&PC-FGZ>;:U5@V?EY6%Q^O8N-' 7TM\+2Q8SOC\42S_$DP\<>>!WPR M[-"R0X-MKF(B%(2.<+[]%E);SN=^!H026XK'"A!LVL="KKP*L295. M6?6VXN_92?:H>)VNC< 8:;W,W'BDF\<5KWOZFN.Z-%8:*XV5QOH28[6,-BMC M[DP2L.SUH><'1S>?/I\I=WE)7E-$$:6P8!L:LO"T4I-[)]CKS[]D[R.P+)4CB-OK/P M^C\L2[<)H(D9:?Q<&4D@2> 0)5 "8]0"8]2VU;'><@MR$D))\$A"^.PRZ'4O MAC:(H>.JKM9R!2020TD026+XK!B.NQ=#Y^K&=%1]W(^RI"2%)(5M2R&>8.YP M3^C2GI D<- 2*(%GU,,>6Z8ZUDYNQ$G5N=L!T&]9FN=8Q6@:%'"4'/Z-_C$336-*PUHNJ&3*VW M"$%[(.B@=E/DG%)TW,G *_D MN#?A1U[\/.O4/@5!V&+$4RWC<3$T0M %(>@9?^PI",*HHZ<:[LE!1T*0S);0 M8V?B"UA"-EI"IO'85T&6D*PH:M$?=@IRL&F"I9K.R=$>:IAUN#-+5/4XRI>U M9 VL:6X,J&T#90>\8Y#(>!>*=_SZ'42Q54AJR- P(M>;@" MQ/:EQ/;DI47G?>NW-#,BH26,MK6T>">C5.F]-8#0TW6J :2;9 "=46Q/WK7H%E]:VLH?[;O05IZK>@S5G0X'X.FE=(YV MH-([Z!WTCGZ\@\J(;BLB%7T_NHCH0=4K+Z/VT:$E0=NI_'DIM*,"GU04[Z7U M&17%HZ)X'5"0"GR2+B-=)@/52)=1@4\J\$G9LR^2OZYWG3\[UO%$JF6HCJGW M(G^6DMA)#%L70Z-[,72N;CQ-=4TJ\$E2.% I-#LLYC+6J9@+2>"P)5 "8]2[ MNC$-4S6=DZL.D!"2$,HRZ<.60:M[,1RC&+JJ,Z8](8GA0,6P\W+78T.[NG%A M,1RWE6I$4DA2V/FD#Y/"ERXP^.2>T-!I3T@2.&@)?.FF*WNL@KSUD:YJ7C^, M42KP2<5 ]@SOG5 .Q#"O;CQ;=A16:;^LE6%?W3BJ83WVVE)9*UE1U&)DX!3D.%:H]E4D,#.*M/-3[WKARCGUJ'Q-1AJ;6I#@G5 MRGE!E!HGHQ1+7.FCMCIK$DK/7N+*/+W$E4DEKLXIMJ@:-:?]1YD4T7;8] M15U[;HX&SO'3@F4P@^16R5A>Q@4_B'47A4PID2EIF"GS4 MOV5S@ VZ)!6?G\;COZ93?@.\DS^4!*+,2?UJO"R^ER;Y2'D'K/:C!' [7Z0) M/)_7+T@?CW5)I'F7+GQR7< M'"(5YIRA(?R.KP[^+*,\XHQ7E7P&[+R>^#D+'S!-K=$"*TQ0E!F.*X![;V&@ M][,HF'$8)&F!X QA, K#+U83F+$&T%0EQ:DKU90K* &V GA7D:H<9AD#:G&) M5G)VRP<\:@T/A;H'_V;UN>/PT-W=(#QS>LP'#&EN]/3&,RA>\Q4/$+ M5BW?'>&SDOA,3$Y!,-XBFII:9K+Y\HK>$LQ2TL839C_ M^+JF?O7,@X)',+G87^3L=?W#FS#*%[&_?!TE?(C\H3?"85]73;47CY8B#@!Q M^7J\HA?VE@@Q35+&[FZL?.R-M)W7GOJM>[(T[VC MWOKT-<=U::PTUD&/U1OINKG76T^N&/NH:-O66LY;<@PD+]TVRQA[N8+.^J,2 MV(^3,GI'L[9J.C9XMX1AP23 M!%,>P;RHAZ7V+J$^&]@1FMC/9]1N8K>4=!_ZLXVK&T/U7*K$?,E TU\Z5O;T MHF]>L,N?4+9&6??]B&V+U-D @-9]-,:VKVX\U?*HF]-% ^VE QI/KYL.K9N# M0%GW#<1M5SYU-JS0\G.YD^13TE\Z&O.T,O;(/PY%$"*]%N:]=+XDCBV&MQ[#[!P7%@<;1M=:P[)(TDC8.6 M1MV48&/K@CPZKNIJ'LDCR>/ Y;'[$XV.UY:CB<21Q+'7XMA]9-X97]T8FJF. MM;8JI;VX- Z@BCB\"T:*[?3JIF<9"]+;A/?":ZNXN GT#],2>Y])7,F91DFC M[/,HAY4?^7N6AF50Y HL5DD^95F&O3X+Q5<6:904V%RS@,]1V?&!5!DSNM]N MN!K&J@QU+-51<"K/1X+SI.!TGQ#FZCRHI%DR5>5)NNB_8YQH8_S%5 MS: %AP2G-X+3?B\7''4=U-9T$AP2G+X+3_8D#U[JZ,6'!\4AN2&YZ(S?= M!S]<+$ ^'JNN)U-UE6%EB:\\AGX"Y&79712PA^[#%$:[U6M(^2-K8>H^\])U ML%"1J9]\R(82E60&VDLD'SS&DGMU8[N4PGO12.K^V+SK\=IJXY/-9@*:Q$"3 MX BJ.P9#4]5./V-#0),9:-T'.SWMZL94=3+"+AMHW0<'/0P.JOKI(0Y*%I<@ M67P 7K0]YWXQ2D*&-''/.%N:>)]YGGFN['"20I)"&:6P^Q"M M9YTM*9R$D(101B&4(1?;[E/IQL;5S5AU6SLU1V)#8O/B8M/]<=.QR=T"AE3;FV%EVB@=;]>:(QUIX8J[9^ M\LI/2),9:=WG/8Y=4&FVJGN487O12.L^R#GV5>-X\S &#MD&I>:HKU:9@6('G M=[,H.6[O/ P_D]UYD 8&[6#Q!=6FP/-E0ZWS* T,VKVZ<=3QF)SG%XVTSJ,T M,&BL(6ZJ]NEN&H*:S%#K/$X#@Q[S.GZV2U"[:*A)$.;0-3R!KMM4L/ZBD29! ME$/'0N)CU34OM9*X_'OG7\HL71S776L@/B8)8C0ZQFA42Y?)Q43>S-:1)D&( M1C>O;CS5NL0FO(2T-=(DB-#H&*'15*^UFL@$-1FAYD@0HM%M;(SD&18A[9*1 M)D&40W?PW+;A4-CYHI$F09!#=]%0TTYO7TE1YR,A\W=_0=G.3TF)! $:'8L% MJF.-0H$7C30)XC,ZQF=4S90ICX:0UCK2) C/&-K5C:N.*3?PLI$F07C&T/$@ MC4M'MBX;:1($. P#[33#.'DW0TB3&6D2!#@,$P\WC$]/#*"(\Y&0^>C'_C*/ M*-GY"4&1(#YC6+CXZRZY,B\9:>Y+A&>V@,G&,A,G[XT)2C)#28+XB^&@TG)( M:5TVTB2(OQ@NSV=JX90L04UFJ+U$$&,+FKRK&X^0=-%(DB!(88RYTC(LF4[" M#"MJ_ 6&["_2[+@CU\/P$[D21%E,#0M(N*>7*B&/I,Q(DR#*8O)27[HF4PX, M(:UUI$D093%Y&HEGG%SIBY F,](DB+*8YM6-W4:/5D*:S$B3($QA\D)?X],] M?H0TB9'F29!%8MIX[DJ7JM;'L"+'GUE>*.E4*69,N4^S.*00\FZ)D2 :8V+- MK\OLG$M(6R--@FB,Z?($^4OL-4M(6R--@HP2DW=FT4]O-D5(DQEI$@1KS#'W M"U* ^;*1)D&LP^*Q#H?*LE\VTB2(=5@ZVFFN*U,AHS;CS_I8[AWTU[3PXT,= M%9,T"UEV+<;]VH2IAFDYB9E2#[>ZH4@7KY$0>1I'X>KBLU(E&XWV;^K>/GTN M1MOHA@11",N =4VW55-K*^+5'JL[]BV3S)/,MR_S$L2#+)/7279T$GD2>1+Y M%Q9Y&3:O& "V;77<6IHZ23Q)/$G\KD7>E" 4;]EXCMU5W=:"\23S)/,D\SME M7H+#!)9S=6,ZJCX^.<9+(D\B3R+_M,C+$"O ,QT:5F]LZVQG]Q+/8PT_%3Y\ M]*:>U#]+H%@4P.]A="?^BKR(DM+G<_TK_+F>6L5/RQ!G]19I'N$]KS,6P\UW M[,U]%!:SFM^-!ZLY:^M'_ E,KRQV/]*86< &UG;J-6UYV!KX)@,;<5G0:#& MO[.L'LW"OV77DXSYWZ[]*0SVM1_?^\O\ZJ<'G+R9Y\]=)!H]N M^3#_9X-''+.1J9N694X=37=-*QP'8TWS/-MW)M.IY;M3]VK'<_;$]FW+\Z>A MH5MZX/B&%1C.V/+]B6E,ICH\QQ&SYB5'*= _]AUW_\":,\D7L+U]'":\ M:*A\:!HD#7(0@QQ6>O>O.)-LJ?RW/U^\4?Z1WD;!*?D %Q:LVC;#BPDW MF9X$Y9$L[^I&]TS5-BXPC9@DYU(EYZ43+:;1=Q9>_X=EZ5:A&5^!<'B&;KPA MH2&AZ8O02)"I8&NTW)#D2#"U@R1G+,'Q7QNSB$U'M369NA^3Y)#D/"DY+WV( M]FE#S3;(4".AD6!JAPF-!,7%;%/&Y698;1/>?W[[D3HF[!83"2JCV1;V>%-- M^^3F(E2*5V:HO71IM&?,&+LU,X9@)C/,)$@MMQW2:$. F@3)3K9[=>/JJN&= MW".5H"8SU%XZS/G,XNG1XCD(F$E0?,T>2ZC1!G:@)O;S&?5(V"TF$D0!'>WJ MQE-=BVKO7C#2X V=KON.?L&^?X+9&F82U&EQ#%)H T":!'$9Q[RZTC+%P)CJF[ MQM6-81FJ8[:5S2%-GX 3DZ1('@RU.$IP>@,TPHUI M@"GMG)SS0.)(XMAO<;0D"$&X-@JDJSIC,E=)((H+/DPRH]9 MN@PN.4^4'QMK;7G(>[2I(,F19VJ'28X$"6(NEB 8J[94Z10D."0X3PJ.!& T@Z=CN,96;=,ER2')Z8OD2%!LT3.N;AQ/M<8D M."0XO1$<"4X(>"8L.6-+U6+*&E)9J1)4"#3PV(?JF%0PN]%(TV"3$S/ =-:'=LG M'Y$@I$F,-$."1$S/O;HQ5)T*YE\VTB2(BGK>U8VE>F-:/2\::1)$$3V,(JJ: M=;)?BG++*;><#B-?4DD"20TN26CRW*+2=Y)'F4([=\;%-NN7RYY;^Q]#;S%S,F-X$B0PC<6/:PL3:9$)!(<$IPG!4>& M0,SXZL;255NW27!(ZK9HNK3@D.+T1G.Z3#W5-O[JQ'=7S MQA()SK!RQK_ZT;V?4#KX;CGI/G52U[ JB:4:IQ?"HCPCB:%F=I\[J6LF5AYP MJ/+ 92.M^X.XNF:!4ANKGD4)X1<-M>Z3)W7-OKKQ7-4]O00K04UFJ'4?[]0U MI_(%G+RE(:C)#+7N(X2ZY@+4-%/53M\^2YH4+O_V^=TL2ORC=L_[^L]Z+B?= M!P1US;NZ,2UU/+[ 2#I!;0VU[D-HNC;FJ[]SB2$T@MH::A($G73MZL;65$>[ MP$K%!+4UU"0(T^BZ2 AS9 K3$-1:AYH$D0[=@ 744EV'%M!+AIHE0:1#-Z]N M/$_5J6!Y9YCYDI;%3/F?-&/'[:&'X6NR) C6Z-;5C>6HFB%3_4%R:[8.-0F" M-;J-U7L=G<*"%XTT"6(UN@-*S5,=DPX[7#34)(C5Z.[5C6VHQEBF4 U!K76H M21#NT#';F80TF9$F09C#L/!(K6IX;96^):A)"34)PAP&-EYU5,N32:NU&7YV M1H;DF^>_^PM*?7Y*3"2(T1B83Z.K&L5H+AMJ$L1H#!=;+'HN!9XO&FD2A&@, M#Y2:IXXUB@9>--0DB-$88[Y^VJ=[! EJ,D--@C"'J?'U4R=+[:*1)D&8P\0P MQU@U=9G6SV$%GC_ZL;_,(\I]?D)2)(C2F ;W,K6P_)-#4V*H.1)$:4P3H*9: MEDS^3$):ZTB3($IC8I3&5<<6I3Y?--0DB-*8]M6-Z:K.)99V)JBMH?82D8XM M:')@ATQ9])<-)0DB&:8+6LL#6^SD>L&2QI;EWQ]_@2'[BS0[[FSV,%Q)C@2A M&-.[NK'4,3DM+QMI$D1BS#'F91G6R95-"&DR(TV"0(RE7=UXJNY0MX"+1IH$ M@1A+Y_4.K=/K'1+49(::!)$,"_--5%NJ6L>$M+:1YDH0R+!,?CI+.[V!*$67 MC\3,9Y872CI5BAE3[M,L#BG,O%MD)(C(6!;N;4R#7)L7C30) C*6C;GTAD?Q MF(M&F@29)Y:#NVCG])Y[A#29D29!N,9R<6NC:91)?]%(DR#:87F(-,LF.^VB MD29!M,,:8US-Q\TH=(H00N=-NXNC$-[++55MB)I)"DL/-)'R2%,A2U MMDV40U=UQF23DAP.5 XE.,1H6Z+IY/CD4HPDAB2&LDSZH*VA!$)H7]U8FJYJ M7C\6P\K#6X^B)KV0L>TB^FP\H2'-Z[&;,, P+2SCX/=Y"'Z0//O%!#N&? M"A_NNN$RATHA2DJ?"]VVOX31W8$?&J$!*ZAEL[%GFL[49IIE M3\Q@8OK_U_.N&@^UK 5U;4,-NIMJT$ U^*%@<\48*;7V>*$Q\#>^C@I0%<$> MH_KH)_XMF[.D^.__\@S=?9,K[Z,\*/,<5;6?A,K;Q(^7>93CV<1?H\1/@LB/ M%5"_8534]WQF>1D7_)9/"Y9Q+N4K-7DNNC]:?O@,-W3V@<@9ZTWDU&-O:.@_ M8.V)ILNVE]8]0?7.+Y'6?K94OA1^P1D)W+CU,Y0RY==SFZM*6F;*I,R!>GD.SX&*8+=+ M59FN% J.(A6Z Q[.A$)1%3"HX(&YG]T"Z50ECOXL(U \2WY_X"]0T2GL^X*A M.BIA>AF#.[)J5'A3-%_X@A)^$(!U5E2324*8'S/VERG_4WZS^A,#9_.-] M%,>;?X.1QN'F'_/9MK_B[(-'+UW$?K+Y-Q]F%$0+F,GFE0F+(["M'[T:!&N^ MY?9%QL+H\3Z.;*Y^2$>GV0_W?1!T3PI ME"C;:0(:J&(.+L'*!$ =HC)"^0/-D.'Z( C%FE!8[BXR%)4"^)OD[0LE&G) M!0JW7 7(R=LXWD,G@+RA_MI/)>*0Q0C+!5R-$K%5XU;%G1_%@M^I4N8H594F MG$8Q?CJ$+XL_[?6MD?)_0+"% "E)6@#B_("!W@M+U!EQ!&H(Z5?A;_=$1\J_ MF3+S ;9)JJ03P(48, YSP0?E)\LUD)L/?GWFU4" NS2&-W]+TONDTLOB9ZZI MU8=JNB$>4]!P:9;#-_T"E.42-%@)GT*^PI42)&NE4&/@9YP+=0C2!ZI454#M M+(7[AEB4,Y1_T_#<&2Q/ %/4ILGL"EZ9148T8='L> MK8$+! ,55;T?9YN7BP6,#Q;(*-DD5_-[<3KQ8Q7^=(O64XQC3S@?X><%[%:B M0)DQ/RYFU_53 0RZHCD.:[VJX&>! @!@O XOA\MS,7;4AQF0I_!7EK)XCL]& MK.+(=20BHA;59 ;;J09G8:4,44BR+&(93!+T"BQY8.[!O5,8)DY\D<+?T#^@ M 'S@4W&]/N81W.ZOX"%(Y$_$#3!2]AVLA8)M7YP;@Q#\"L6^H!9Q8*[0%TH1 M%3%;Z?K/<+/RJ_AB!N2A7_Q;9(@,G=([/^@H/#/+!E, 0 !GWC/ M C:?L$S<9>JJ8FB&44'A*%40@ Z:EHAI(&@.B[[X9E+.69:"WMEA(BDARP$1 M$U1=2?50OJ)(?OS"Y*V6);*WGUH&XSB]Y\O P\VJ7V]6*_9.4+G['!W WS^ MAQRQ:&>+)3%%NB.FD?WHF./"OC9+FPML)?IH1H(4)TO\/BPE+*]M^X-6OY'R MKR1&@:LT*-S*/\85*7ZG\HP*&;P'[5/;MI5F1$-H96O>/[+18'J;?RKS+;89 MCDJ(:WT1) (1G2KK2ZH8]XPN@G>UCE)IM&)#5!644A7ME_!/H86$7OH'2$TV3S.F*N]@ MR+"\)I$/9AEH-K *?6Z9P2[@CB^"8)^@50>+'2C! E.34>SGS,]+L;F&/P8S MO@WCIFB,6WYNGL-B"NO@/$+56N* \*7X$VS>IRQ8!F#37PL+]TTBN'."7H(^"Z?KS'" MWN)_1PN,7\^K/97:F%B^S&']$!H;7A:O_\ =&-DR!=L7K,WJSSAX4&"S#0J* M!:>V^?,@XKX)> QH!M97*8P.Y5.Y(G:^FAV+@:@9'RXGQ S61_REN=OBW/"5 M.]3E!=^]//R^L-_P/>EUNA!S#]E=%+#:#@>+,1-VO_@:"/]L'<8PB$=L@#LEYR#M3&L>Q]U730'W06J!MTYJ SP M;IP:WIR)4P,-"S[/4[#N<7Z-VQZXFOF]J)5P+5RYI;FC.7\)1'/ MVX0OG2#4;]<.\]]A;Q1$#1K^*^>(^*7R$!\14)*/(MOEX8 0*?[R3]@1*H;: M69QW^R2^E/,YNHV 9<]P^(7'_>0HUQDO*V\#=Y.98O4# MA8G_).F#B39\D=R-^@P-P"1<$ZWA#!;V@Z#/3A>?1$$_\)IMD)6+?L&I"L.\!6Q0XAM>]UEL'*H'?4M@!)MQ> M>YNC48?FKQ03>7+8'Q+E[WXB6,C9=X]("QCL9T/E!]T;:0(Q#:,B\/-9O:M9 M;W81& N&F/TM0VB_0A!5;C#^E\H#]J/B8X@&'8$"VZSY$D%%X2[C OEI.L4M M!2B!GVLG.H< I#&ON;BAY[$D?)A MBH0-4QX>FS.,P\PVXNF5GN/CYVS T+5PLO*[N(6'>A%V]#&/JO@*BGY#1_)G M+\)^VNV>%OR-'@9%41^^6[F;'RP5/_LQWXA^F0'55^QZCVY8I.DM?QTR_;X* M/?*]>$WM( 40_(>MJ0L*DR6X]4:'M(]P >)/<\;/?+Q+19FY!T;QIT<6;CV( M)T;=6(SA?1^X-;Z.CC:&B.YM[C&:\:UYP%B8KR5+#!D7/Y39RFL1BEU[/:HJ M5!D=,:YW^-9?X_2>QY"+)G=@:!5=TM6AM5'[/L)!>K*-5CS9+GFR'])UOX.6 MTBG%?L86:T=8P<_L51'#1V?4N(9%?R(*G"\SXN1F*[K9%%WE5B1Z M)UJ9^6$Y5OTF7\(4PU[1SVA#0UP@E0AD+P:REDHDRJ&4=_46$/N14QKSG9"& M+UU*.OQ;.XVE2>;N@ Q_V4>/O&1G%\(488HP19@B3!&F.L542ZVF9+8!-P-_ MPVHOY>@CD^K]2\TBVQRYQ"*I6>08(YM8)#6+0(H.7=WE:S-!&+SB=%7G0L BGJ M,"3\S"I;YTHF:<*>YBK=^?#.-CT#^EANX^5KBDTD'E?YHM/R58!HW'J J*^[ MH(MBJ]9Z4)?8*@%;W6.=1\16F=DJJ;0.*HI;E1Q]%:=Y_N,I#HU+0N8K;>0] M(D8[!.C1SNV2. I[NB//D!);)68K"*I%@GIA![Q 5H_,FI#O@%?_#H-_P%(' MV!U#6 8J%B8?UG$"C4+5DG.(UZDUWA"7I.82R9'L'.I(?44\V_WH9_#_=*4H">.$0<>L@AG3@D.8<./3)_OC,NE^%&X7&5"9NF MHO4>_E;XWU_H#$8_/7V'GX6C--V^\%:G!/O+9:XV35C"IE'Q(V^YKQ7Y@-J)V8'M$"H8[ = >$ MDJ6.]V"0J5O'IL 3- F:+ZPT3RL72L@D9+Z0TK1/+)DX4&AR^_@GWH_VIMG6 M5MRRM47VBW7YY6]\'15 H^#!1':U5:[Z]4Z6RA=VBT7!> 63CW[V;7VBX[S] M>7F?#M&L^H@&O55KWZV73^G,:C@OT$;6,UZFC>R+#-8V=W]T,(,UC;U>V\>V MID=5F^QI3UIJT-L@QL4UZ#VU;NJE-/^DWJG4H)= )C?Y]FC06X^I>M+DM#D# M /=X"7WOV.\-9ETU]'Y:1:\^)&)FQ2PMX3WA1N&+ 43%?L_2"5/>^5GXZ##) M(;/SC_BRS LVW^?8:84R4D-:MVUUK)^6[G<2>22WV5_X+-EE2\AA])%:3@S-5,=:'T^ MDK20M)Q_=PV6DG-:]0>2%I*684B+I>FJYAWIB^I>6HXX1KUQ,L(R1+_(19I' M193"5UG,6S"N3Q;C"O#W+NXS8]N-\[: M<'(T_YUEZWWD+;N>9,S_=NU/8;"O_?C>7^97/SV8TSQ*KC=HN#G]W7QHL*HW M!\5-B$L#9RK>->>_[CS-[(L%_BZ+7COL@)?,VT!D[8E\@6>*FQ MOA!=G?TPL&=09/>IKKT"*/*=67KF6/O)9+F\XY=T>O4$\OU%2:=*G4)&M'OQ MX^5$/\)>&[3[07DW\Y/;W;5.B&S;(;>%;'1&G[[7U^\-U4Q^]1Y=$5FN1(E" MI_NS,*_R_?/7+UIR@]Y![Y#U'2W5C.6.;U=X4"46_5]Q)ME2^6]_OGBC_".] MC8)3"@M>6-AHVPRE#OQXNCIVCFR&224\S\0DVSBX&GH[+.I@KL>5[GH&'J21 M^J.1=,-03>_(7MJDDL[$)4<[MMTYJ21223U32:\L3;5TDVJ<2\L@TQQIYV9/ MYYJH)4=33S:>[S^__3BL-O$F:)UC3[!*= ;ULIFDCX^M9$\L.I<<.:IG];^& MR64S2?>.K2!-+#J7E>6HICO>W\PB_IR9/[H[.F"3,^#R-#'0YTD]2LI<4H^D'DD]GI97XZKCL7[PD;5!:<9^*L=7ACFRI6)LYZIQ>[DGW6B] MWM.6"LPO7C-HL_/&N3](DSSW-X=: >I+])W*I%*9U/.0CTI54IE4PE[_:$=E M4JE,*GV/OC=4(YG*I%*95'H'O6.P)[:I3.JA,Y3:DZM[IFH;=(A6[J"#[8RZ M*67;>6RA)7B02NJ/2C),1[6U0UMVDDHZLTKR.JK*0"J)5-+Y,_,-=>QVD_M- MVFBO4QG&R*(ZJ1>=EC&\.JFVIIHVU4F5FTFZ?7 /"V+1>5GDZJIQ<.,%8M*9 MY>CP1&%BT;FM+$T=&PX52I670>-#S& JE$J%4OA:5,A!;AX9'44)B$/[ M-U50QSK5%9*;2395?I*<0Z]T7=4=\L?*RR#;&1V0_M@B>P9P^HY*I=([Z!U# MVW,.LE2JIZFN2:52Y6:200:S["QR3=4<$Y/D9I+NC4C5R7)L0^CVB-2CT/0+2XYT"#F] M)&$W^.C\B&A+V"1-3II\O]8VNJIYA^;NR""II,E)DTM&*M+DI,F[B^"ZKNKJ M[K&53DF)7[(2?Z4?<\YTV/J;.X9^*GR8,/P_C.YN_@K_U$-JS../,B^BZ;(: M\PVO\K=ZT][/M3977:LGR]_X.BK@<\'3T]>-IRN%G'N CVHY\0$J+SR<)S_^ MW__E&;KQYDQCV,ZAKS.FA"S(F)\S+&BUA6/*(DO#,BAJ'Y\R33.E@.>*6<:8 MXB<@]M%W99[RNK$,Z\8J6!I56'BZJF!M5!64Z7SA9W"M2)]_.F'B:3'\;*^<\&R/$W\F ^L+.!-^)IY.HEB? T^GZMPIU\H$W8+G*F>*V91%BI_ MEGZ&SZ1391KEH&SX,/DK9C!2&$(1 :UP7/O,=X-:J_=D+"_C@K]FQ:90*9,( M5*,? PS\($OSG']@[O^19E&QQ#&E929^5P(@0#J'N8Z4PS5(?S5/,U.45(V4 MJ@99)*-NB=-[MI:;>H11FH"P%=$=2AB^N=([.&"4MNHV7A4PQEFC&-ZG61S> M1R%3V/> @9SFY6(18U)S-4UA37B$*#>W-WW[^R'_2W_PH**"4110#DOB$<4#3"'4UZDX6 S%9 M$K#1D+37@^0B4E]2JB_.HV'J+]!8E66"-^TVN_Z_?*6ZJJ]Q]9; 'HX/09!P MSL\P\TL)?&-8=LK&D4Z2=6EDO5[84"#JX_855"42]O7R*_8#((\+7IDW+WR4 M^9R_.,B6*:RBL)?+Q4S4QPL_O&R]PUB]C&\D6)$!X6^7]=/MK\45]2U#''=9 MI'F$HW^=L1BF<<$.BLA.9K_SE8EX1?^+;N> %N^7?M3&.QK/[[WE_G53P_F-(^2ZPT:;DY_-Q_D MU)>/M ,G6MVS >'Z&TMO,W\Q UA_9K? ^\-@R?UP:QQQOV. I;T7.7M=__ F MC/)%["]?1PD?#'_H#>B!6Z!X!3ZD]H;/D7]07%XS8J0)9E1'PZHO5Y='_-*& M'[6ZYHXLQ]UY61OINQ]]XK7CD>=81[WUZ6NVN?N;QX[5'6G><10X_UB)KD17 M9S2VCGLKT?49NMKF7F\]M3N%H?>S.\57;DWN;.+6 37F41C&K!MJ4$,[:FA' M3<5Z0#MJ:'=>[ V/0J3<3@<8)UZ%,J(?*3AI\-=-'\4#.=$JT\[T/9HB?;+U M3^ZY\9+J[/AVK;0]BV$U)\ONIQ.AT>)2S'"X?2[_E41X_NY+X1>'9S=??BY$ M?[(9+$-UW$,+-U#UZO,RR7!'W32[Z#PWX$RY7:21Y)F:J:N&99!&DII)NGUP M12;22*21^JF1/$VU-.HV);=&,JR#VVZ21B*-U$^-9#NJYW4#=])(>]M(UJ@; M,[9SC=12_6F9E>ZMJ' M;AJ(26?WRAY9A9M8="8669[JF(>V5"S*#EN0]=?5X&IVMJA"RCY<\Z^@)+O6FX666/5-2D*)#>3#.O@ MY ABT=D#WH[6H?.:F+3?>D0LDIM%GJ?J)BD[N9ED&!?095GF#=TO998N=A=: MN4PO@:9Z.KERY&:20Q$ZR3GDJ=J8HC]R\ZA3?RAQ:!\+1Z,,;>F9Y'24H$T< MVMNFEID -&YO_N+H:71N>K8I"PZN7E$L3G9.30&*2)_M=P\ M.KPD!W'HS#:HIXXU8I+<3+)'=)9';@[I8]7428SD9I+5I1@-("[WT8_]91X- M+'G.41WW4#N4G#CGEGSRAJAW6%]@KNI@QY3[-XG!843I+U0_N7$ .G7.OI.07E9Q#JNM2?4NY M>:13K%MR#GFJHQ./Y.81K46R<\A2+8=2N>7FD7X!R7/\V^[(M>7>WWU-"S]6 M,G;'DI+EAVZB)VD6LNQ:3."U";,.TW(2,Z4>=W5#D2Y>(TWR-(["U<5G@2D; ML?;O#-H^?>066-M6QP?7F6F=2#WRM!T_Z3[J&Z1DJ\ M34*1%B3O(HC/QLJ?A)",/\LV1YD3>_F.-X)F(D"Q@M_ :O!^1E+,^5AY]5X4&8 M5NX#?.^C.,;G,C:-65# DY&89TT+H$3S627SX6H&M_CB/AS@ 4P6N(^2D"7 M (_KK3ZAY1W,^Y9QBM84FBR5VR:&;A$=2#8D#W"3,-JP^>.&"DC,$!#1W,]@YHI?%%DT M*;GDXAN#]=A7N L9D"14$3?3XN$E,1,_5N". 0?Q84Y#_F[Q'O8=!H\ @A_2K%!B>"KA@_ZSC#(V M![G,\8$T%V-Y1&;E-H6E*L$;:UTQ!:X#+?XL 0[PV72J3*,<>,AAR2:!!W MNP9)Q;G@SS48D$N_92FHZ8_ X2C)I9C5TUJPFL,*T,##/,(E::U]X/)#Q0$+ M*GP-P"[T'*!.+*0X_PE+V#0J!(2@0M4 (%*/\1U*B?97Y2 M@ X(DHL?T\9P5HD4^@4A]2LJ%T8%I+-$U /41S+J5).9\( M(B-('&O8M"IGQC2S[I-.'CQ[&L&,.'C1J\-BJ ':"T\5W"U(&U M"14C3 ;^ 8N%C91_PV6T?!MOX>N5^';#>$+3&D2;7X7OL,#/<;BKY8:_!95F MFL8U_X$ Y4)P<,7 >B$3D&J2)4YQ0@6?P7KN?,QCW=>UD;ZSFM/O5;71Z;A'/7:IZ_9YNZ/TF!E'*QI[O7:9\[R M]2@/:[N_9^TCT_>9%"S=L+IU,ZU'9J0X?LBWAA_%EO 7M.@?.VV&P+^&GW1? M#YSP5_0RBWT'T^T$1+BXBVT%D^\LV ML@T@R_FWAC%_:,[!":$EV[%P69NY0@3@RP;P MV%)-Y\@.L@1@ G#GDWYE6JKF.3]>)'@/R=2\I%,JKTQGI,O#4CG.GUQVY=?? M&A[P815_-;U1-SWE.H5QZ^8YJ%:@?KBCG\!N>]G'O M,12Z]2F:'_WZOL96OD3?3XZLG.+Z[)WWL\V815O^XQX2L<7(Q6"IV$;\8K#$ MHRA&BU&,@;O1^N5)TPU=-8\M;R9-8MA+N8,)RGV"LN>I]KCMN-RE0'G(..X1 MB%\YKFJ8ACQN<(ILM!'9L$<2!:LZ]_%19.."7=>FVU&#CE_6.0^LK')E"7W'$,D1EY46:1YBO]IKGU45W;)V\A$D@C0>KU"=M_8B/ M^8QEL?N11TZNCM+-#/LA.9K_SE:QI(5_RZXG&?._7?M3&.QK/[[WE_G53P_F M-(^2ZPT:;DY_-Q_ZG)$W62HYN^6YM'LFYQV2T=BG[#S='8TUN_6T+&]DV'U) M(?-&NG[<6[L8:Y_HZHR/0];3USQCOWP_&<9*>+4THS=C-1ROS4S2G6:596\& MVBIMW^=TH7:R-_'$A^575"0/EY3,B+Y%VXF"!\NA0 9UE>4RMW[-TPI1W M?A8^:NI"9PCV.3RUS LV)]H=0[MW:;9(L9X7WX5]PDI[1,=CEE?LS;0'Y09) M'%)PI.!(P?6;CH\5W,!.Z2ET3&^(9YLLX_BV\K(=;3I*JQ',AP!S0U=UX]!F M- 1S@GF_8/[*4,>VV=Z!,$(X(5PNA+](B:2.8$Y('C*274^UC$-/K!&2",@@?I$BC&TAF3)T+C@%PW0H0X')KL2 M/.C /76OZRM,+Q(>%L&#X/'D(DG!NRRI[U'-RKSZ2Y^Q]9CJSZOS*/OH\,EHK^2M'$>^=R#VBY6 M)-,MR'24M"[3/D@>BEH9%RC!,Q@QR)D05Y3D>9JQ'3)U8*?8?@O5$P?5NT"T M(@.DM] $(1J7(7RC3/PX3@.NG=GW!4MR5JEKL+T0MOD, 'P]6<$9[O#Y6H$O M\P%W1?0?OUY9H@0T_VW$EYP\9P6L"NL5!!^81M_A/?P:P#4""/LQ+%=^B$#" M_L=YO7SYP9]E))IA5VL+P+_( -5E!D-3E?M9%,P4&)R2I(52XOBB1&'XPFKP M,U:)#"QV4U5)<=I*-5V\ 2ZF90;+&GP/+I<9_ 4H5?5*%OV8\\'(CXY]43^! M.0T4DF91XH/J:E'B'^]8@OD8?GNJ>3C84C%*!0KX?53, ,0@<2!$,?P_SM7F M8J "K.,8L0]+2X!&V]0/N'#&J1]RL8K]"0@*-Q&%V,W1$(S\6/QMI!RW0IZX M$C[9/CU79OX=:YC2$Q;XH!!0(PF#=),D)]G&XO.'VL<]UR//K# Y-TLJ,N?U M\H*;_#3XMFWUJ-::!YWN'W:XO] &]Y8S-%R]Q<8@)O5>B&K\NG%KMI3GY@ M1!05;VHJ&FU(X&42BM#VPF@;0/[]EQTV..7B#_+8KFKK%Y**3^?/APQDU[R0 M[JT$XR'#V%0M@_0Q ;GW0-953]JV\=O/8IWJ?Z^F;QDC%[W&BU2$*U^+\.D= M6SN+T>G6>+!R-6OK1S ($9?%[D<>;;$ZC"G>91<;]!P<_J[^2!G5'7[,8#/+&=^AM'J)%3>8PPJ M76!PF4(<%^V(IWA,ST,3?SDUM&9#N(;'_91K;MO7S,=GKYM$)]^MZQWQOJ;"NU\M]*X=5Y&P4J;Z?L>11?1I6']G ;]D MRA(&];CJ/)"G?C/>/F-^& ?"UY*N%Q@>5U>:3> T46PIH6\A*:H_['/A8?7E<8 M5H&(BXP%$7^NJN?)$BQ\JZ0P4_[GNMZIXL=YRD>;19.R6!.HGN5(^3IC^?KW M7+EG&=#(!^7AQT"8=#K%:L>395U2E&73- -4!#O+*B^R] ^&%5LW2J]>;@71 MM\"3PH]BY!R''_>4 [+S)RJ$'DB//N7/6KK5>N*D88U<][BTW/-G>?+!CL^2 MY?GXUEYXUA\G>2I5I%@H^*9&WWJO"(@J[1?@ZQ49-X\C[";BECMWD7 (8VV MJLJ1LT^>J3G.H3LJ^5Q]A+?^X$U7-;M#Y_( W(>_;]U)#,N/^,IR]1_/[",B M-][>W''&=B?<&8"-]LM\$:=+QAYZ&(Y7 ;V-D+VRQM;^()//J+EP[ACNN!/N M#, >-]P=0YKV=?U0T_*T-)_7@Z9[J'&/RW_!YXZ73=,1)=Z=GOD&8+>+BVZ MT_]2#Y?-H:J_(GD!7I#&HN?KSACGL.P"JYN<>#(+]O9">X<>9Y3(+#BR]GT5 M639AU&%:8IR:E\';KU+C9;JQ6Z&,U$ _MBY0&Y21/$I#8C%]GJGN#M7=.2L1J= W'L@6ZIK$I )R+T'LJDZWI&5J*C; M1O"_*.\R#A6*-YQT5YY"L[T/-[1 MUVJ[?6S\/(_",&;]=[JVXG'M&_FH\7/7Y?0'2#:)"NF?N[[\,+\WU.6O2'RJ,/)\E6=T;=%-^X.'CT M_1T[FC_;U/SY!6\=JD>+DE H+: ?<:I!$HKZ.U]&6*J#R,W /SG4!9U"5!2B MNGCGK6.KXW'_"PD2Y'H$.4Q!$ I148B*0E1##5%I M%(.@$-53(2KJ_]W[\%)K(:J++*VHV_MY#]:]GD-6=T(^INOS";V>U6:SYPS& ME!S4T]B'12XL _X[K'BKQM#JUE;),R /0Z_I]G(V*OR6Y&5C:UQ?SLE]4 7O'OH9!A6ZT3'Z7]2 M[F5SR-,]:IOX@O3];:<[<5C&@#WN<)DA4V _<^W@PT+G,P5JOW"2)NQIMI[K MS@'8+M3\N?O6PF3%[,$E=WQD'6'27"VLB\\]1XTX7Y0R4DOF835+6B1+Q[8B MR03)1#N'I"60BH0^W%5&RG(NA]&RQUJ#WL)!)UJ*7B(%0< MY*Q$I.(@A#8YT#8 OS1UJ*4VYI\"(&(>9^]HU5@0 6E%E41"P?*5]G/"#!<[@QR3K:^.8TS0Y/ZU[E MVMU'Q6QW3G>5(;S.Z5;N_5SQ"QC[I!1#+5+XYL8 [V!X0ED5>^ *;(9L4 M_4[//U!+?BI09(2*Y(KQP&3\+J MQAQ58TY8H6X#-S(?ED\&*$4L +[@'8#" M$G11$L"- )V@X$B[@T?3$F[C+[[UHR3G?X_3',LU*/]FC;H0<]"=MR@4*#%9 ME'_+E6F6SMJTS\F,M'/F.,@S_-RPQ+1MS/ MHF"F8*AX#J00PQ=#1!V7K17G@]FP[Z+"@G*78N/W."J6[<-WD,WF/6HV?[ R M^3U+[Z(<=3UJ\\KN^NI_AV]>[I$%P_%>(E;MZ/M5S9#BR,++#+971Q9,K_U* M+_S(PGX#VC,B+96'8'M0:OLFN>_'">AL1UM,YL/B9C9ZN"_*GYGWP.V*,3/"Y;A MR/U;-KP^-VMOPZL)2]@T*G[D?H53&3B*&7##63%4W MCSSZ1X@CQ!V5S^QHI-TD8L@%8\U5;:]#[3: ZER_\$ S'HT LY.?F1A65:Y7 MIGE(1RAJC3*<UOO7Z,M(^:/,HCR,>&>G M7&WT<,*755["ZKP>_B7(6(A_X(=89ZQ^WS4_ZLJ[6A5^3&BF?8(SLD3&HS/TEGC)3,19-:>KKAZN#L/>^7%9M;S"*C)X[/#!/9Q@ M4Q9BI1H50,#/-&8KFN+88_\^5YN#>OOEG>+JGO)<\9J?*EJKRK0LRHRW# /( MX!U TU3Q\2"N."".9.$G)+$!5[:L1J)6!S!!/AL0X<2L#AU71)_P0X]X)K(^ M8ED=/89;5GW*-DAUT$'PGDD7'JZN#SHCQ]+M@#SFN+5Z6LRH8/.\R5C$P=OP#I5;J'STDW+JUV5F M/ZQS1=[Q5ZTF\O;CAW?U'.J3UPRP%N>*8?,>N/A+-(WXO.JW< 4(_/3KS\T? M? Y^$JJHF/D%9NLL8C\0G1&!DW<1$)6?$5;>LX#-)_"#J=<$>ELH,0AL ;*P MP(P)T9801;=2GX&_P%.X0J/!5/#,."<4_!^$*YA5*O&.Q>F"3UEHP?LHCJO) M+"N9AY$)RM8S7RV+)5>4?+' "94<*PFLGUS*!0DS&#Q?&GU^3+X0F4CX+<%F M)&U]+S;]"[A:A_OQXYAI 9S'N?&%Q-*PR%FS&6,EV2%;P(XT@%81O6 ,Z?SS9)"V7FWS&>.B3.^*>[U&"_4SV>5 ,_L]LH29"/0"=$ MF1K<=?=E91\???WMRM)9W$TCQ)ACJ#J_1[E7,&D MBYIO8CW>#<@MT/VSC/ 7X,;"7[*,XZU*&8(EH$2I?/#01FY8"$H>1A'PM]5F MR^K[*=CWL&K1F',<)NZV*_#W '<_"FV(A/\X#$&=8/BO;E!-Q MPS!%^B;P/'\S!SYJDY4ES/7+/1,@7Y43K)?ZS35Q"^BK*0D)78 IR0U<_MIW MH&J!-CDW6$,V9;!NS],08*RB;9BQ!<-U]L& @'YI@E[@AT9HZ+9EV6SLF:8SM9EFV1,SF)C^_X7]\94<:G9[RLL_ M(E "(2[["(]WU3+]F>7 A:!Q_N0B$DX/3 ^(:V&CT;N M#Z9MC0P%OACS#76Q;7?4W!C]8!K6:-Q\H#;[Q$-KV^\B39"*_U7V^6:.>F,; MB*VSHYPOW;WPP[ M5#"K<=L[2?$M\SC*A,/T%KGHKEY)_R[,ZFVGS_X:E8KE MWR%/.+T3&?,\_QS^D/'EMS$FOB2":L75:;):>L24IS[H9.$V:N2V+U*0L.7: M0FIN0@!IW*4[89 MVO!\!Y:MFZ2'9;9>HV;-IRX9M)]V5E;874@!>%*@28)K?Y9^YP88 .$'PW0> MZH#GE(9A>B-]'Z7Q<^TPQ,4>S"?8OR,XE-&0?C* RZO)R.HW0Q\#O1U'FH\EG8/5?\SH"PN^7 MW(K?XM7ZVC"WFV(._^9\^PU??+US]Z%NW4&KF[I>?5 , )5"5(L)OE#X('8, M"8S:%!1(41>^:&R1:C*,E+^E]S"HC',D L=]JI E-ISV19S^(,U+\+=S/#O M_"BN-(+P?PMO0\T9T&^U'Z(F'R?#J@59DP CY0/Z1L+*VO239?TZ7OLZ]_ #>)6Q5L?VH7KYZ)WP]6*\H8CA9;5K IK9R"G['O0AL MQ>"/N8_^Y'OA?N?K00C\XR>]Q<88)LJ1MP$ZK *AI).X,L1QO^@+E/$!%+,L M+6]A(,(-OBIZP9HTOX@C4/DSDQ+FC1O"!N.106(S,F&KC4B\K*K=\^T(_L8W)+!/HWH$;=0C M&%,]@N&6"7#RE^F[Y)P$ M^[K$8B;_04\'1@B8B/!Q#T_L"[>F\.K5ZK5>8T2 T8 DL!)#"M\'-ZCUWFU M>,!&(TZ78A\AR@ %E5:[Y]XYU)/H7WJ;\[(OE?V;L\9'^*J">W480<2-O8Q5 M&X''+ORZ5HN?XT)K]BZQ@G-72W)_\+WA\J70D0^J\6,Q97%E;&% M7V1H=CP8SG4]'+;VC(KY(K1A,6-/?J??V#K830&X^!5=7U*,_MGHKF@*PX-? ME7HH>"P-;$ZQRA<-;]X#XP];TPA8/!8@[JWE2N92V\NXY@CV3OVI*/)B[67V MJ]4RT"8H7??]Z%L6.95\H"3\%_C>0+7/JP_-1F]#R^C^9VVZ5$>$0CR/LO8V MK4T42NON;S*:::FNUV&79_=10]!6Q/T1E5>6IUJ.=>Z4K#;3H@AN?8*;KNKZX8W=.TE+OQ"#^E6ENW_W@';3RO7R-N5_MX0?VDC M67O[>E:IBGOT@]G600CC877F[%3YP6@>XTU"?CE)DVL1A*\31O%.:[P^BU>? MV5EU%ZDSE*K#3HT^-^K.Y-CUR;G%@Q1H+.A8G[#!\RBL$(MCW%3]&(\XAU'JE(APB"K&1A,WNBBJ:+ M-(W540KQ76WD/*#S#^/U455NAEGI;A)4(6?!OC!&7D/ M/V'O_L0>)%Q-Y#;S1>+-#[HWTM;4&U)0_,-J7__VL6DHOU)YRCUQB$)9GS-M MB,4/EM90(O 5$&=07 7"+.9'&3'W_,\R$HEOBS(+9AS9'*3>R&P^BR*XO@- MM[U5VY"P]^MJ6])+[#47M&T[K-/Q9Z^UTCHAEQ_TJ(^BYB+M80ZOKPZI@@W& M>YW!4/VCK102'!#-:\$R)I3C*._=#7&KO_2P420=X M*FE9IR\^Z"PG9*#YOL;$\'P7GIV>I3%:AX_/5..[46#R&1[SP_3)N#I]77VG M.F?G\Z'T6VB>%)'W>*ZPU],[4"?\7$8<$\I71-(_ $E2S.+I5))$$0%^@TNS M)O(P>./#JEX"C(G;&$+H:XG0[6O>K[!*HU\5%A#R4V>$*J]0&JI<['(V%Y*X4@J^,JEO]<,__*!*W$!9BT4OQ?7!=ES. M_@&Z* -KF*G*.ZPZD&9)Y(\4(,5'?ZGHXU4E$7CU7&B][>-! PXK*-1%'B8L M"6:X-F*1();Q(A4\U>0?:1("T7B_2\P84SY-IYS"G_%JGL5Z,%+OGSZ]7.C;@2^)*E3ANO2!; 5*!-^YK? MC/E;H8A%N\RR3F$0B;;]%N!GSRENP=@$L^_7O3]]/"TKNK3^68ID!4["=>(U M4IS?@:95F2O:2-Z>Y?^*EA8/F63"^.XJK] M8S/-J%E]8)=L8@JJWECV+V)IVZDU/_(4+MU]0FUNZ4^[UHQP"_;=9.L,_08F M%)&7OXW,M6&6I-59[%J8IUO4M-BVHD9N-KFM2WMA)M?<+X)9U^5.B ME>FFQ54W,^6ZG8^4E^ :*3\O-Q*IN.36'Q4);FF"#CS,BT2-QQT[8H1-#9 " M +A85N]O2+9@-@CF=Q8^?A!35_Z"$HHI3*O9=ZKP\EN5Y9DGA M ]E8)% 3\=0"8.HN #46Y_4P8 E^RPO_B.4!_B8H5#Q2+9QQN%A$W(^"Y2@$ M"44>P782/B;2FC9/ZJ(M*%^!KJYAE)>3/ZI,@P= :XPWVE1-[2]K0TSX,C5* M^'IF3_"%[U\_LY6Q^GN6WF;^_+&SH'@2+%$F.'4:R!J@)]3V-:BG+Z/ M8-LO:K:5Q2S-X.6H9(O[M+)>!"$JA5>3IUP([\'&=H-OG1]F/:^\!FCJ"S? MJL:/$D8@0-QWO:_'86>UR&J-&U/:H-'2)3,&0/?";--+K:>T,4S+ X3]>+M?"8+=&J!J7/ MSH=@W"D(OU1C/O4L><8]V%Z8ZY<^()WU'/8?%^$$:S(*>>IXXTN8;[\=_4^8 M 6C5.@U/'*(?.?4 ]I7%NOY6FXZU?:M F5)7@7K7V.!_6M<-$#6AUE4D+E<= M;,U++.?HN_X/(A)%J%'KX8%#9$T?85]_6]6A6.WBL:HO#^MP@6P^G3:IO1WF MEYK/B#M2N_U\QO'(=H][Z_G3&6FL-%8:Z\N-U3M+IK#9TV2]W^OEZ7W)L/C1 MK\+T_S^P Z.LX:<(]YD;FC 3;MU46SO*'CZ4C+A[()(=2C*;2'8HR1PBV:$D MXBYL(MQAA,/2HT,K%+ ^^,X/H1R1KQ2'(>Z?JAZIQX='8>60;Q M2'8>'>P7)!Z=ET=C=6S1>B0WCW1+';N'!HAZ7!IUE:+7Y59B,U$\7Z5OM3HR M>^39>PQN2Y8K;AFOS9&^);$ ,Y/P#5DDQM;[7_CT MLCDT]HZ,&!*'SL4A[5"[@#ATYKB[<:37G#ATKLCRP7M4XM!Y.62HKDFV@MP\ MY)MH@CN3-A4@RABL9N@:FQ9$A"A(-$HW+%@W;209)!DK%I3CFJKM,FG$2#1..1ZUA33?/(HS-=BL:A MW2RO)"D0ZHR>/M97$*KZB''_>;(R%'W]<>K^#,KS.52<@ MV[,,[Z?I]/KGJL/*EQECA?(VR[ YSZ'5=W>UBCTW_OK2S/5O48Z]2@/L&\<+ M5,_\.]Y@0K23PP2=0C1D+( ?.?;"PX*]O,L$O_66)5C1AW<1C44YWUFTR$59 M[S()X'=4M_P.+.+-VTUA;6K1J(FG_V0%O(,_IBIY&,'@IR"1H[2B?X6LJ M2:^?3:=U?RQ1KB@%A-8]@'*.4+^!4/QZ"H\_*'$<+Y4$;DKO\6H<@9Z![U3O MSY^H[0U(>SMZ+_+'+L M"Q:=QVZ"/6\J\6N*/:Y@C0FR:%%41?5]WCX2%S#1PVS=>A>GGM=35ZN^QW65 M>FR3'" ,42 Y_OPP%2_EK4]AGG,AJM,IW(C/3Q%W^!Z^E@&\0VRTC-N!AF2O MI1D^70@<@BPSIOPSA34/H/W"Q@!_X[:FA-MI^K.?1WSZOPLKP5^1X$NT+G;> M -/O,-6 JY(NK1I@PN^@+94/JO(!J*SHHO4/3 5 K]JU__[6/I;$7'=D-I^ MX-0P1YVA;/NH_A>;P_$%Y$YTP88_Q/7O[Z,\B'E'+S >)VE98/.T;Z#+/T?Y M-_FU4E\,G%\?V!JB17/5,:UAI@LMFC_JK28:08!M *],E*#,L-?8$JU^H7;Y M/6JC"UFTZJDK)-1]6S?Z/!X,5>-*;EJ(-A^5'A \^/"A[J'[%O8L,$G8^Z09 M[Y:'6J$R+K3K_UG9.%6G&]YP2#0K>0^+R7S",G&S*4P18Z1\PLZ\=>,YWN-A M13^PHW)NH@A2A-A?#5C$S9X\0EKL>NG9[1/=EE]Y6;(I+]X9)8V%!/R.76A# MA*?\$B^?9MI.X%_N_+CT:X-NK0$4HOP+C_-GW@TJ%18MO,T7.R?4L[K[!O:> M:\Z\6K>G6NV'5WVMLD81"_:=!277Y; [BP+N00H;U]=K4'7]1[5J>\/M\B2L M?ZSZD ;85U2THN<&7L:5NGKJ5\7N%U82[K:JVIWB.\,U_H(F_A8K_/'.F"&; MUBO0YS)F>;6ZF/ZU;K]B/XI?\3G=#IM_JMNN,=&S66SM?ZF7T;!S.!)6\N.)9AA_G*@S!A M]7P%A4N^\@L25\Z->UPF8^%6*">P=U?64W@P;LZ; #W,,%Y.K3S''U=-E$). M1_'RJCEK)!K9PF:KYGI(2/L"Q 9N0N\X MNO>P&1F7#; D0Q"*G+L<,W;K9_R;*TE>ZZR+Z*J]PPY;;TUXDW1LP5A9"*+W M]*\KH@K#'T@DTZSZ;2KP[@8-EW'R8*^XBNXDO!U>@REKI&O6I4_8#;#+A&4G U%ZN"WDSJ*&'[^Q>_/Y>0-)/T\3?P+7XN@;BJ5HI_WP ?4P>>&R@[P-'GZXVD8H*6_ #BS/N1!- M&$KJG!4CY=1%YD?<^XY3Q"K6)XPI"&9R-T^.=% M/E)^9H%?BK 8OC-*\.-)(<):%=0Q!K%^_P,^L =[W=4(FG2O2;Q)X>8KL>%O M9>)$"08YJMZ_T\POPW6LHC*Q1;QBOD"ZKC5XR JNW7C?WWSG5/C^J&HMC7XZ M-*WX>/XHP]M5;]/:/,'FI\A>G- $F53&Q;+B #S#S=(PO4_$E+GZAOM6)/65 M/)HO8+?!L@PCB7A@ :;WC8V4#53SYWG?9&1V>:7P<3H@FU&(?D! M"J=.GHIM!B :N#%!D,5QF5?,*.Y3_L$4V[:R=(&0A]_AMK7%QY5XQJ5CVH1\ MU3SY(83%2!_P&=8AWH&9AY%P(ZVB7@3[#_V9G.'S1=4)ECL_\1-\I8EF:)(^PDVRK ?&>SCG)>:9BD!J,(O8'?(+Q8)'K$+E-@6R M5LLN8F[==+KZ-H:^^,X)9OT)%S4T4=6&./E+Y"D2&U:[$(Q4-&@;7&X8#NMW M(:T1DK!X9T) JLUAR&XSQJJ6T(LXXC/CWHA%%8O"1]?;\PM>3]_]\DDT9/[U MD_(.3QQA?(Y33Z:Q]WOU_'=EY<*"">*!*R0>;II%DTAT=W[2F%S%&/Y7:(<' M/*I]9>] Z*9@S=9;Q$^-+:*XMM[)?*JWA^+@AECDJEU?%>K.PK5$;)K)(^7? MC'MEYNA(JI=+F(!PM:/" (T<5I+X1YGP8RWK=VU,8,HC\%Q#?0=%%92S/(JPOOHG%EEXHM8[E30DWO42O1?U]Z- M?4/*>\22/PCSL-Y!(".$OUM$XU=GYKAU+)P)$[!2<<.L-AP(*].II%% :M7)%P?4N1D&GRKG@&#'FG/W[U, M2V[489B FX1H;^'Q&WA\*7P=L+GCAX?7QZ/6;Q0?KB8'KX-51AB\?"\ASG-- M_E][5]N3N!*%_TJSGW2CM2\4 7=-$'0U,5XC;K+?;@8HM%F@6-J]\N_O.3,M M%*%LB]!.R_A!33J=GC,OYVWFG.< (TVU)3JMV)IZLPZ,(3W0(#WP*)I]-GX8 MC*'$A><=['J#AU%7AW;P>P)^,[/(Z<<_-NN"@6XR9Q$TJCU>+$@<->JD@%=# MP(F,SF5DGM+>53KF,Q M_@PDC%6VP8[*Y?!K8M5:2#5\+0')?/"V4#QA4>O?0E5'K7)F;L/]OO(GGDLRF5[OD=# M,F;X)H8^S/>4;C!-VUG*!YHGA.$1,IV9C?"?*U"+TQ&9-^P)Y8*^= 5+=@A[ M(A J&[)AZ ?9XV"KU.MRS=!QMP0UJH(/!QM)IAOI0\X3>U:#%ZNQ3Q59W?&9 MH6L[O;F-5D.1M7K\8[Z(O92KM4I!:*W)%;4HBZ JUXW=>LUC#1B59+W^I;X< M%U@\M43HXX%^28#9G@*9G1/\=371"&S.--UE %2#MQ%(M@8>)CW'G3KT$(R- M1C?P$5_""\TIAJ>V-? E4L9%('E TG3!@H\.(ZV/* 8VB-^A)-*NZ M\HULC*\& ;*KW F4+-<=GP1M)7D''7M* =&CC+#OXD?+^#Z3Z6,\*,T+#ZP^V;;WMSZ"5I M)RTRLZ0[F*@@O?WD#Y"/U9-I^FU,%TO3JQ.IN^R1X9!E\'9'0!FK,@?+-"B< M$-9NZIL>H??LH?WLD,:3:%H \5].+Q6/EQ^>.ARH@%SF%,0LR#-6*45J.ST? M)43I!D-X2#G9W]G<^1(^Q5%/DE"462G*3NN^=/(QA:)\)>_.Q!G/I=MW#WT! M<'840EE,4M%X$IHS*\W9:CZ63CY^3G.VR*CG,T! Z=&>_,;Z MCT*/"CTJ1+28I*+Q)/1H5GJT?7M7.OGX.3W:1L 6ZA1H4:%A!:35.A)$FHT M*S7ZV+PIG7S\G!I])%US)#2HT*!".(M)*BQ/0H-FI4&?7VY+)Q\_IT&?&9B% MB.@*12IDM)BD8D^24*39*-(*![(QC]P+):QO3^%8)418R"W/0CJQ0[1W@ICK MK%@^&#FGXLZ_N//_4>Q<4'"#ZX^0+!E2%H'6^C?13RSB0S 3YR@;&O75J=@$ M"W5>7\!"9H\5'T/'RLUO4*@OXXB++YGSU;8ML%L%$CFW3M M !>5=D> //891'QU UKM**EVI-XX HRZ895QBNDWF2/L!R8F+;&O(Q0N"=,E M9^WI)OH1/=!$^J4QZ2-LU@ 1_!#+#U%N&,@F0G0BS C%+@4*7?!RI@RV-\0S M'9H3TR6C"/7H 8W@:SZ*]172MZ!P?F(Q,8?A,UP0)/0AQHQF>*6M D97]";Q$^R.^ M9SDN<-?? 6,XWQ60+;S395W6]#KN\[3P3FI55HS:WH%M-'A8V0V):5NW%;E> MVS^QABX;:C(H)OX=Y(S#AU6>>$_F>Z"'RV!A M$(Y6(?!>2#XC;7$$UNL1\,[].NU8Q);@ET5LY_L3# M\[6@Q6F"T]^_!?@Y.IKBY0Q"K\2?0EUTG?X<_EC>>'3]/U!+ P04 " !/ M@ A7B:^$KQ0. !%I $0 &9O'-D[5UM=]HX%O[> M7Z%ES]F=/:<.D*3-RS:=0X&TG"6!!3J9^=0C; ':&HN1Y23,KU])ML$@8UD. MZ;)C^J'!MNYSI?M?G^$34Q\2[J=1/:A6 /)LXV)O>5+Z.;JW+ MRL\?W[SY\!?+^O73H M:Q [FR&.@21%DR %/F,T FR'P0.AW_ A!WX5L0NC< MLCY*L299+"F>SA@XK9V>Q<7BI_3:KI^ARQI\;]4@O+#.T85M7=7'[RWGTG9J M]L65/3Z_?#N]/GMW=3$97]6LB\D$6>>P[EA7-JI99V>7-1NB=Q<7'$* /OO7 MOCU#$3JNGM5J]^NM==RB+5J*R+O:^ M;Y1^'E,W+G]6%8_'T$=Q<=',C>+BQ@3:C- 3F\RKHL&UBUH]+B_0< 8^]GP& M/7N%[S!JL>4"^?5T(?Z\*IX+136K5K=.ZXJH7O+4JIU99UP2,D;Q.&#HEC>C MA28P<-E-)?!^#Z"+)Q@YW#=<)-C?*)!XS""=(G8/Y\A?0!OELLW'-P (TO!\ M02@#GB(\@?Y85MJG3(I50$APE]B02;\5)7U>5+9/*5]%+O/%E26N3IY]IU+- MKS7PK2F$"R/-29E0>W3'I 8);ZU?75U5GX7[I=<@U9MD>4M\M.JGG& #M;O< M,K]N?F7%UQ(Y19FS4L8,^><:4IL25S/ 5!>4+!!E M&/G)^4X"S"B:W%3DY!X/W]]<.#[A-8F+* HV^Z1X7.4BR.VN6Q++"G^\J?B< M !>%MCGDAB\H,FTX%_'Y["F)_K]OOPU=T_9S$3MP_QS-=]#$M/E/A*,B&8);'I);;M.TJ6+1S=B661;NW;?:]\-V MBW\8]KJ=5F/4;GUJ=!OWS?;P2[L]&AJ87H^EY>24$S'DQD0Q*3$F2(*""!6$ ML$>^$C;N0S[;\TTJP[S"^R1O$UC+Y%D1)L%/&UK^479FAR/^_UW[?C3LW7;N MF[V[]@L930'4,GF>C\DU-.C=@A#\R-_:W-P>_4'["R_3^:6]=S+3T+7,OBO" M[(:F(\\*$\-1K_FO+[UNJST8MO_]M3/Z;8\TIX!K67Y?A.6DHK^#4-61Y41_ M:PR_W'9[#R]='Z5C:CF]*-1S.3Z0"DK$Y"?H8Y],^HE&0,\9XJF')WR-X;&& M+6,TV)OVB8MMOBG*3VD1<"VWEV)?@GW;)7Y $;^06@"9@*0>P!6!A":P5@5B M726BN4D\F]>>RFJ029,B!S-NHAY?2](!]K\;L)H#2TOBU3:)&Z""S!!6TBB! M@40N$64=[Y%7GE#NJ!YB^>G9DM-14:]M4Y$ > LX1(EL_ID0YPF[+O>Z#F^$ M-\5C%S5\'S&#_I$%HF6COLU&C"9[PAH/A( EXH8/X#1 3A?#,78Q,YJ(4F2U M3)QN,Q&!@ 1*BG]8M_@E!+N%$7CRVI""0U ME8C4>\0Z'F<#<47%V].[^H*8->X>0)^"G^ M5*IC*-KSL2QD)4U,IICSM1-#2HP1'4U(R9>0D+1-@RDH&AI87 M)6Z:FE,H(S/:C( I37D!M9PI,=9-J2TQE>B#*%X&VEFPED*,E.R7M<^1YH_?-"67X#UG!]K,( MBJ"]=N[=\#JVU5-U^JZ=T 8B=:4D7$W3&9.Z&T)+G!+C24WUE9 6\8J4,1%) M(:WIE0B/D"ZEK=-RHO[J3ZD5QI"/['XW\883.T\5Q.'-!\*_D2)5K2E:#-+M(CC8 1^=7: MF\4BK:7T >U!B%6!<&EWAZ PM4.\ 1+?^ M[^'EP@J N 8@J@)8U>'H*6G$K4-"G1?$N%ZF1NL52J0KKU\XE-9 MQMQN"VK94D)5ZP-A);1[UBDN8R[R@.GX.5."2[G.A)60.H.36_L91O>E4.L" M2IBJZ &RXQ!;S%_DA@C;#(7/O_(Z-&P^@>$" _1^U6I]1XFS%?>==77"4D!4 M",0U.OI0-IGM8;__(YPF38_62Y1X7W$O$?J/3I&3K/2[K^D>V1JUCJ+$$8L[ MRNYCSD>?R6+PJT>13:8>_F/S?I/X!6(%^U:L]2 E*%G<@Y(5VGPFJU1*1U+. MNQM[Q$X$+;5*##']R'P)60F/KQ?/ZNV0US*B!.BB<_1E3]R%9A!#!O%$\(E, MY)VBYTKRP6G94@)G*[;6T.*HK;Q=ZF,CH6'$CZDZ@8O(Y#9@W&)W7,$\F/?A M4D84OWI\2@E+%F347(&68R7HRT&?)FTD'SP1VY^_&O'^ZG9^Y/ MI=8'E,AZ@5<5C^Y2U%U6A0?(#USFCY>1U.NZC%:MUFV4H'HAMUD+114!XV4L M?W0>'8O1:+TB;Q"&@L0C U@ M;T&BBD#4,4PDKZL)1#W_['[XH;KYT^?A]<;/HXL?1T=N^"-OPDN%7;^-GL@= M_ ^AS8#IIL*H^-9;\;ON-Y6=Q3WQ-LI8_)9S6%S\ MC#.^YA1CXHA:WE2<('S'M@+\@&-C%HBKSY0$BYM*6!PS-*\ %A9GU!*?_/JU M0^80>QW^4""M?_U=:4R?DC%J0NKXD7-D-V9G\4-IS/K012-QZ.(>L?:S[0:. MB-1XX0E7KKSC<8DI]U<_V=X)=/UD@PM#ZFV"N2#'C1^-(==BB\:C,68Y#17> MF1./=U:ZS&&E6Q)X#EUVR13;O+(.K[@$SV9>)W40#A#F#CKR]73\B 1IV:W* M$#B(!HF\>V\RFJ$'0ETGNRWI90^B&2TT090BY[/XC7=///LLSIG%KUHM=W8_ MO6#Q3F;+;RUXK5X6OX&_[,P7$%,Y6V?SER5Q$"QR,-^_@W2*O3ZBHLOLY"VM MZ&NV81$JR=&(]89MV+L=9#.27O;UVF'2H<9L?8"V(Q: O/='X<(1HO.,'J65 MW'L#PSNQ4([F;2R8ZMDDI9<]B [3X[L*7IO3VFE-IK(':!%0>P9])!<)<)[= MLMSB!]'8+E_S(+3:HLA8]6J<'I%/J ^QTYAP?_L-0Y%),Y?H032R_8Q],;VUT"-R MR0(Y(V3//.+R'3;2;!5RB1Y$(X=+GQ?R\\<9,@0.HD&W+O1G!F&37<4/HC$- MN;841_,,>UD.P8-H8&O0N,M/UJ[2!]&4](.YFLZ4*7,0S>IV/O4TJZ:-(H>P M;'I >#ICR&D\\AW*%/7CP[+8E]]G>DO)?/6>K;AH089ZDX[O!V(9('YW,3J, MOW-=LD<-KQQVD?7:0PA0$[3((_R_CUOL7DZ*%:1X?2JYJLRW&7X1YH$N51_( M.*":L6NSS$&,57R?344LHH7"OQUOAV/N)-, X06[]U?E+EJ@Y4H7II<]""[Y MD"JSY-Q@*>]::M;?.84/HJ%BJ58O$&S9+?-CFR73\KX]0W/X\57N51E9OWSO[X=31Y]P6X^GDU_>[Q?_WK'__XY_\!^.]?W[UZ]&R6CH]PNGCTM,.PP/SH MZWCQZ='B$S[Z<];]-?X2'KV=A$69=4< _UK^M:>SS]^[\<=/BT>"";GZV>I/ MNY\3E^A8,,!"L*#0)O \&L@N99:L3U&Y__SXL]3>EN@9V%(05. 9?$(&4CJ6 M FIKZ1'UH9/Q]*^?Z[]BF.,C&MYTOOSXR^-/B\7GGY\\^?KUZT_?8C?Y:=9] M?"(8DT]6OWY\^O-O5W[_52Y_S;WW3Y9_>O;3^7C=#^FQ_,E_OW[U/GW"HP#C MZ7P1IJF^8#[^>;[\\M4LA<5RUF_%]>C:7]1/L/H9U*^ "Y#\IV_S_/A?_WCT MZ&0ZNMD$WV%Y5/_[Q[N7%UY9955"6LRZG]+LZ$G]R9.GAV^>/7_S_ODS^I_W MAZ]>/COX\/S9KP>O#MX\??[^]^?//[RGD2R?O/C^&7]Y/!\??9[@ZKM/'99? M'B\Y4$7.+%OB^8\-GOKD!^84)NEXLIRB5_3Y]-D57G/X^&V!TXPG,[9Z_V26 M+OQH4N4UZU9_,1'[&] IBHOC.L>0@RX] MFG49.])ACQ]]Q:IO3M79":30I2O4N;B43G_Q9'Y\=+1\)HP7>+3Z^Z6;';61 M]F+6=*Y/1$K@MY5Y74"C9UB0WIU_FY$MF%8%_UL7IHL5MN\CPZPS7@C0T54M MG1SXHA@4[H2T,6GIS6WK?Z,W;2)B\4!$W'YJ=Y;VV=!FTX\?L#MZAG'Q9C9- MI\P37$<1@@-K4B0LS(#/Z,%CTDP*551IKK;6(MF$!O*!T*#AG#>3_^%G[&CL MTX^OD#R',S*>@Y50(6D;#9XA.5PF%R"2*A!1)E&",L7*QE2X%=0FK% /C!5M M)=&,("NU]9*B@2/\$+Z=&^\;7(P,%SHI0J%+*J $(8OH!6!15ON8R(;QQO2X M!=(FY- /C!PMI="<&A0"YO%B?C#-AQ0 =N>A_2"OE(C%9PM61=)NO"(,HD!4 M(AF-)A;T/?%D$WR;D,8\4-(TET\[[^,'%$+W?C%+?WV:36BRY\__Y[CZ1,Z@ M%C M@,)<%*7HI+UH+/S-T0U)L35@1D]B:4:;M]V,HM?%][>3,%T0O KM<]WBJK$) M$\X[36%KTMY/ ^EN-:7-!/IRN@C3 MC^,XP5."X>+YMS0YKDD!9\AB$(I7*#:3+ZU8,>"U8B!I?-XJI[)K'<=L@FM( M^SD-B-!<%#T=(+RKTWE8_IB?X!QICQ2UR03"H"&71!@(AGQ:55+0AEAKL/4& MQXV -J&%?3BT:#?Y_9T7G!%VI,D9X5P(8%DH4$)9\"DIX%%9&3,OP;6V"]>C MV80)[N$PH=&T][GCI;0)2@C21\XY(B$1TR=-B(QP0H0<$V]] M!^]_;I[.AH M-ET^]]]AB0&.E=$;#U#O5E#$/:!ME1[I=I MO=-TM]NURWE2U&86MNCJK9BY)TK4$*NS5J ME55A-K?>"KL5U9!V01H3H[%(VE$EI>.C.LMX#.*3]DM8DZE%8#;=D M%V$\Q?P\=%/R].;G0)/1'Z9,5C 1V]!V4Y Z^8@,B*PL!\*"8TWXJ] M#=60-EH:\Z:Q2/HX3E^=(OA2%/E^%C#D.K@@(&"0(&-*/F4*$5*/!^AKSVFV M4JJSX^EB_C9\#Q0"K\8F \O!>0D^9PXJ: O.,P\IY*"5)F6?57O=N0;)D!RP M'3FP1D7N.O4M;6MWC'G-"'7"&(7DD*1+I)@IS3,'-JG:-X+9@A M.5WMR=! ,VW&M[A%YP>GW$SPK( :=C\H7R$*2IQ8H '!!<\A*!)5]83FU/IQ> V-(+E!C M NPZZ7TGL*\P)1=2X&@@>T9C3-9"-")"L59Z+J6.IK6/<#.B(9U0->9$0U$T M3KA:01 FHD&I06=D0(ZX V_(\Y=>*:ML]>2.Q3DHSD:CX9"D&@XUQ!YR<3*%,$9'H EB5ZZ'+"T=I7/OW](#G([ MF6\]PPW3\?!S&.?GWS[C=(ZKNH^+(U0#QN17'7RWBB@ETX$(916 MK8W$!K"&Y#&W8T1K>>PMW?>R%0LLFU(T6;'E47).'*(CN(RAYP14DQG;<\[O M%C[&?A/ 6A"H3SDU(]/KT/V%BVKCWF,Z[BZ$%3)JZ6@"2 V2QZ^$5!!\8'6_ MT''/E6/8.OOS!CC#2PYK09)6\W^)$/]\=O-RI@P!7>Z H3>N; MB:+:%XA? 7''(!0>E,QWF_(>)9\R!4' M(OFM/&FDR:F^V3/\@I/9L@;G].DCM+721@4H2AM0O"2::"8 9>8L.!*C;9WE MPV0S:DG;FV9.E!,@WWZ59*_P7-PM/9E$9] M3&!/9V VG?^*Y)7B6<(WSI]_(^ DD/$T=-]?TCPN2\+H;](43Y9V9($=19*C M(%5@R2%8-#4\M [( ] U6@PI.JTXMM[[Z7$X3>H5Z=&SB_9V)?VL= ZLED\Z MLI0J%$;N$2M0O$#%K&&J>37;S8B&I+R'PM*U99%M9-K>\3GGSY5"^B,'3AS( MI+VDY1"+4L 3LX3!%UE:K\1;8[;[U?"#9=2.TFM9E;DN:QZK 2?+K=40=11;"FM:U=M=A&=+!SE )U42.S5A%+SY';).S5$(E,([8 MK63TX(32P*3QUA=G5&@=D5T ,&3G"8-ROA[82E,H!"]D.SR+"")%J8NH7=E: M9Q3MS7FZ7V=B>PY>75O#D'_C:(" GNJ)7REDJ7MW,:C,%7+06-.U:C?\:-&# M01,28UJRYOWQKH$RJ*VSUDS:;>+;==@XMVN;;-#>"DNVA@P.>1L9@HRE[MH6 MI96SI7D,=^W>^#;;9?'IZ/%_0='=GO0WJZ1C]DVOU%:H< MK76>@N]:_UE4O2"B6#*.(0;&4_&76X\WV$2[,\PA*=1M^7)U4ZU?:35;($]G M\\5AJ0TQECT$L?LR3CA_/YOD42Q21)5HP8J,H#17$#WY5T)KI[UPQ?+6)2+7 MHQF4LFS%DD:3?]_'ST\/7[]]]_QW^LW+?S_O\2QZW7OV=#!]ZQ ;G5*OJ:<] MJZ75S'$E6 +'?$V,DQ&<1U%#'<&*#MM'=;37C 4N*S KP(IO:;[B MJTT)@K4QQ*B%:7ZLTZJJ?U];?GU1I+E\]LL[.G+9CKVF-+R:SK[]C_HB_A?&T?GE0*/)^AVD2YO-Q&9_ M1ITCIFJN0E$@A!>@./DKT24&-EL9D!=4J75,T!+_D!1U93GV*OC>E^T? MTP[#9/R_F'\G;[>>*)^.X'#Z(Q7SH!O/Z8^>TZ/T7@FQ%ZOT8M:1Q*8G^<3I^X'>=P(.WO_^XM7AG^TN.5W_]'U%_>N'TRC6KW6-9,3? M=K,O8WK:K]__F-=NE+48;EZ/S0^('U].KF IJN8;6T[*S5*PEE%!$%@@VZ(# MPYRS:%V%O3FZG6OOPO=*^/F'V4'ZG^-QA[\>DY:OVZ(GZW)9P'/R)WG$LH]1 M&E+S.?I:]&4H^, $S#KK@[3"F]8S<1=\=W1/>S_3Z8-@5VKU^I)?N^K.RPC? MS!9XKL)XE(IQH? 282:S&TD1.L$9.8ERZ%HGEH7@MR&:5 ;WO?%I%WDU/*J MCH28EP?CK\/BU!==5JB>P%U6%TXF\\-R\"6,)Q4IV?OWX7Q96;/U0 M=-W5MEG/\.2_]/DDJ>+YM_0I3#_BN[# YZ2&TV(44/&BF0 CZBD]<@V.T_\5 M5;2QTM)_6I\I[7>$#8YCU]'R+(?['"U=UI:+8" ;12X\(^OFR,:!Q[I[P@LR MV?H$87-T0SH?&##'UYP-]R'^ELG6FVI-8:P(M1>$J9?4*IOK[IT(1*IDA;8J MR^8=FK;=*[GG0^0'3\]=Q=\W/5^,IV&:+N+C].=:ZP U8"6C;AQX:1 $9G1> M6B9Y#YDN&Z(;4K#W\.FYJ_B;T?-DB(?E_+ /ISM-\"@HQ6(1$D))MCJG%.@Z M^IBD=\5(+:5I?4;5PS"&U#WM 1'^O@G5M^)>Y_=8K@U7QH!,CO#52V%#L@C< M9/22$"KF+2FNJ:AH-IU[/@4.OR5\.1Z ([3^7+*1L[[DHRJ]UTXTC%Q M&2L$!DP7C(XE9YHGFZU',B2_>T],:2"2/529'!S-NL7X?T^PD;Z/PGLR 1@+ M*$&^NZ\78V1OK"4V*]%\7WHS9$/RB_=$GQY$UK*V\Y(2O*:1_L@XSF/M5U2[ M@($J5H,/Q=<+%HI$Q9#[_JW6->"&Y'O>F_5J(;C^;N*]7,**.65#(9L)ABU845TF A>L!Y3DB'VDMNY";@A=?G=$YOZ$5S[NP?^[&BZGLV^3D<& MHTB8)-G93 Z<2PC>.P-HA"\^>ZU9Z\;05U$,Z5;XO=FNG431I_-SD<,G5Z-K M;X(0L9I-402:932<'"N") A<"L0F0^M,R'O7(CK_UZ*97L!-'1\/W>8QJ<[!"9) M7KM/F.S(@?*90:AM8*+,/)8A:2=977;"&()#)3QCB(\0V-V1AGNB-ZV?;!] Z"-N'/?*?+]DV=;$>W! M@)VO5A*A,"4Y%%?Y3)XQ%_US"M1&'[CL??G]V;$N!];V? ML]KF_G$DPHW*6@72APQ][0^($',V8+-&34$C>7+MKQ[=#-M&E/J;[1SW(K<> M675ZI>8*W]JK-4>.&<D$[P_MWN39!NQ#C[MU=B MS86Z,P%KHX4;LI1^FWW!;EH/5'[K0BT^,B5YQP3$8&EQ1,TAJA)!>Z\(LE%2 M7FK9=;5QQ-U>N1%SW-]#5_4HC/O(G<\HC6"Y@,_*@'+UWCU'_AZWN12CK%-L M3Z4=M^;.;U]M^0Z)CI@_S#Z$;[5G\*>3?DBUP'A]1A<-6IIB!0B;4G6 -43R M5,!*:YQ-6<78VLW<%NM#:(^Q*_&NJ\3L5:[-:WX)UCO\?-RE3X3KL!"PH]GT M_6*6_AJ)6-4#.?E]=0C)P2T65O M@$ONZI HWB\A 6)(@9&ODT7KMN2]#N@!Y)8V)^Y@"-*,\^_.FH,SZ<4!@2L4@%:WYW#JQ:2V0(14?[8]7:VX/WE%9P>2CU+JI3--R0 MEQ,8(S,@R)$N&<$'4]/TLF5)1>2N=O" _( M/'7==[)$_PZ38QP9%01:94$84\ME!4*4]:)!(XTM)0:NF])- *_1"H$,G6M\6>CNJ(3DT6_/AVJS]-L+HH;!CUOU5 MSW$H(IY? A9RJ. M)Q08C^>?ZIG-+%\"5M 93QX3$%L9$;AH<+IX,/39FJ(MT;LOGEP/:TB.27N> M-!)'SUY&1?=U/)F$:7XY783IQW&(M;?R378?7R'FI7%C@ MJ_$7O *C\DU$*[-T"6H*(^D-2WK#C#GR M2A5// ?I30'%=8 @: 5X[I1#PY-HWH+O-DQ#1W M?T9P34%,/W;PAA?U;@HW'>2.UG"9:W034Z["^#!;A,F(,YNB0003'5'%EPA! ME@(II.PYBTQQ<=O4;_ORG;+8:X<,KEIGZFR'= A;%0^$@W<6['VJ02(5CI2223H*<9"E M2& EJPT5%&ATR2$:553KBY>VA#J$AG /A(9W%^T]\? ='H5Q36D[+"_&:7D8\A 9V#X"A M.PFZY]V:JWT!=MB1N?YA;79=-@3;Z)SAZMM6^7992,FYBX"R'CD)5.!JF5\L M0:$/W!7>VM.^%LRN.NOTP<])OK/ON&KK>3948Z+.3$K0AB=0.6F(RGE(13N5 M!6+3L[EP)L7QVT&;0@;'_WRI@\9M>W8>_VX8\)L M'7*PPM=]%N'!1<*$P6&2:'S)K9O@W8QH"'L4_=*EH43:W9QTJO-.BS?7P!+) M,:4U@A9!L FEC=L4H1@Y48Z+<"FH(&PG]'2T@B5@=H1-CI2?TJV3N5;AV,(<72_G-AY M]GL.@U^$<;;9]%V]-;R. MZM&T";D[G5B6@7JRS>? 7DVGJ?)K*(862](LV !%@-9):OJ=7>! M&)P%8B@IYN8;O]>"Z:=N:MVHG14QD!T&8VF-JL *>..JEX_&V&*1^3X*5S<" M-ZCPO0EO-JN-VE5.S>S@Z]#]16N1;//[ND!/+YF.5C%I B!3]1(73M$@*P)8 M$L%:'HINWNMN'8Y!Q>B]D&/GV6_8@WZES$_;E@F>O>*:@R;VD35&LNPN*S"8 M@BTR.9]:Z\K+& 85=//Z^?['J&T@Q], :E'O/,L1(C<)LLXQYD02\*VW$M8"&9)) M;,B,ZZF_K1!ZC@'>=K//V"V^UUXW"W)WJ_7^7'W._!N??61/B84LH4((+@@K1EO>O !1(U%ZEHZV14S>^DO0G/3AG(-SWX^;?: M'(FBY=GT)-0E 2XK&S]V6 M!O&&.D6(GXQ%!.:Q='ZL-L1$32I94BK$_O.BPGE4/9AF*]#2#4)2].\37LK[(.H MF;Q/8MX+"7J.5,ZN,"2HRWZ=.X0GUSZK34RR&=1&@'-.W)PU/#X\7\QH M,7-'B+NJP&M>=^4]]8PFU0M9F&2LWKFLZPF?#-7)B6 ]N3D8,>;06L_="> 0 MC.P^N'99A_4GQ;87H%0]&2:G#;&7X X6BVX.<=VZ!\'NJ(<4&.V3DGN6=\\&=7E[ MY[PVO)Y-*[9967ZS>X^"S1[S.3E)WH>4BX4H2@%E8^WV MZ"(8&\A+*L)HW_SH8/7RMG?RKBYLS4X'7CNC%B_KB 0'7TR!PESA,2FAFM_0 MO1;(D&S?=O*^^>[<;>:[F?5Z_XDB@-JK_,?(*#S-+@@-.68/RC@%GK,"VG,A MO-,20VMK=!7%D*Q+&Z'O.-/-)/[OT(VKD?H!0_DB,8L,G&5#;E/-B'><8LY" MV&K%A6Y^_GT%Q) .P-O(>[=YWHO9?Y\^83Z>X*R\.%X<=_AZ/!T?'1^MKGM9 MWI!Q\LN='8&[OZJE:[#C0!LY"Q?5_H][&YG 7++T8)Q6H)PRE6_U*ATE4&<> M;?/;QJZ!TM:1.'OLN0QH1@-2FKQ>GFOO;8\%@HL:>'+16L4M#W$_8[U;8OJ^ M'(P6'+G9W=A5*NT*H];#6B5=2YF"+)ZLH0F6C".%9Y$' RACY(91Z(2M:\)O M1C0DEV2/--E&'NWRM7 ^1[P&V4I]/SO&443RGC2CD2*WU7DF5RIDLMG%"$FN M5-*N=3W#IMAZ6B>CK(,.@0=()=! ,XT[1@RPK(3U*;/ 6KMM&YF-^X[0>F#, MADOE3B+9SQHAUV8\7]X_7B_MK;W&#X[JIU'@BI'W:<"YVIQ:UG0!S2684"_Q M#8(;W7Z_8@N@0]*Z>^%6_^(<9FPQXGN,+NAE]QI?7!YLL^W(#0F*R7.*;#6@ M-:XF?3DRYK9 <<(PH4-VL77(L2]SN>E[SIK,I:"\JYP1XC#V@\>"N6V%&&;M-P;$7Z8_8IOPSA?;&/-73;"$LB"EOQ@1LLB>L' M">XXS566J&_S\+9\]Y!:D_1*H'W(9N^*ZDKC0!Y1,G0:;$RURTK2X+(P$)TS M,GN-5WKW[TUC;=,;D= TM MG,(P)?2M;V2],\@A-5(9%.FV$^.&6R2GW]=_17K_O_[Q_P%02P,$% @ M3X (5]>!(/Q430 UF0# !4 !F;W)M+3(P,C,P-S Q7V1E9BYX;6SMO5EW M6[>6+OI>OR(WY_5B!WVS1^TZPUU2KG)L7]FIG/W$@6;"Y@E%NDC*B>O7WPDV M:BB2(D5@D9*5D2&K7>O#G!^ V6'B7__W7^>#'[[">-(?#?_Q(_L;_?$'&,91 MZ@\__>/'WS[^3.R/__O?_N5?_O7_(>3_/#][\\/+4;PXA^'TAQ=C\%-(/_S9 MGW[^8?H9?OA]-/ZC_]7_\'[@IWDT/B?DWV9_]F+TY=NX_^GS] =.N5C^VO*G MX[]')L!2KPGUWA ))A+'@B;)QD2C<3%(^_]^^KM0SN3@*#$Y Y&>)>(B4"*$ MI=&#,@8?41XZZ __^'OY$/P$?L#A#2>S+__QX^?I],O??_KISS___-M?83SX MVVC\Z2=.J?AI^=L_+G[]KUN__Z>8_39SSOTT^^GEKT[ZZWX1'\M^^C^_OOD0 M/\.Y)_WA9.J'\>H%^/HTO?S#ZVC43_,?XJ].^G^?S/[^S2CZZ4Q!=P[AAXV_ M4;XBRU\CY5N$<2+8W_Z:I!__[5]^^&$N.3^.X]$ SB#_L/CTM[/7MY'VA].? M4O_\I\7O_.0' T0\>\+TVQ?XQX^3_OF7 2R_]WD,>2/ZY9 +*%7@_*_RM)\. MQO09@8SC10""WX5AH7A%C.N>?CCFRV>1!-E?#*85$=]^=E6\HW/?KRG@6X^N M@';V('(.YP'&-:'>>.XUG$N0JPC+(\LBF7V?WRV<=7+S]\Q(^_OGK[\<.[GS]\?/?B/__]W9N7K\X^O/K_?GO] M\9]W#V.V&I?%EQHZF^[_ZSZON38JI$]_V"\KTAO\6$9Z'*H@U&\\?Y!68I'E]P9 M^ "#V7=[%Q/RR?LOO0]3W!?+%HFR@=?XZ:1GK:.99TVB!$]D%IHX2QVA61N6 MDC;4K6'>9,GD["=AQKW%*WXJNOP)!M/)\CLS[1$- <$VDEI1X MR@+A#FQ0.ALO5.5![PGQID2N2/ULO)3-8MVXY\*2QZ/SJMR8CKI3R9P6.+X? M?QB-\7'_^)$>RJ 7H_/ST1SBA\]^#)-W%]-B%Q5CLP=<*:>S)#&@52>I,21X M"H1E[P6PE"5+E>FR#4_WW&BJS%$C3=QF"3N4);='W9..6AE3)LR(B(BX(C: M(FCS&Y$A.!1!]?5S%<7C9L2!4K_- UZ%!Z\GDPM(+R_&2,SW,.Z/TIROK]#* M&7T#F/W2^XMQ_(SR0<]S..EQK3,ZD92@[6&)="X0RWU$?U(9[[2B4K$69-D? MZG? J,;ZNTT[T8AV_^4'%[ 1=4]P$(Z")%H(11"A)%8'1Z("15.(49LF*]2^ M0+]+RE74W6W"R:;KW.SCI8ES MZ22AP:.4'*)V2AOBN9&(%N6G?(?+W%J0WR77*NGL-LETT^7M#";3<3].()J5IN?+MA)^J$(%Y3X3.#'TC8"28*$@ %GP)0P9J.EP(GRC9J49O M,])68>09?%D8ING9,)W!M#]>-\-Z/!M'/0!AP23$ZBPNZ=00;C73EH%2H7X\ M>7=\WP'36FCJ-JM<-ZR:39)>%D$+%P2Q2J,QZBG%)1EG@4G::,=]LJR).[$; MO"=.W4=/:\*S!T?QGZ7_>S&9EB3&Y./H64HS-?C!>]]/KX L*:E9)-1->GY%9<1D](@G9,!,NC%Y5Y<@/ XR;$_66]1O,')Q.VYED%\REX M$PC^B\/T,I) T>, E0QN[5(947O!V#WC725O*YR+"15&>*2"R*0,\=L#ZGD^^C" GC:U*@>(<5V1P0_S$KR_Q\$(;8I__#@=7\#5-T?#*?PU?368O? ? M/T[@4_FD&A/FQ"K;SFA8K)YG?_4G/5721SH4N21&9#25L+]P)5&^EM+<2&]8"JKG;;RI- MWL*!PQ4W:B7USBB1K)24JD@,EVB$N(CFIZ.6:)4=6B=JOH_/ MA'V$W8 !UPRL7V=6<8]3;YTI W,ETY$]$,O!$F-$9IX">%:[#/86B.Y-_@K* MV5RR> _)-JAFW1#H6(#3R4@N<<<#J1*13&MB%5I.P+U!=$*Q6#^(M0708Z! M/8DWF/G/8KPXOQB4,W&;@A(+H!Z1&,8S"3%&](K0*;4F">(S#92&2"747A%V M!OSR+CH_QB#+C<^>&< MQ&?]R1^3EV4P@\F]3GSM_/ ZY[SN-Y:5TUW1*\/P?ZT%E2;F8)T.*CC.N?0) M7&_WUQQJUEU[3WGN54S$.$^=L8(P*/ZMDH$XCGM/5CHIHXU.+%>W[S:A.=Q\ M77GR>_3[\1O^$[">U@:"$Q3GG4-C71A%[&R7C29:GP7.Q-!ZI-?P=+\Z56+! M;4P^7=,$9J3 M- 9W.T8#VOQH"9(@1.GYHFVDP)RLGDWIG!IWA$Z/P8Q]Q-Z"$1>3*;KGXUL0 M%VX;.$HI&$\4R.*P2TX"H .G'%I&X(RPN;K=L1W2"5BA]U7?*BTJRKX+2_3Y MM^$%O(7ICG8&$WL#X6>'Y&4>#@ M<>1Q^GM_^GEI,RVS"HD9M, EL;3, >TRL?P+M_ M*#R+J#V\3CNT/=&(-VZ M%S4T-&HEWHKK_!W@HM5:B(R+#45N,ZK1+A8>N1VE!5R/U&X=/T]+YQM\A.Y4 MOH=4*ZJZ%#CT/OXYNCG&Y=Y"'<])>V)H.:P$%LT,\)XP9Z*U47B15K;SV\49 MVU[0W1Y=4?:CRH*K:-'/,+T>3F%9-VC!)0'(T.Q!$*D411P):RDM,S5SK#< G&H6[Y\X/7SQI D1 T6YT4Q5(![XDU* M)"0-SN,NI7.K<1VU&_EA&E[UO@^5;(.HW1)2#U^C,X^)R.P\D0XX+G^9SXS2 M!%9)E6N7W"_??3RUWEL1&Q2[EQ0;1-26.)[%_[Y8;8V#SH9P@IE,Z/PX&23B MK CE]$>622!_;>T\S38\CT?K!TN[0;)WB0W'"?U/PQ<7XS$,X[>/8S^<#.;] M55%DLPX0 :RWSAL20U)$6BF(38*B+<4X+XP-U9,TNZ-[/"RIK(D&?;TO5[$0 M('"!9 V,XMKE%> J!FA8!_Q/X$^8K=T??OU><(\\9/P,Z6* 'L/RB?-(JJ7. MAA05$<5-D#HDXK7&=3K@TARIDA!J;V\;H'15CUW7=*DAUU.IP[X\ZTSX3*[, %5VTIEF3BG6 CM:DHH;&-W6K M.%CR+4H8YEB6=8([@&E4#'4#R)&[4QRNJ%4*'"SEYJK/+B?*&,Z2&$O[2%=: MW"+AJ02MP/& .^+#4_FN72@::WP?X=8.E;X?CP*\0(-N.;CEN7AJ#1@<3F8: M[9V4&-KJTA MN.&@*&5Q1>$;HJ4;7G"$6]3N+_-198'53DQ\^#8IULQ-0"8" M+8VWB @9MR*O W$A(RKC%>I(>[%CO'O=TQ^L^@X658.E=KF\S)SFR5R.L^+( MZ'$5$8SH:'WI0RB(5S*2+ ,.7SGKJE\/M '*8S*X:DB[071B':QY$&5Y3&,7 M@(W,KSO!'<AQN!XZ6C56@-H^C<#$>+K:W1&VR*I3Z^AB(5!972YF .,684CP;OWKN M?H,EVO&-^GUU2DN/8/#&S9B4Q\)(62D0AH6($8P*O MW>?A+DS=+V[5&;*Z7U550X.L^Q9\UUJS/3L?C:?]_YGEB- )=)(GW+3!*(LN M-[H"04A)-!4N@PU,N[ MP&T43]P3ZG&BB\U4OSO%JNGM!.C&%$,C+P=B&2V-UW%+\"8Q8JS)6=H@A*G= M"/0D:'9';/)46;:/NFI'+U_A8*?]X:>7\!4&HR^0/D+\/!P-1I_ZL#P(5LX6 MB7+?;LR2$VE3("'K0**D-F?#P8>5^S$V!#5W>-E)F>.':VO44-0M>G@M3B6= MP;PV=/*Y_V4)S000+"5/+/7ET)-WQ)6RS*238B%82^OW4=X,YW'RI+8>&NQ% M'\<^01GF9:?VX#F(WGSU5[F;&-IDWK:\J'7R;=4,&/H+O_KI MQ;@__?8L3&:MU'HYB8N^'H;XB:FMU=S 6]X/?9E6'_\H3&YLI]C8?9?=\_'ET@49'4BFE8(A(I2LMH+7N8HHD 44+)/B$ M9#HZ'0O2)S:V4NMM,JJ#DJ";(1>4<:7"\EF>PO@2-V. $'5$&]B4BA><1#[0 M1$!&[S*EQO"5@L8-R=$#0'QG3.M49[>YIAMQ;=WT^#B:^D$O<.JB99H(9021 MQG+B)57$"B5TXJ!R$@=R;./+G[A57T>W.67J5=5N#'C-*_12BE0;A$B5*0?Q M^*RINR>.LJR5A:A7UZN*-;7;L7554=LX)-A$%:=23?MZ&$?G<-FNXTWY@^49 MSY""PHW;$Y5\++AQ_[B+[)E7^3Z;L\NV5L6?(F+=<<+*'>X%"Y!&*Y2*7X MS8!"BUVEVO7,MT!T;P=75-*MZ_P.D7"#U/@'F%GPO\ 0QGZ 6^6S=([RGHTXN;7A#-@G$&FD278'&CM$7%)F,"ND16)5/[NL0-4 Y=8,J#WN47 M8TC]Z<\^]@?]Z;=RABR4D'1W*RHK27TR0$7!H9 M1U6"]"'QV@T8]X#7_>)2@QVKRTHK?338F]9!_=7_U3^_.'\^&H]'?^+R^,)_ MP9],O_6TS9!UUL4H0YD C<2JH$GI;^1LB,+PVC4%^^![O.2IHI$&QNR;T?#3 M1QB?%SF4?WO(X8RV>B0TEYH95AHGZ9 1GO5>"Z]3]08(JQ@>"0L.D6R#0H^; M8WSN)_W)AR]C\.G=\+_\N%]"/F5E8SVAN046)&$AXJ!]:82N52*42JEE\$GG MVI[MKM@>!S.::*)B0<8LQW 3Y'+O>^^_S0*$,SXG(72*E@CNMAJ;R#.!M4.ZP$6'K[*&6)QIM#D*=?P^D_08SEE@$B) M21'7,EZ:^"AA2 (##.TA:UQM&W0O@ ^;,>UU4K%"X0KLN/]UYG2_'151HS=^ M7F[3[NF(!H[F9MCZE(B31B7PPMCJ=:R;L#P66E20=,6Z@?5C7221 M8M:&.DEP4)1(QW +8UP1YZPQ*8$,4/LLR!H8765NVR\"^TOU5#*S-\B2Q<,K5O4KJ-XEAYV(/UNI4G>\NW@6]Y$]&U$\2[ MX&J49-V$Z3CYU4-UMI4"!PJ\2T*H;(6!Q+\5)01GB/>YC%&D?J8>D8^WC MMMT2X8X\:E<\V$?.M3OY/+_H#U)_'A-Y,_++%MN",^FBB\1QY=!JS1I]7.^( MMC1[0PV+8;>[2=8__]@6WWV%/ZHKN09QY^NABODM2( 08BP HL)!EAL@C58$ MW5D71,XYRMH->%8Q/):]_"#9-H@=7L>SO)ML!T2-]O#;:(ZS>Q^FI2TJ/T#$ M#7;M-<@\91J,4R0(\+CTB$#0L?'$@=4\&AURKITDZ$KI=^S4K76^CV1K[] ? MWOU\MMA;@E T4Q?00^411T4-PO! F)&^-/@QUOB==N6K9W:_$Q\JWM'ALJE] MO=NSE/KSD,\U0((J#LQ+)%Z)+GC-B<7OE4)=)@3+2:K=COBL>_K#5MO!\JH] MQ]Z\?OYNB8-EQ[4*BI@(FDB1T2"D 8=&A4DZV:AW-'VO/?1AJ^N^TFF2+ET& M6:\,N[/^Y(]Y;:M.N @$2F@HG7JL0]-;EGNC RWW(;D:Q]_WX;GL9B]U63> MX'3Z%;87H^'L_-9'_,MEQ?H.V)H%M#;C.E90JY86-]*CD@J:A+BV8(R2TL0! MIT4H5Y5&S8@K&3J$*)P%Q5.NW:F@>WK<&>HZ!COVD7R3HR17J=LENLM>EXEG M!8+(;-$80=^!!!XX8@1P3G 9&AQ*VX3F&-&R6EJ[=82DBLB[NM7O#,IDB.6$ M\/#3B\]^_ DF;_UX7L5^0'GX3L^M4C>^_PA6"LJM3$%Y%D204FITL(30PCIC M+4!@3O=V>L-A$_7F*T:3=O;BS)QWN7WH_EEFY-7@_YY?UA^/*^# M7I2A]!(*(%JCB&2EA9!U@EB<5D3%#/A?3KIZ17X%V-TO>]5YMKK\=:W,!@F& M==.]9Y)-I4\J\L"B5V@T$(<8B6):1(%;!/ZPZ=R;XWCLC+F/N!O835=GU;?P M>7&U4S$&A%.A7.V4D:U2XJ[N'>%>!:!""&5JEYGM :^K"J3F-&FEDE,I4[HQ MJM(98>Z8<*%URH(HD\M2B$:H#1$_0QLE!*Z=S;4KE=8".7[3B,I:W[8(W4OZ M#5:A6Z"6(8<=8#6*^FR =)R 3P6EW46# R3>(2%H5H$J88DWMJRKTJ&_BBNL MRIXICLZ,5+4/?G=*A#M".]WQ8!]!U\[@/$,=\%O EGT***0PVUF!>K2;YTD+ M2RRWP,M1/ZM6RITWI>*VO.7(QN=]]3!J(<3J"58$QC8!RUE$)8.>]]J2R9<> MD"81ZIFFUI22O3L#,G>^Y9%HMXH06[@4RR84SR\F:!!/)A_F=N/\6L6HC35: M!I*EFH4=';%::*)-R)$"IQ"JW^B\#=!CM_?J::/%3>!S+,M@] Y@&EE[-X < MQ\:KJ*A;'5P.E7*+5>(&**6C].4>^A2C15#.D&!S)LEY'CSZS\K5]OXZ4/D= MUEQ7&M]'N+5MN??C48 7?IR6@UOL49I32\%3XG#U(I)&CSL?P]%)2JDS('C< M[4;9#2_H?H\_0.:CR@*K;;)]^#8I4:V;@*0SSI5RH<0\(]+12)PK_<,,E__;&:7)7D7;&T:CVB!<=WP;2/ MN;4W%XYA;=72T5:5'R#@YM-_V1'0(9O! ]%.E>H?ITOF41-(B>64M/-^)X/K MI)2^P=[J4N?[R+5)Y]3QE]$8U[*WH^'-/0B2LMZ[@*9#QCU(E4&6+A;.6"&% M2MZPV@6U&\%TM[O7T]6M!JHU!-T\IW\C/3ECO##(]V 4B:;TM==2$Q],:6,1 M%6BF&HI?P; M["F; 4J(63HK2' !?=+(T">-# BCFDNE(E-&/VQB[)./ZXP7^XB]^@G&Z2C^ M\=Q/RNIX7CH_SW;59=FO22D*11$)<[C_I7)GBM+$>&-*NS7%_0H?-H4$MKRE M^]! )4V,6HBQ@07QZOS+8/0-X -\A;$?1K@\U.>#2(P2)0WN@<:E$A,IQ\7* MH3.P5,C:%N0&* ^= C4EW<2)6)P3@/&L:O6*F1R J1B0E*;TD8\V$4^M(EKQ MR+5$VU;7+K_8".:QD*".M"LFYV8+U.OA5W1I1N-OK\^_^/YXEI98P%+!<5F< M9*9D*3?A@7@11"E:3C0EJ]1JP[D-J_SF=SQTW=8488.3EN^FGV%\8ZP+7!%P MMQ&KL=43*U6XZN@G+0Z= 55EO=/LZ.".U[GN5CTMM M>T6SDU,[CVOE$!6UUH#)6J3,D!C!)6J8@V2\T%:ZM+;,?]O+.CA/Y97.1N!. M$H(JY_$DTLQI1J0(7!;VYNH7>'=^GNKR0$4 86.0Q)2N"%)Y();A9-4^XX^, MIRS6-E,?T/F5?9BPV_F5/<3=.MRY&&TO&YNS!4ZLP3U6.E$ M!=2V9C9A>814J"+V!C6%ZRCZ :;3 :3?^]//HXOI"S_YS'N(DAH>)8+3Z&0+ MY4G@"5TLH3AU'BUP5[L0=4=HCY L+932P#':)R4D&??) 45L&9T"QQ%J*-ZY MUD%ZIS*O?F#MH9Z&/(0YK51R*J! F7,T5D!?VFDEETBCH>,(Q+<8ET[N ^5ZKY?=2U-;:Z?M(N;GJ,P3NA>7$"8:K M*#!*;/:)*)M3B-%JGFKW #GU:OEZ&M]'N%U5RV=(I?NX(M3+4D",BZ85*9+2 M!C*P%)SA*[;JPZJ6WTOFNU3+[R.P3JKE11"!F21(MJ8TVF*&6)LE\599*7(" M-'L?;+7\O=5WL*B:=));>Y/V;)7AG)7\JR"*^E J!@T)I6+0*,%L% $95_L: M^BUP'KLQ5DL3#8(,=URWO@.X1J;95F#',=6JJ7$W>AR@@^Y6DP5()R1G7)0# MWZ5-D,X>ESJ$&YRV+D5+>:[MWAV!('<8=L?AQSZB;U)C,YF^RQ_\ )8U =YD M)Q6-)*6(@(1EQ$KM2EC>D*BHI%MU-8=(N$VJ"O"!GW&? M? E?83#Z4D;\ZJ]2_K>L_$(4";S#[5(*B0,6E" T9+ZF43$O2@E@_:#T7; > M$RUJ:Z&)LS_ 'WWZ!88P]@,$^BR=H\31U)KU85U@O:PE\IYRQ3,QGEF$: M6 ));A&I0F,ZZ]H'.O8"^)C(TTXS&VW4#BI\\)\A_C,=33_#38L^QO&%'U2N M]MGU=8X^L*%))PHVK"V6V/7%'50$,BSR-$J&#E76+M5"^TBZ=6?)91&;E8HI'2W1A?+( M=B V<4ML=H7J3@FH?9#M!&L&6VK_/I)N$+?;6+2D&2CC!1 O2AMNX0WQBCO" ME:*4"9M"];9T)UHK5ID%523>H-1GUXHD\)PZES/AR%LB#4B"6U\FR@IK7$A& M0Q>UI*=7)M;!7G&H/AJ484 U&))R]VA,GG"%)VLA=% KLTUT AYO2K51R*M5O=QV@3XZB M@\TR$:6%BF3,XXK")3&)!Q-]%-)U>!'0@TFZ[L.$/;N5[*.13IM1[ +LJ5O) MWBK3?*4$TC2YQETCD'F<%EY$XKLHA>QZ8C\G84/M@V,/J5M*&%_N( MO0$?-O58B(I+JZDFBI8U4@E.?"P]T]$3%0*2LZRV ?, NEGLI:P=NUGL(^GJ MM7C;^JQ0P:Q6-A$FRRT('C]X'STJ3GD=[*S>;+>:O ?2KN8^VJTKQMH%LUMZ M+,@HJ#+HBB4!Y0YZ:XAW5!$M8I+H*V:(;"?M/HPV%??6;241-@C6;>Z,8A13 MA5RE-WHY)E;2M]Y3$IP446413/4FA@^B#\TARW<=:6^,U%7.8_^,5/TO/[@ M7^HX;E]X/;G\A6>3"11&^\G%&-)H> ;Q8EQDANM9_Y!.%K4A5,EW-Y7+2@[< M<0W.FH3K/Y=.J,!I$$(FSY$Q3/I>;3"'+2>7+WON!\4\^? 98/K+>'3Q!=_S M,U)^&/M^<%DV\L)_F=W=>A7($4H&E;,BRM-9Q)J1D*,F%"0U@AGO=>TLT:&8 M#UZ"_:142I5_7OWW!2IP<$-M+_N3$BU"G?6$M93IS(C6Y1(R1C.Q)C!BO"N' M=XV$^JW!=@77_1+=*==NK>1-E-8@$_^K'_^!4SL,T&? ^8XZ@4E/6V>4U9+0 M2$6Y$)<1+YDE*;$$/*-KJFO71*_#\9UQYF!5-'#=K[:,^?903@9%K[DN3*7H M25*T1Z6.A(;$I%)6<5K;[%O%\)W1XB 5-' )YBC6+64\Z:1X8L5(50B,)^*- ME(B.,LFYIS34KNS:".8[(TD=I33(\5^Q]TW?A_Y@OJK9;#(U.#9=KGN0*BIT MDLK)891!U,Z$^H?XU@+YSEARN#(:I/.O05G+WY@4"XJ3D*0I 9!(;(J>*(B4 M<6U86KUL]F"J;$?TG7&FHGINDT<=2IXKT7Q;)YQY+M:';)WUGEA?&A,H)8C7 M0A!A:8HJ1.I3;0KM@JNK"HFCTJ>Z@DZE;.+:P"X__?<^C,O!IF]ORK&F64+/ M1FMC $^X+B5V%A=7ZT&0Y*U!8][9D&MG/'=#=JPBBOJ$V,RX6HIIX%A=0EL$ MW&[&XB[Q+H+*NX!M5%BQ%]#C%%NTT/@F4C53U]$YQI72/EA*P#!T%)*T: ;B M>@\N&YUYLJ&ZH74"W+JC7N/DJ+6/EEI2ZO7PR\5T,I, 6Z8J#5?2&4D4MR5' M5:Y834FC*9@TX]$Q7KT>=0N<(YKI]16YB3(':J%!/'D=-+X\_)],4"5XR1+. M#8262-"!$LL"5^@_,*9K'_#8 N=[(\A]M-#1"B*6;:8! )JTU@J=S6PH@, M ,32' D7PGEF$+5HZ$O=!/,]N$\'B+\E+VX6*KQ;*53X;3@*I9ZV"&)&;OSQ M:!C[@_ZLGN;ZJ!;S:)=QM7:N*H_IZ'[8(=391,A3T'O+#;'V^#*@5Y*<)^4? M(C,.TEK [8)!B-JKF&/M),O#XO/NOM]#H/,^ZFY XU]'0_@V+V'X^6*8EO6K MFD=A@P7BHU_NN1'-&:.ZJF5XM,#E=3 Z_QQ>C\ M'&V@OA^\]V@,+2]AU8GIJ!UA5I<["R@:HH)R D&!Y,IH(^JWXUL#Y(DZE934 MI(GC^,MH[*?P?#1,5W532U]7&VNXER2C&T.D4>CF2AN)T/XYF4OCWO#P:WT$6)CI45%,UA'*V4,9&0E27,"._1%-#2 MVI#;#>:)3584U*)CZ[<,OHZ\P'I;HX+-/@"(H%YF&Z2W. M.RJHI#X2:WRYQ%YIXI.1Q&;J%0!YM9+::$IJ6^5Z>8<2_7 ;: M=L#6*,"Z#==Q@J3UM+B1'I54T/0XR1J,PF61 4VT:(TNE\[@\A:B(UJ#5LQ' M15/M4%'W]+@CYG@<=NPC^181\-$8^I^&K_Z*L^;,2X!+=U!"GG6;RZGLKU+C M^)D)Q &'8(RWFE9/"F\#U+WI4D]WJ['H:H)O$!-\.T+3&ZTOZ,^,L06HI*+/ M*G@"LP8YG!4\MMP0P%WBV:,?5[MI]EH@CX@%APNZR:4]4QC#9'J&#MB'/_V7 MI1O/([<&_7;@R1.9%*#]I"4)$@RZ^ Y2]1M:UB-Y1/JO(.H&8;A_A_2I=-6 M":Y0UVXC1)DXI9;7/GZY'\FC=C J";Q#TN(UJ M606U ZY&SL4F3,=Q+&KH[4XJ'"#T!IO$1GQNU@+%I6(:F\+_0'S2!62DSL<8 MHJJ]371+ACO(--P1K]"2 M349H*F+IJE6[\'@'6-V;$'5T>,NSK*N C:Y$Y^VKYM[1BXOQ&(;QVZ+#^M+X M:MNV:K=7=]2NZAYR6&E3%;Q2UDA:;N.22#0++@4?O50>EQQM=FA3M1N(>LT* MEH=?J<0)$&)$KDJ*U"U^$,?Y(= ;RD9F06/MIA9K8-0+O*&WAR3Q@V?GHXOA MM,>95M;CS*>Y)-NYBR6GP A(34T2QFMH%[R_B>68+M7]]+TYR': E!N$4JYP MS=T#Y[/F,:*/R UZ]#DQXKUE)&H1'#B70_4VS"L0NCK[WD[#^TOR5$ZNOR^I M[*5)J 4W6N'.+!5P(L&CEV]4)DHEQ=!8="[4CJY>?_^QO.B#]+AZO0[7-U6.MY'F@UT^V8T_+1PGK(7R;ER"H^CR8 C,P5)(HD: MXV,6%BWZRGJ]>GOW1MDA>ECM770_(3:PP#Y\'HV7SC!ZU)HS- 99Q&U&.DZ) M\SX3=(6=Y3%%5?TZLVNO?] *O:\8*T[0R7C:6WJALS5'"*\2LXJ(F *1/J,Y M*7$\4D>&Q@2-3NY498#P0)/*;Y; MI--VP+2#W32!^+=/HZ\_+=\UU^_RJRO];L/2K>5TF'9&C41;6WWXSL>@OGU%UV+V_>?9[SV&IA@- M ..),[ZU*Z\?UO&,9NS81_+MCV5G$ZV%YP+P"K6$9U=87=E,\M?N85TJFI+.!FRRY!26M#U8+ RI($8UAVH6[ M2Z:VOKIJS[)GPW3MFH@U1ZOQ%]Z.AN,;)ZW?7!9DR$B%2S82X*6=E@CHXCCG M"'-9"ZT%SJ%FG:=K#*#=C4HA.XV>7DE@!EWJ)M%W3S27LW^",_1)>*S=&N(4 M;U3JG&6[7Z^TCX8:Y!7ON)U%!Y$&VM%=%(0/KNK..M,7"S]FY@&EGCPE-5>M*J![_Q. MGJ.S\CAZ/Y5:R&NGZ:[UW/YY#/]]<9D4TT8HDTK7*&HY&O&1$9]D(DSXA"8: MV&2KNSAWPSKZ^<-N^;*Y2W45O75T^\HEP&4AX0X0.[S79P7>T;M(UU'M#O>M MU-#+L2A$G4H< 7*A$Y&:>1+0;23 A@IC8^^]OF4HU%G]X;-QV/.'NKHZLJG MZ^OOLI^8-98Q*8DL=H*DTN/:FQ-1'"1DXWAVS7J#;X=V&K=N'*3672YX.E G M7<7TWH]':!M,O[T?^.'4#U.YS/Y+&< 0I@=$[G9Y;)7XW-[X5Z)P&;6LJ'8F MQ20IC=[*F'W07(1D0/+>+B\XL,K_^AN>77O#E?T? TU&>N1+ *1/Z4QO?4;_ MD5N!!A;3,=8.H-V-ZN#3#9O>\,MX-)GTN'=<2:\(!*W0>HP!1V_1F%005=0F MTES]X-)61$DDIS\NUZ F=:")]++U2>,"E'6>]T9%E47ORU,+^Z"AW M%*56-,/*%K191F]A^NJO.+A(,'DQFN5I8AG%ZS*.3V/ .245=Y""(9K: IM9 MXI4-)#O!F5 RL=6#N;?WU@,Q/!I.=:F+!OVOUJ.:+[U&Z/2J,\0:\K>K% ( MFF9I=.U0P#8\CXX7U83?H#_:A_@9TL4 WN6-*.=15R5XM-X!8589(AE7Q&E% M"37&< ,A&E][[=@56U?)E\8T::**4TF8;!S2\V^E[FE>",<-SX)Y@L96*!>X ME"I:*-7/5#G+I);5$R8[P#I6PJ0-'79=FNZIEA;="C:._EH=[ X06_6KN!O> MD9I8U%;MKM0Y4"]'HI ';[/3A@C#T4"+29+ #$XED%9;39/6G2T^1ZY6/@7F M[*..%FTT_'!9,JNHR)JZ3'+,.%+E@936AD1++JFP&GRNWD;C\NTG9 O?5SFK MU4SWDVR#2.#SB_X@S2L-EI^^/O\R'GV=9UJ6%=/64>9DN:?0%J(+@;:=8X3& MC)MNL")%75G].P%[?,RHKX\&"\/EH)?76#H0HE1/!6+*8Q78:7@A>+,4KV8@PXY)_[?Y7/ENN2D@9W,:N(9RX2F9(G/D,B M03K05O'(1.W[/3>C>7R$J"3Y!A&T-^ G\'DT2&LV*YZ340",".IQQ. <\9 M M$7RLJ"7[V[103>+_RH;=:KZY27M-$#BLE.%2P"&@DIM*!R&49N)2)>:NU%]ZKV*L% MXM .?WX,MU\X'I?#FW.G^^I7WOMOLRL_RXG.JZ S%E+++]S#NC]),4.4(#7B:0B3HH&CT3;PESB=+4C8^&8ZN2ZB> M%ML#W_?.L7K*:Q!+V WKK 2XIZF'8-"JA0R&2)/1OD5Y$%"0':A266X9$.^4)M0$ M(YB3P=G:/NW]T7[O'&REV 9AE*O4]ITBG&R2X:+Q5L0YY-%;U,DIG%M>$2\T M17=/4DNYU2[4/H]2#7Q792O'INE1E'TJ=2\?IGXZ>^*+@9],4 9ETLXRJ)"T M34E20B%(G(/XP7M@1(D@K-(RNEA_1]\ YO@U+IURX]9"6D-'#0S$ZWB6G:%V M0-2HTN4VFN,4ME12UVK&H8ZLNV%!%BXPILJ]B[1XR%H01T.) EEE0'L#E% BWOO25M4""3)KP&#F+&J)0 MHGZZ\2:([FWL0S5S.Z]X@%B;7/"">]KMF%@AM,T,G4-6KE0M!P4,*PF,DAWQ MGD%@)J94/7*Y$;9] Q>^>C]% [1]T].>ZR*H[ C7WD7ONHZ;LX M'>'FAXJAZZ-(R\T1[2F#@(APPN!*F1QQV0?"F.0&H+2C7^D#N.%-ECT7UMN=:>^\]FK%P[]&7EC*9B\[HRW6@F'J\:Z0PFTW$_3F'^\]_P]<_BM/\5_Z:;FJ0= '1=F;2O3%;J MD[RWVAK/#0])&NH<=9!E!LDH"BBZ?>J3=H!R]"HEYQ7N=2$1Q1C. \932J# M7T*FC.5LO*E]>?P)5"G=%\%ZLK^;?H;QQ\]^^.Y+>41I!/85M0[I;#08 M+)K\][QA3 3'T9[0H5PE84A@/)(LO32.44E9[;LVNAWA@TSR[L/\M2[$:1*H M532L[6C?7LSO==:A"!_M+I%BZ9I-2;#@B:84HLS1H"7P\&;*?' /:))TP-+N M)]0]*-8JZ--DH+_@(Z:3U\-YD5,/DM7@1"1!F7)%NF D1,9)-(IQ]'02R/KW MDG9=)29= #!6H78FXSSOV;ZN!RGE"HF+P6)$$NS6!RL$TX2$:G$X6L3 M^<.QWFZ.[6DB'64B'4"P%F5_S<:)6LC0OSY4L-11ZQ52/@+:W!XWWQ <85Q9 M3X7PC/(',Y=N#>]I.AUE.AU&LQ;=VSHS9D7P60(/Q*9R5(**0)P3GKCL @L\ M!28>SMZTU5\Z22W\#OU/G_'?9U]A[#_!S$!ZZ:=PV2/^^N1Q6FNP(9 D,I)R MYH)(G$;,,E%./^I0_5Z\$Q/! UH?'TR8J!D%'Y3ON[LX>E%[K1TU))ER;T@, MDECE<(.(1N0LK*/A,4[#!S3W3H'\)SB1]V+N@YJ]-P,+=PN",ZN%B)Q((4K- MH-0H"!5)LEKES)0T_.%,X3T'_S2/3W,>M^3P XZ>W2T(YXWQU',2U>RBW2A( M &:)BI:; ;< W)A]AS\TV0^S+0,/,D9A- F"HX=A)2,AL4RB M%]8;;H33#R<\?U_?^)B-$T1D/E!&"62-IJ$N]YGB[D$4"XS9E#GJX*EQPG%C M>D=1]JDT3B@M(]_Z\WFW^4P552XHXH.1*$:- Q J$PT(78-DVM6NUKK^_H=_ M^'$O!JRVZ[^O)EK:5O=^W$!RI"L^[JV9#2H^0*SME1UDE@$1 MD)"1N3(D3;Q7:$9QI3SE23E:N\ZL"R7?=1E'(QWO(\W:1Y"6%E7$1:K_%0JR M97]O)5@.F1'AC2BG+2.Q0908=$(7UU%MU74[R>3"[6M9U_A;0??0.8_=+[9;<( M7%4F/4%E8!$]M\14V=%<:6W',JXM''DAC':N^DT>]X-Z@JMW72ZN[;;=6*6G M=*)ZD=MZ]1=ZP/U)\4M7LEN+G\![W,&@)[U,C)4S>E8#BA8=UU"$'(/'/0RL MBZQ)L\+V0_O^F'Z"E*D=@5P!AG-Y-J27_4DL'?)_1IU<)FW+%R6+^RZ7Z>^' M$:YU$>TE&1PPGXB7AN/\%J4U>J0D9BZ]2 :4V:U%5C5(WPUACZC)%L&R:O%# M;2 X0QT1DD4B07L2I&'$*IE-0#?%AMK=H;_+W/XA:^Q1E'TJN?V;89P2UO:2 M9J*=+",0BKA8KG@%IKAF&IBH;3H\LH3!7AS8FC#81Q"ZRYB>$@9[)0SV MHDD7D=?[Z/BA\-=H2I5CGE J6>E**8BU#K<=)7%N@]-.5R_5>S"\W2MA<'*T MW4>U#>AZ(VRQB#HSDZVA8 E/D$I+8H3$."4ZH:2L55'JVE4V:V"<_8?[D[MA*S[-?V8'+SE9]777HMTP:5/6D=V<_^4H92, M=9Q(GP-^,)Q8YV:[(L_)XD=?_9+L%@/I*CAU2KP]/B-.)6KU>H@[/5Q>0/=F M,<[YY7,VJ!B DR0C&GK ,G'&4$(CE1%4!L9KAURWP#E^1.MH7!FUT5D#YVL# MM.7=DSN :Q2TV@KL.-&G:FK*@X_!C']$WN2)T,GV7/_@!3!;A 4@V1DX1D)Z=-F6.!,LH M84ID)@QSSM7.I-P"T;V57U%)MVX+/43"#_/K/MNXKX[0>@Z_+N_7%:BP"ZZI+@5(H"1 MUAL'5# P5+(H?&!FGRCP3F".7D=NE/%:*D<@ADQDN5+%LY+*4T:%G(TT]&0N M[*D6\MW)C;YL/S-[]^3C:.H'JWI\.YK^$Z973O;5D^9_M-K2IF); MY?=8CUF70 1?VO.ACIP XCW:"> ,S=D503R82;1VA$\SYW0(U,*+J-?2((!2 MP5HBDL!Y#RX1])11!5I)8Z)1R54_]/P=EB0?0NWC*/M4DCLW"\4<3KODHR%! M&QQ!%@:WJ7(1M"RYB*1D=$\]3.IQ8&M)\CZZ>"@EG;N,Z:DD>:^2Y+UHTD5M MYWUT_&#X"U3@B#R!7!K+:U?ZD E+0$D5C#79^]J&[($OW0DBN2H" F"K!V@7@OD!/V=YCK>WK/D'@JJZ-?/ M3H"BZU3^+<]QT3 MI9%..CK^0*-F+&BTEGU21*;2SL=83:R@65NMF,RU+PEYO,4,RCBN\YKUC,Q M2,9E*#VI/'*:EIMTG")<>.D\A42CKFY M4WJ2]TRVI16*(]0X= )!">)3R$1D[S@X<('6/GFV+\;OB%&':N@VHPZ^/FZ] M+.8) QH5$T)G A'74,E*!,%$M/*M2)1[AF#;;%]KX725\VN_81TN[5-)T;T? MCY#OTV_%R9RBLUG*VK[,\Z*7X52137 T2!*5QW73)DNLHKH,SJ#/8IS*U>\( MN1O6L=)YU1BP>I5(94VTN#MF$\0"V 5BJ]N#[H9WI"N%:JMV5^HNBHA-@SC[J:,"89Q?3 MT?DH]*_."[$LC/"EA[LL!E?DB3B%%GU$)#$!D[+ZG56W0!SAQJ/:JEHM$#E( MSA5C,Y/QM'=6(N0S=GMC U5<$8&O)5(A"!N-)! X>*9<\GPG_P>?>DW1^-65 MDF^\\+&8%?>78D6O]Q+$,J.Y XQ]C(-=E%I_OMZ]\1\@_%7U'2"YBHOQ*AR= M%.]9<^0.7=6V8;9U[E_/89?(7A M!3Q+:?8P/W@]G%5V7.\4=X]D]RZ/K9+YWAO_2AK<4I>]T]HK[21#OX6B@":7]2A'$C MGD@94Y:&2')&RTSFA P+P9",PROM=5P6]9L#U$)_>&WA#DAZB;J4;)3$",:( M-*5)K+:.>,VR93IDQ6M7 .T$K'LW[DB\NUUQ6%MM33IS[ !RD8;QGZ#'G.,Q M24ZX%A:]HXP"LGG%Q>3Z>@< MQL_009^^A6E/L!19"HXHG!MHEU"!YB"+Q$C-A@ M-37([&\%=RG Y6'G'F/1\^@""0QI+Q$;"1J_=(H*+27EU-8^7[D?PB>6U5?D M;=K)3JRN;4*;'[MG/<&S$$E&$K7'<0@AB ?/B;4"9Y8QWE5?Y6IA_VZI>A3E MWR:Q.CJ)EYD7X8),FE#!492")N*HI$2Y'"(5.5E3N_JN#O*N:JT>"VWW5_>I M5' =//0/4S^>EAL<9\D.HZ.G7"6"FQ ETH$BUOM,C(T!6*(F67EJC+\Q@F,E M<(]!P=JSX/Y4.*'(>6_EP$BUV'F/=18]7QW#2OS<. _*:UP3)9,>&>,BL]HE M'@./.:1=XN?XBJ<(^E,$_2F"_A1!?XJ@/Q:^/470GR+H3Q'TIPCZB<0VGR+H M3Q'TIPCZ4P3]>Z+J4P3]*8+^%$'O/H)>.=!XV0;@P_PE$S],K_#UXR_C_@1^ M[R>X%E*[_.4SF%P@-\.WQ5\=4,Q;%T"5P&5#F:P$.*GW3$=!F6=*,ANLG6A''HOU.QA9_!E-"YON?;FJ[F)ADBF242"2[@BTL=RWQ D8KC5 MQK!H-*N]E>^"J](N\3,N:^MLM%=_Q<%%PG<7KQ+_3Q_]7[V4" M4D<Y''D&*T)'(OB43#!NW>!/@EE9QF=.XLO6L'W?#L1Z3(&M)K$+J[=N/! MYI$_7V["<\-1\X3\0^II*+>RZ.B(Y4H1EYE@0N<,HOK^N#_,SJXM:3WU6ZOH MV-4QY1P@[G&3T:"?9F.9B6Q>UN!UL$*8LKZ)L,P<2=HGQW M'*)<__83N(2DC;Y'5>5>^0CT;42+AAF[8*K8D& 3CNZ[$]30T5:5'R#@KI3O M5#29EOXFG.$NZ1(C(2A).# =/'&L+$*!\SFQ"YA6EXA=!W*<1H45%77KAO9#I=SB&J\;H!SWV:MDB2C77TA= M:A4""R31[*7@+#->_3+L]BJ_H\%@5QK?1[BUPTOOQZ, +\JML0M,RYY:N%&E M6"KD1&FKE@PEP2=/0K861Z9,MBL&P:;;B]:_X&B!IOO(?%198+4OI/KP;5), MEYN '+?>E^H."1;Y22,R-?!(N**>6J%34&XG#:Y[^H-5W\&B:E(..D83HYPL M&:;9!>8+6))!YA;9E#(X'"0N+H'90)0SG$6!+HFJ7W*U%LI#5'=-Z79UM]-> MF=M%QNHR87OM(N_2]A3_]!<8?1K[+Y_[\=D8?%?Y]OOBZCX-7T6"*]EY1CFZ M>%PGQI245CHA I6EP:S-(N:P7W;^O@@/6Y!>]B?^TZK(JR P0=-:UPP5W83I&LIXS)@!B)( ;!Y$L)^) :6(R M\Y12ST/UYO\/(EE?E3\U$O7[**I!Y&6#/.;!@PS"@+.R;&N*X*[C"7H6Y?J= M%"*7/LE0NZ/[-CQ=9?&:1[J(TW?C#S#^VH_S\\>9):>H\P1" MP)$89DH66Q!J.)"QNH"T3(BO0NH MBNFXC4"ZS\<=KJ/;"J\DX,ZT3Y/A'@(G1B==;BZ.\]IAQY*4.4OJ6(W$?,=: MWY*0ZTCI^\BU=NSMY]'%,(V_O1E]ZL<%PE_&HXLO2P?56BL]U22D5!Q4Q!>R MCL1P=%9!JFCT;F5>V]_3;<*MDB9&;<18.S#W\NS9KVL@19$C+6<1!&A?=BP@ M@2I+G&%@LJ;9)[N39M<__\%KM(+8JL_5@9]\7H,I),-$QL6(FM)!790" 30U M2*0R@*>N9 9WFZ3K7_#@=5E##P&M0I92=D3H0IDLFUT4@-D1<,8S7 MSJ+.Z&H9]?:@^2-4:!WA-3C0O#QX]7'LAY,,XW?YE]$HW30@O&8JE&+0%*,A M.$A)G#?H8R;!$_@8J*]]O&('6(_&HVJEB@:E#7= 7,R274 V*GG8">!Q2B&J MJW<_^AR@FP;9NQW!QAPU59HPD RG5+D(V64V*Q'B-DI-0^URB$K4;WFT$\\AY<8#D*P<'+\O1KE*^?C!;*X-3H$TI4:8*#>]BU3M-'4E< M,UQ%02I:(SBX$<"CL5_KB;FB?S,#-4\C78>TH/DNH"JF!38"Z3XM4$E1HU92 MKCW]-X)S##@+Y>+%TH=.JIB(!6^(\EP)ZXT1OL:%HQVK?DMNH$O-[R/6N4M<3R7I(<5B,!1DH1,/'*EK Y;U#N!^+=/HZ\_+9XX MU_#BBRL%7[VOVP!5)<&/#I):1=MMB>"W#SV?F0XI6*)DX:*)EEAG).%_'V,>AM3ZE5#.U_?3V MGV>/06][2JVB4;M$\.L_>XDYI432)(72D-*STL9/(7TLC^64K:5L6U_M_?3V MZS\?@][VE%K%-IY+!/_QOD=-4$)%C8LT-R7=0XG5/)/() LI<47S-K-S/[W] MQ_O'H+<]I5:QC+92"#HQ_,E2&TG&&3WFOB*0<"+-D0K=,^[G3> M]PZGX?H['[(&#Y+?;3WJ0^??AU]Z,1GFDK"SI9I(:1BQ2>!:D)+/SBH&L*U1 M_'[S[\,O#UE[]Y3:;;V9@^H.SF R?9<_?H;?1^-!6AX<9":#YY9P90$!E3KG M%!EATFJKE(;(5]R$#24'ZY[^D)561V2W=6C;-E(P/K+(4B*4([=DJ5>R$0>M M- 43O'71U;Z_X20;*30K+J@G_@;MS6^>6]P%S/?:,6$O16T]/W\?*3?OF!"3 M0X*7XZ5!X1J%7Q'GF"969 !0BL90.T5WZAT3ZFE\'^%VU3'!TLQ,B,47RQ$_ MI$B<%Y%04QH&"2<3-SOMXR?:,6$OF>_2,6$?@772,0%-=N>9R\3@AH2 9"0^ M1$4BC5*$* 2S=YZ4/MF."?=6W\&BVO?ZR\6WRX?@)_!O__+_ U!+ P04 M" !/@ A7&.0V EK> 0"PD %0 &9OW/<.)8G^O]^"MS>C;W5$4(708(/].[,AORH&L>Z;*_MFMZ)BAL9>$K<3F5J M2$I5FD]_ 3XR4\HD$V""%'LCNEVV1/*<\P/QXP%P'O_]?_QQMP:/LBCS[>:? M_H3^$OP)R W?BGQS\T]_^O7[3S#[T__XY__TG_[[_P/A_W[S]2-XM^4/=W)3 M@;>%I)44X/>\N@75K01_VQ9_SQ\I^+*FE=H6=Q#^B'__W M+Q^_\5MY1V&^*2NZX49 F?^UK'_X<X7Y%^PN@^9'$(4P0G_Y MHQ1_^N?_!$ #1[%=RZ]2 ?/?7[]^Z!5)?C17_+B1-V9LO\@BWXIO%2VJCY3) MM=:^?EKU="__Z4]E?G>_EMW/;@NI3C]V713/GFJT)$9+E!@M_W.?L!\O4-^3 MOM6QKAZ4J\W]Y$O'(4P_>5/WNV8(.;W"!V(N5KEYH=YOQ%SO[D[4Q:I/K[&O MUV);T?4,K\5>S('*:_.#C_IOK1CSH $RK>6TU'V@JORCDALA&[9\]FB0BW_Z MD_[;ZJ&$-Y3>K_Z5%CEE&B>MT[OM'%7MWNJ5W,!?OW4*U%+.B?B3@W55SRPM9+E]*/C^^W:W/O71TM\K\X7+ M?MS0.UG>T_8&K:=Q!AK5_[G3$!@5P6^-DO_??_]Q;]$H(-%#);_DR3 MM7$'ML5+X[?# M>5UT>M."GT&]O>)'OM6^SWT%GPV *K9WM@966]OWH %3"_X3V!9"%MJG/6'$ MT1MI_#3QL):?U37GQ8,F2/W\?)U7N2R_&TG?-4^\T,@S:!4408Q MRC+(,A)!S!@*0IZF,4]=IKR]Z*510:_?2@*O4Y?A9RA M3$4)I"I$$"=A *G,8I@I@9 BH8@YD)J8PT_P]A5HU?3' MUF>1\$3._7)FY>*SYKZDWO,WN#%M652KKWJ8Y2_RCLEBI:1,T@!+2).0:0X( MS,.3 M_0)(IG;/QJ)A/;U[;!^:S/J6@XFL_[6?Q"^?-LN4[3&AFZ!]OQ[G^'S,-]J[ M>EM(D5<_46ZF^M,O](_\[N'NS;8HMK_GFYNW5 ^G_ODJEC$B:1C!4"5ZS@H9 M0,92 0,28NTGQ2H-F(LOY")\:1.[U1.P3E' 6TW=ONA. V#WD9\*UHG)P:AM MUFV-XJ#3_ IT4.^4!V_/0>WL#HS!S).'X"1Z5J=A#"@O_8A1SQC'95]E*?5- MM]<;\4X^RO7VWGQE7"$W7=N&H88#MR\@;;Q&ST#+$#34&KJC_JL4+$$]<,RYJ5 M7*S,?LDF=C>-HX\/&UYHGU2^D\U_/VP^W\M".ZPU0>4575^SLBHHKU9*89)F M!$,5< EQK#)("0DA39.,H2!C46RU>'$7O31B>7MK7-$2Y!M RU)693U?#O8W M_NI&,0Z#8,:0Y:U<%OG?(>]['=$?-$3@Z"9V4J M=T!>TM:()XP\A[NEA7RC)8BWVSM#BG6(U'51F%EJJ+)\\[2_Y@M],C^[_IT6 MHO[CNY:JJ?6+?AD_Z=>S/5L.64AH0C,8A>:24LL:N99^A/R118F8-@$R'YFZ_RFUM#XQ-S$?N5W^I+/ZIO9 M>57Z"Z-_U\3;H15C$D/7W8Z-5&G8=2?JYN9?%=K^(_WYM'E)^VFT=9FN#WA_JH MD0<(!9PED&/!(::Q@!3A&(HLB&(3LY<%\>K^1?+!Y2ZF+_U=..BE%=/1T1MY MDV]J%F)T73/0#WIY7QJ+RS][7B=X>Q,8"97"*8:Q(@+B*&-F UW " Q7!;Y.D,9W!P1-E]$F9E1[.F/J2"LY=/G(KI](L8IRDS^I;I1]WNUWK MF\O&A=H%.S 4BX2G"4Q9&$%,:099&F&(PI0%,0G#2"9.9[ V4I=&"3NEZTW9 M [7_WV[Q9!$/<<$@6"Y_?4,[]=+5!ZKN:TT7E'RM$ZUDSKO&GJOE.1:P/L_>!WJ97R>SYNWM+PU_S>B'NG:+/&^:H>HR,VVM_G%]48\_\'! ME:N,\@3)B$,18^W1<(1@%@D",\Y")@0.$7<*GYM QZ517V.BF:&R-;)9M?$V M_FZ[ 5Q;<%7_">3>D#H>K]B96?_>C1NG> /LF/25QW5BWMT/:6=?LSS40_FV M'DKS)SC0W9Q>[L:QN<0,[HL?/K_C[793Y9L'L\_>+\ M*32<]0LQ(<0OOR=3BAJ[)E:RT&OO#QN^O9/?Z1\'^:B?9+4B.,0JE@JF<:#= M8HSTVCC$,3KZ!:U M1E6@=7V>;*[5];F>ML+%V[IZ6-K,ZVLKTX_7V7:WC5QORQOC,G^5]]O"!&#O M5G )MZK3P&*_>U\1D@?"V'^\3,NP(^8^S1HO?<]:,K &T?M,/RA3Z9PD*[ M\C^,IMB00LHC!#') DCCF,$HB52&:!8X.ABGQ2R-$CHMP7VCIG.1FE-0VI' MY0!-3 $[;%H-IZE-,X"!O\(TIX3,795FP- 3)6F&KAXW[TUDPX.>4V;-4B>3 MMB56LC1,E<(9E"P.(:8*08)3S0,!YIH4N""A4ZV+'CE+F_F=FO464I/P;/88 MRJVJ?J>%(Q'T86O'!!X0FY@*=F#M5 2_-4IZ= ;.P.")#?JDS$H'9TQ]R0?G M+A]+"'784AVL_6'SI=C>Z%>F_+G8EN4J0$I((I#&CS.(LS2&-,,11$$@] H! MAX0Z;5P/R%H>,>Q5A?D&WA=;KG5U)81^;&U)P0MBDQ/#7DN3N-WI>05J37V2 MPUDXO!%$OZ292>*LR<=$4EO]-.:O(_/JDT/^9AOY(=*WI6KA&51 M$,8)#!E)(8X1@QE1*:0J%D0A[5M(IQ2[C,ZB5=MQF M. NZY8:E1RBGWK&\#$7W/4M+:'QM6IX3-^^NI:7Q1]N6MO===A32/K9;51-. M AFG"LHD,M&!D5ZG",5@H&B","4RH4[QS*?%+(Y6NBW\HE%SW(''"RC=SCG& M S37\<8NZ=7[!L4P!IZ/,EX(>943C-.&]AU<]%P]-C[P963/IVTE3\6YABD6 MF"8<*F3V*D.<0):E&>0HPT$0D "E3EL6UI*7Q@Z'BO_7_YR%*/UO72B;VV*JZ>(#I^FGX J(MRA!6[DS1PHZPG$<+>CZ@$M[ MP?R\W8K?\_6Z;M6P4I)'&)$,1AC'$!,3\(>B""*D4L0CB82,QS5^>29G<61T MT)*D4[3M0^)ZO-H#K"6_7 [7U(>K8Y"ZH$W+21R\]V1Y+N65&K"<-+6_V\KI MR]T+_N\"E'^6VYN"WM^:RN_7?^2E"=Q2-!,)%#@+(>;$^"I(0A&0F,:$)F%@ M58UW4,K2J.!0/_";T="A_G\_EL/SWQM"$\]^%W"&SM7+WBT4/P]+D5=,+UQQ!? GG7 +< MPKAG5Y[?<,_>+M 8-C4)]0$Y*1D="5T *?4!84=.O7=?<$S3/.G=0]%4!C75 M).N"?OOTN/JRND;6)UE]5C]M"R7SZD%?LQ(A,Z$A,:1A&D(9U$7ZS']6Y0.^DV=87AX\ MNL7<\\3G%^G.GS0^76 .14@FJ8 L0ER[HRR!^B<*QDG ,<4\5LPI<\A>]-)X M^V "NU>?<$#^U.YPB7OU9UMH+G[EOG",B) M)G:N3QB=RL#U4YJJ'U_S\N\?=R&R,4Z2A,7:V51FL9P(!AE)$I@HA&C"")*I M4UQROZBEL=$S38%1]8)0Y &$[=C(#VX3L\]8R,:D,YQ!PU\V0Y^@N9,9SAA\ M(I?AW!T3+&!/5X)N$G<2+GF,40*)C!.(LR"!&6,Q9$&* D&S('#K(C16D:41 MC=5R5?XA"YZ7]47;IC;V1"O0H2'TL/#T-#!3KS=K7=L%YWZ)>;(J_[[,^15@ M4FT+>;#6G&FI:8'J'"O,(366L["T ,MI/6GS//>8J%_H_]D6;Q\T%=QI$JH# M>$(ILRQ$,4QQ@"$F5$"2*0X#3)BI]XPS&=D&0QT_?FF\6&L(=BHZ!T*= '"8 MORZ'96K_JM7+:]A3O\47Q#N=>.AL@4[]!AU&. U<-;:YQ*[X5)O0L2MK)%D2 M8)F$4"7(5)\3&:012V 2-^P)IX M9C\K*]>!-D7)J/-H>.OUT"MHYM8.YPP^[N1P]@XWAC"-_U;?GDJS^&JK4K4% M3I(L(0&),HAY2B%F$8;%O]+U@_RZ M7:_U,ML\=86"+,%94F\E)7I=%#.8"E$ZOE.5.U[*T7M+W[37Z7-J]F-.48EWFF_"/TSC3R;K_ MV]IKCAG:5VC".4K-D;'<;4CX]^TUU_H5TN2@EU\EE_ECG*8N=/'OFB'W1+F^.A>_T&YV5ITJ4V6GE0 M[)1WC/4^-P1VWT@OB,[ST>I4-0=NK;*@UA9\/8^A>]2V)3"^XK7/B9LW4MO2 M^*,8;=O[QM'.CLFNRU)6Y?5&'.P&_2*IJ7\A/F^TO(?"' /I"S0[%MT_-;?F M95-L09 (IUP$$*>FH!]A'+(4,XCC,(QE%DD669W5>-=L::N)O6-F0GA;=>O MM4/]QU7"\#><=ESW*H,T,2EZ&A]G>O2.I2<>]:?7K(3K'57V11^[OO\O6#]L)6@9!A:(J(Q)1I0E8TU(0L$ZC"0!*B4$Q3IT.X'CE+ MH]=6K3I82&CWG!:EZ=_>! XYQ@WU06M'CAX FYCJ.@U-:DFS,W$%6BT]ML(; MAL%7.[L>*?.VI!LV]:BMW)G++RTS]J78ZC>_>OJB![W2]+.K!]]\XC,F4!1B M#N-($KVB) R2.,6016$4,$FB#+FU3K84O#3&."ROU6E^!6K=F\37?1.#RZJ3 MG1D/RRW8"5">>IEY$:@7%#*S0\A[9;,S8E^IU)D=&/VUSRSOOZS+U'YA^TE6 MNU+.,D!4)@Q*Q1*3,:8@I1F"84*0"!!+PM2)J(:$+8V<=EV5]KM:NT1=NEYO M?Z\CJ4V.+M?N9EZ!]5:[HZ7Y]7^)45#/M?^"DFQ#]NRW+"SE9#:'GN;W52U*MTN1HRNJ_7U> ]XSBH*^YX M>"Q*4$1)%,[:K(V4.3K=D5$')>>0RA;[WV\(3I]*L/HRC8P=JI.LT2 MPP(4?XN,(6%S+S,L##^QT+"Y:QS'O'G(UZ(Y$^K^^N'NOM@^-O50VV\H%S*, M4BJA3/2Z R/,(<&AA"E3J:!4>R7"J3&$E=2E,4ZG:;V3P;I_Y =ZNQ&,'?1V M/.,=T(GIYAF6NW\3EKL#2N&EO9PDLUBX&! MLCQ9FA+^B9EMJ%YBNW)K+FEM #LC)B]8<1Z_:2M5#,A?0HF*\_!8UJ:P>) ; M,0J9K[X7U)#MMZ<[MEVO*,$\2"(),T$0Q%*DD$@I(0T"CEB",YI9]10]>O+2 MB*Q5#C3:V='3,5S#M',1"!/3B:7]UA31:^N)J5]*_I>;[>./^IYFUNN_["?[ M\9-FF<2]!G23L_^"<=[(K]]^UMY-L:FS-F[DAN>R?"=9] MA37H=@[%%%!.//%__0;V.H-.:6"T!GNU)U@EN6+ER6>P%CNKJ^ *QDL/P?G^ M"XH>/_"J<4+T>_1N>T?SS4IJFQ,5: [B)(08!2%DBL0P% +3(,2$1^X5CH_E M+(V!GJE9AWJ!WQI-'0^/^W"U8QT/:$U,,F. &E>?N!\&G\6(3TB9O_)POZDG MRPP/7.Y&!DU%8OZT^I]?_[;"J9[HF5(0Q:F$.$PP9)B9$L(D8CQ@,D)6)\B' M#UW:-/^?VT+J-_9OMGW!GP$T/(7'FCWQ?*TM!C]\VSY4MW^^&K3<>IJ>,G5@ M,=!=WLS)[E_[^?CL<;-,OE,&=#/MY._&?6,_R>K#AF_OI F\6VE/7V0D36&, MTTS/KS#3SCY6^LM*8A30,$D46U7;BJ[MOJS/GNXTT78RIGOM3!^/O-;.[?/Y M C)*(Y[1$,:QR/(GGSY[5?SAIUDNOX?1%ODIGK@3+I,Q(!N.4FACW M)(:4Z0D;$)5ED> HRD(79CL6L31Z^VYD 'Y<,//2>IFCZV0N:!*?JH\Y95%, MSY/YA(!7+H+9-ZT'KAPWM]_)(G^D5?XHWYIP*,JK[_I!^YV!)-+?8QC&#$%, MF8"44P:%8D& E1*$.X63#PE;VK=YKROHE!VY/S (L=WD]P74N\+/">(R2U,,]:HGULY!AB 5 M+(1I)$B4I$G SPJ,/V$L*71QD$=NP-M;6K:N>-LQQV^T)N8.\8#-SYD?0 1 MWS'KIT2]3M#Z@-&]4>M#]XPHMOU3OLDK^5$3D_BPJ?1;D+-U4Y?D_1_WTG14 MN[[;%E7^'TV-/)/>^&^2%C_IEVV%LDRJ4#"8)$D$L5Z%0*("IET4DG&"TI3; M9==>JLC2B.?[K2QDG0GJ4*/ZDH$89I\YX9V:F6HK8&T&V-L!:D.N0&<*.+2E M2\HUY@!CSTR#XE!??*;!F:D,^;2#Y%:SW .R@Z7-+WG^?!70/:#PK%"ZC^>- MW/^26HK\?"]-M[[-S4=)2UE^EW]4;[2Q?U_%2M!8:'<7J&.G+&!:6T<"&<;5CC^\H34Q?>R!,HI. M&]9GA8FWWKU#LF9NWVMA]G$'7YN;1D;G7*_7S?Y^'0O8;!5G&9%QC B4H2GN MPF2JB8-&$"'.N"2QE$GJ%*US0LC26$*K"/8Z.F[ #Z(Y3!*^,)J8&USA<8_W M&;#?1_S/J&B%\_'#]YL/'#]\_O/\&KC^] ]^^ M?W[[/__E\\=W[[]^^Z__.0M1^M_ ^__UZX?O_S;Z7'YX("P7)Q/ ._4R9:_R MKN1E]31UETLK=/P?\P^+?:W#?RLP!D("[.X?>>+7N_U2?LPW\H-I8K?"E)@D MZQ12*C*(D4FQ1K&$-,V8S*C@/'&J-F,C=&D,-;@3J;_11G%0:^YZ%F@S I9G M@IYQ?$M(W4\)'3#R=5IH(W+>4T,'$(Y.#UWN'=E,H"UW4[->UV(U3!+, MHP!F*D7:4V((,I&D, P1IC%5@J=6RZ0!&4NCG*$R5XXM!$X :D,XE=NS63+77-J_Q1 MNT%UV>_]&4,0H%#A4,$ IZEFB92;]50 $4FRB''. ^R49^!9OZ4QS&'3@??? MOGP!G=ICFPOX&44[:GK%L9F8U@Z'I:^EZQ5X07Z[9H3&Q*O=2+:=#< DAU(3 M#8'W7@A^M'NEE@E>H>WOK.!7S 75OWIVRFBH8AZE, @38G;*]!HT(A(F0:!B M%:( (?V.'FG9[8;+6^*\C2G9=LOWU#['AU2BF";!JRL#6[%=MP1=: MI_A,TH9ZKJVNI6QNN6]G3;:!]4XJ612:M.K.&&:OK&ZD?+!]]DG;U.9D*9D% M)" ,)E2:'J$B@S2)A$E(C3(:(>T?.BTB780OC5::KNZC,]Z<<+>CEZG0G)AP M.K7;YBS--GN#[K,$NKWR/I-FW"'SED3C('KFI!IW4(Z3;$8\8VPTD;;*)/(8 M?^MK7O[]C=SPVSM:_+T]TT992). "1ACB2'F,8*,<0%E'$5F"SZ.W(J]GQ.X M-*9ZIB\P"H.=QB.3]\YB;L=8/I&[=PCQPVQ8:2MN<4/?M,3RP%T;W?0?3P+W1A2 M.0^)/T89D#4WG9PW^P276-QTZ:[]R^;!II\XU\Y2VT3XQ;YN%!,<$..Y"&HR MB&D*LSAC4"68"Z9D1&*G:*>1>BR-? ZW>]_2-7]8-Q]I_<]/#W^>CH.K?(Q_WN+'>6EE]5J;W8!T )HO'G,ORVW8M5G$<1(E4,>2H M=M62!&9(<$B"B(LX$5$BE)NKUB=J:51I-#73L9"/Y+61^LWG_![_5 M8[^K!-/&]J P"D4L8QAA+)O#,D;C! 8JE9PAQN/$K53+D+2E<42K+)"MMD#L MZQ?Q5G-'XAA&VXX[O&$X,7UT\'6*'M1\\M]EU 837U&8@[+F#;^T,?LH[M+J MII$+NI-G_]=%8229,@]OGO:7?*%/=4E[TP>Y.M8=O^ MYM-V\RA+[1M]/>C!'2=9C(FD,!)(TU-LNF5(+F&"D,PPRP(JG8[AYE5_:7SW MZR9WY;.9Q]MRP;C849QZG=D3X@4.; ?LZ5DH6&L_J &XZK)Z#C!H3R KC4+7 M;JP^@FR N#(["YHW=A%FY62]Y%]G6'TM=^=5?MY5\JL,S-'B^G6T&%'>[&W] MW?VP>4OO\XJN37F:C<@K4SWM0W,4+-X\5)^VU;_)Z@O-Q2H*5(1P&D$1UYJ^IV5>KMN"^V-[+P@1VF?2'JK[%1,'=US38Y498?@?'C>?P9VSR M49IZVZ#Q]C]L0*L\.-0>=.H#K;_^CE1 6P","5,B[E#W;$KD9RIVYGT$W.J; MC45PL*B9\T/GJV0VUMYGY$Y)>IP9OO\F])7@';AG'$+_0XN^R#GK?%R_J6E+$ M$S4GZ/]A@88GIAB2-"M36)C\DBEL;AG'%.94ZO=\O5Y%$4KCQ'0*C30C M8$409(FI\\]4'"6I"%B 7&BA>_#2.*#3RVW:[V!*DS3A1 1092:WV*2A,1$D M4!&ALCB,$I[$J_NZ"_RWBA;5=&"]%#(]9%> R9M\8X(? */Z$NX8:[1#4>%$ M)CBE$'$J(,8\AA3% DH>HR0+(D5%T*+X?B.FQK 3,0>"9F%P,7QV'YHQ@$S\ M53D[^9R_'R^-]/2QV#UVUB_#2V->?@:.?C^.\[^TNV@F@[>ZWM2;J/4.VD'= M:\:(H$D &35!FJ8H)8EH JD(0\8X3D.WX*+S(I?VG3B,^_NRVW;\LMMVW%G@ M-H;W7X1G7C>#P(X:<"D/4R>F,-"X*R<8@_ 2[9QN'-LHC^MZM.=YA3' M'/UL-^80Y_J/O%R%)%!(,%,5TU!0E*60IEA!0GA(4IHB'KC%B0])6QK[M$>Y M>R7!;T9-QP2W88 M#^1]P38QQ3@C-B+!WP();SG^0[)F3O.W,/LXT]_FIG&T M\6'3'")VAXD?-M?-J>%!7NXJ(#@E&,40!2B$.#4UXT0:0IZ&BD1*4D2<'!@; MH4LCD>OCPU0W_K!"VHY&?.,W,9MTZH(?.H7_;,ZL.T0_6B#JS"\N$'FB&2N1 ML[*-"P@O2;\M\RX".)$*!SA$D(>1:?DA4IAA ME$!&$A12D499YM11=T#6TICF4%6S8!*-LHZ)&0/8VI&,)\0FYI:78+5Z3M'R MXSP>OI(S!B3-FYUQWN2C] R+6T9$BKW7GH[I.O3.'.OIE93X+OGM9KO>WNR[ MV: H#;25%&I/A4&,@PRR.-%_1#R*9""2D">K1UFPK55XF(5(EWEP*'A"Q[U5 M6I-&JS6H#M1VB"RR07R82*9 <>IU3P??3EUPJ.]Y5AF'HT-0EF<\9XK#NAA7 MM[@K!Y &0ZULGC-?=)6#5<\"JESNNZ3OX\?&72QYD=?APO5&Y(J+2,1":A\. MLP#B+%6:E=,,!FD"IY%5U_*>YR^-(AH50:TC MZ)2T8X4^!(>9P ,N4_M@3I!83_@SA@_T:--W-O-;_V4_K?N>-\M4/F-,-WW/ M7>:]P=%A8^DZ<+N4NX[KV@U(,DXQE(QH;X K$^R3E G9H]Q[>T]-K;W@^3T?9*&E%A*YR0+H!QZ*=D\ MS=V)^:C?A/67V^U&-OF_*XP(BZ.40,(C:4+"$T@P%3!.6"11B&,NK4+"3SU\ M:>Q5ZP=J!=OT9WO?Y0BX\X[+)7!,O6:Q1\+)9>DS>92_ M:SR>;-=)LE\EE_ECO6S.(ID%,B)Z=H8*8I%B2#.&(%$T2U.* L2BU4;>F)Q9 M.[?$1JS5>TN:]_90^*2GVTW^<+%3TL/I]DNT[7P0;PB^]NEV@^C7\XCZ.=WN M@6C*T^V7(E__=+L'!*O3[;Y[1YQ776O\T%=I*BGPZJ'(-S*9K'<+J<)HRB*O%<90O MM";FE!Z@QIP_#2+F";JI]A7=!(XH32B%-4\.9TA1HC3$TB?AID-*8IU:U M]*VD+8TW=_UP;HR:#I/_+*Q(A(R9G?8L$0G$,N20(E'W^4PYT7]JE]@A9L(G ML/,$3+REY6WK]&I\S?3P#[+%=\DG?;ZL;QK;.:\KB_MI:]X;NKZ^,XN*%0\" MC E"D$=,TZQ@"M(D32!2DK/0=%NG3DV4^P0M[\/5Z7D%-JVF@-:JNO;&ZT'6 M;DO!!UZ3T^H>JDY)<#T,U8CF=L,X>&MDUR-FYJ9UP\8>-Z@[<_W(Q#RYUK^] M^5EN9*$?N1'7XB[?Y&7=E.I1MB<172A@FBB5B#"#248$Q(@12 D3D"6<190G M 4T#IT0]%^E+HX]6^2MPTZC?5#5\9H!C#I_36-AQRV0(3TPX.W!_/@#WN>Z@ M4WZ",;/R MQCEC7U+$V>O'L4%=,=HD*!?R5G.,)IL/&[Z]D[]N"DG7^7](\2_;M2G:\S/- M-Q^W9?EYLR_"=5WDI8E3;_85ZVI"GV3U67VG?ZS"5"DBTP"F(B)0KY@XS$AF M2JIP_0.)LI0X^453*;HT-MK; VZT)27X8:V-D>6?P78#Z"/-UV;LH5X=PY+J M:7AW>56_R=X!._Y;PLA.S)^?WWXP8?&L>E9.\/K9:'[3HWD%#H:_M1H8L\$/ MQO _FQID^EJIW;[_\U!69C_D"E"EWTN@#?;'Q%,/B2=6')^#=/OTA:/A1U<9Z? M"OGO#W+#G^IZ4(BG%"D<0R',P2K1U,(B)2%1F"D<,)Y1,JIT?+_,I9',@9Y@ MI^BHTELV@-O1BV<8)^:840B.KR]_'A/?=>8')+Y.O?GS$/36G;>X=>2:^MXT M+-?^49U_N3NK_+1MNF%LJI44BD:4*!B%H>E3P1BD*DIAA#*5HI1(%;@MCL]) M7!K5?-QN;J 6= >VG>I@70?ECB[7=1[U+$M#Q:($QK');*=$:!UB9R;!?9[XF>];TU5G_1KX6VX'^,1TZG7]#KPV]7VG;MUHD/ON%V"- MC:\%]EEY\ZZ4;7]%G] ME&_HAN=TO:L16;[+2[[>F@^1Z8^=WVSJML_3RN)^2^2C*AG(8\ MY5 %PK2/C1 D1)CHRA@KC#D1L=-9S=P&+.U[](:6>=D4N]X;VS2.W]L#]@:! MSB)'CIS[/;&DW 6/_M0,?F#Z%7AF?#W\S]X'_7[L ![!, > IM7!OPV2:WO MUQI$7Y^:N=6?]\OU2H-S]"%\+3W&?5?KQ(7ITR:.H_RE?=7VZ@.N M%7?[5KEB;_>IF1#1B;\4!V#6.0B&Z>N_'&@_08NPD8!Y8F57Z;.2ZDAH7G+B MV,=<2FG?*DV0OV[RJOSZ[=5H9O&9JVPZL/&I'0:M^R3?D/>;>]HOEEE*LZB@(90T"""F"H)660"KW 4 MQ ;B&#EFK9P6M#3BJ"-K]HI> :,J^*U1UO'HJA=<.^[P =G$M#$2K1&Y*\-0 M>,M=Z1$S<^[*L+''N2MGKA]+#?>%U*NV.O>22AXJ',90I4@[$YH"()%1 $5" M%(H8EH@Y;1(>/GQY%+#7S77"'T!F.\G' 3'YQ+; 8,0T/C;6V]0]>/3,T_78 MJ.,I>N*:D2EE;3O%S^JG;2'SF\W[/_BM'CKY=KNI"LJK>T B*"#.F"(HRMT@XG\HMC18.^UBVUK5+=/YD M?O [+038V>F8F^9S4.V(Y[6&:F+B.C5*G67[T;G:;[D_WXGO[)NTE>84T/O* MCO.IVKS)I1;-X6,$15SWCSD=53U=UGR+)<#-5,Q%H<7R:WVRC "@Q57>FZ=K\[*L.[/JJN:Q:&&<22II %,H(H#8BHB[>JR+$O:9^LI9%>H^J!"],I M.RK >@AD.U?2$W034^)HU,94:#V'A[_"K+V2YJ['>L[D$V58S]XRIOJJ$'E3 MP>7;YY^^ME^L+"51D"0$QM(F-"7GQ0-=E]>LK(_/5HQ%21"K !*:"8@S(6"6J1"&-)91HCA*J56G M!PM92YN1G:I-*=966?!;IZ[CINX0R'8?:D_033RC1Z/F_)FVP,/35WI(TJP? M:0N37WZC;6YQ_T1W):M,KI@L'G,NRS:2-I0A30@6&D43P,1P#&FL_R RXECH M3S8+K;_7O5(61Q6-HDV":*.I8X3R,*CGO^]>H)J:&L:@Y/3E/XO"!6Y _[-G M\PG.FG?H()R_>.P>*"WEVVU9O=A"$ZF0 5,"TBS4$S_FVE- E,)489E(G@8T M= I([I&SM*E_N)=IZBYN-_7VI?Y7;4!7M-UU"_,TQK;;E!'=Q$ EO.XBGIA M<^\)3"9KV7LHZY5[]9XP^WR3WE,WC8@/^?CAS>?N\%YJ9D@B8BK)XT2O'K0G MP<(LA9(G&4&FR@-+K<-"#AZ\-*^A5LTATN$0H^'I?HGE4W_UC59CXCP.K7<( M[QB)PDQ1'<.O@%LLQPE+!T,X#J^?+W+CA);/ C9._7YT'0:I;S+U'M[)1[G> MWIL!;5WQ]D4*<,29)!+&-, 0*Q1")D,!HT@2EG(1<90X5F,X)W-I+-2I7*_( MQ5YIYZH,9\&VW$9<\2A7+$T%BN(8DC D$)L%$,4(0\[",*19)*B2SF5?7@A9&K/4 M6\U2@.)9SW=^2XL;U[7/24QED"2X[MG**(*8!A)2Q25,.:$J)9S()%K=UQTL MOE6TJ.9!]J7 B?$U70(KP.1-OMD8>+<*-!KX #C&H0P4A3S.%,0HP?KKJ/_ MB(8I(8D*1 ?P^XWE:MT/O)VX6<"5FMI]PFK]';P(J.D_? >3NM7/?\'7S\(*7[2ZIJ][(>N M7N1[6AB&*;_(XIOF<-FV>Q8QDS'BILA]8@H5"P6SD'*($(IC*A )0N345-*' M5DO[%.X-,4VW0;YIK &T!-6M? *_;Q_6 MS21ZFI7)K"M'L0P _Y!I3&MO+/ MCFTKO0RP'5W-/FP3\]NA/0<]W4!G$3#3&1S89#X1G55 FP5JNZZ\-PSW"K2O MAIM>=)JW.Z=/&(]:>7I]^$AV-V&8W_6]=&464<3_.1%(TM'F2G_AI92&%*0F[))N"T*$TYM-B?>/.TO:5.C:OFF@FWU MM*\Q5]9]'[_?TLWG>_.(\F?]B*K\L&FZ.*Y,C^\P$Y%>($OMJ04I@OJE43#) M&,-A('% J%-9J9D47R2]E.#&**D=@='NV6P#;T=A2QS.B=FQM@?6!H%#H\&! MU8 ]@DHDIV $-]^2 DT;[R@=X_O!Y4P!. M&G84]7_Z*KM<&0_RO!UKH&;)^^BKOMT6UHD&:X#B,H54F4Q15F:VB/:*IF;FP^5O-OGJ/&,$15*#BDB>L(+F4(6$P9YBG$H! ]38C7AG24OC0:T MXM!HKAWZ5O4Z $1UR@.M<_Y8[_K]U>WK;C\8=A_^22">F$5:G<&'9^#NU :U MWI.D$SJCY,HK*OT:^I;%4L;=$;".(U1FD*5 M90'$*5*092R#,1-1C&2 \)=**M7TM(HJE,4'&@*_BN]N_]O[0:%2?QP#,/I MA]F.C+R -S'YG,3-?Q3?62@\,4N_G%F9Y*RY+YGC_ WCF.+]W?UZ^R1EFPYY M>L-$TY8A+"F:K=ZZH_KA[\W4^;2M_DU67R7?WFSR_Y!B_Z3FII<;*"L1A5%* M.(4I#B3$2L2F#G@(E4I-!9,LQ!?]!&J\^8)Z^'J]G MQZQ?IU@5J56NW8Z>LB0W3ZGJ,>K""Q5<4Q+"P M>:,BK P_BI*PNVL<=_R\W8K?\_7Z8[Z1]7F'Z0:8!@%6, AEVG@.62@E#--8 M!D@12:E5:<1>"4MCB$Y!\)M1L3F[<_07CE&T(XB+L)F8$]Q@<2:!7M,]S?OC MY\\ZU7O->SF[^R\8TCQX;#^>4]KA161H0PY M$I SC"%.4PEIBAG$%(PZ *AMT=RC?[W.;VJGS[6XP 5C:D=$,XW4Q)3UM1L3;0>H#0&? M#X;D_>&0O.@OLV\OXS%%_')0?6627Z#)O GGET-VE)?NX9$C]YKS35[IIST: M:946E;-UHT1Y?;Y,SXO]U/O5 MM36P-@?L[6EX]ZH^YN;U6>>!:5?@V6 U=@%CF,>-;7\H^]KN]J#1O)O@_B \ MVAKW^.@)NB/^NA%:CCEJET)_'_2E;8T)&2J%TI! +F@$,4LQ))QSF%(9)I&* M%"6RJPK\W5.;Q#YEK$C@>0T8NPG&.-HB].BRG$>(YF)Q:(9Y]V#B"_)[?:5&?U?>";DIEN-?L M47PNVE"/YGB1IS12IN2Q,N76TA!#%F<CMD9[WSEDQ.FCS0#849]G6"2,Q&XJR4Y0#!2X)RN=5? MM=)OLJK64OPMKVZW#]5;6MZ&*YD$,9(,0;U>UAY:*@0DH8I@$F=,IE)(%6@3S%:M(7H%6:?![HS4P:D];6W( I@G+ M39Z2^NH5* >@L"E*.72[>^KY^TVE7;&?\K7\]% G&E&>!6'&&!0I0A"+-(*4 M$[U(!Y58=IDX]?&D^4*,?, J"1D/[+/,CX(8IY%(X)N8)!R2<$LK[ M3!Z527[TL-E2R/O,.,P=[[UF9-6RMN799W4Z.+VFAMQL47ZKMOSOOV[RJJQ# MSJ^;S.@7'>97+&"$,2H@8U$*L<0*,LX4C$F2)0PE$C&G-O">]5L:-1QVG-N; M FI;@#$&='8XUB3S/*QVCLLK#M;$Q'4V:^GDX%WM1F_2SG@3P>ZK0IAG[>8M M!#8-M$?UOB82,^Z;T+.1]O:A*/2[OJ)1$."0,QB))(:8*@X)8D0[<3BF88!( M%$0N%#\L;FF,_2+$!:Q;?9W[ )Y!.41\"@D M'+DU6/2 \ZP=%IN3$MZH!TR!'#T3O&)L]U7S]WY._)$:.OIHM?7WT;%#Q=,W MY(RP63\)=H:_9'C+NT:G-ICVT'^CQB.IGMJ>)V_7M"QSE>M/2?N^1Z%,8R$5 MC$*4F$4WA314" 993!5-@DP*IW0G2[E+H_"NH='OK=[..0]68-N1RP003LPR M7>?W3F70ZCP!QSB"XR\7PDKJW$D1+E"'/1%_TVWFHB--D:Y2I221P+DL HY9J7L(P@BZ($LCB*I0@#DJ9H M]2@+MK7>-ABGB7S[4X6'5K02=.>W" MLS.H3E*ZH*KYR+&DF&=!)D(826$Z5+ 0DE0)&#$<)PPGB,=N&T#3C^0L&SVU MOB"O#9E_5"SW;Z;'>NI]FGH*-": QH:V4OM54_V]O!J<+Q[S]RX$T]?NRT@M MYMUEN0RJH]V4"Q\WLE'/06#F9_4R;',5"IZ2+$$PU#P(<8H3F"54?^,PPD(% M62BD<.K<,RAN:?1WJ*WYE.7[2.@F*\BQM<\PUG9LYP_!B4GM)7@OP\@]DI8= M)KZZ PT+F[==D)7A1_V#[.X:>U[^[5:NZU)0=/.T"K,X$BRC, MB!K$*!:0Q MCC2+!)+%E& BK%I_G7[\T@BC/2FN502MCJZGYL_@LSTW'PO*/"?G=GB,.#L_ M9?8%I^?/'C?S^?DI4XY/T$]>-4&N1'M:6+Y[D"8MX[L&5:ZRE*(L#!*(8F8J MIE$!LXCH/T0J:,)12JA3L1%G#98VW?4KE'C,A3@)NIU7,"F4$Y.$30Y$M05, MKW5HKE=$Q@90&S%3_L,0?G/D/IR4OYR\AR%XG'(>!A\TCN3>/)3YQB1/\']_ MR,N\+LID_JJ?W!8>#%# 41Q',$2)"?U!*60R"Z%(>,PH48D,G$CMK,2ED5BG M,#C0^ IT.H\L_G@>=SM>\XKFQ#QV*9#.I&4-CB>2.B]O5E*R-O\E"=G?Z+EF MV\=](2:,0I/1 $.<:=91YDR3) F4C&"%,Z6BC'FIV_9QJ969!LN275"NR0)\ MZS-.CY!.?[QY*9K^2KT= 31UN;>/KU,'RAX Z[)OQW=Z+T_R258K$K,P-7GN MD@L%<9A$D(A PI0Q):,TC9G2]&,J*]K1S[ X)^K9"9UNLFB5O)41,6C:\8D_ MC";FDL'B'^45&(+/9T6/ U2F+]9AA"VE#L>!X0XE-@[ONC2KXEEJE>:GKW)M M0B?KIDUUT.Y*!HBHF&>081IH!A'Z;ZG"D&8B2$G"3"WJ<1D39V4OS9,YRH;8 MI12:KW"K?M/PJ@VH=W1I7,;%\LA\&K2G/B;W"/0%Z0K6D'E/13@O^972#*PA MZ4\AL'_$R"9]M+PU_S>NUB-=FWVF?7Z"^44M\_ '!U>N"(U(IJ(8(H%#DX"> M0A*&"B(N8T2P#",>K^Z; _N*%I4=Z5VDD\O$?*G9='/4*'D%ZK1TN=>UGJ#% M/MF(UU9-O-FU9B$9%QXZ %XUI@K$(>"8A8HDT%5%#F!$20A5)0<( 98J) M=DS?;RRS%68>T4ZO98RGU#]\E9'$0203B0/($BX@SF0(F4GUR>*$)U3$(DQ2 ME^7,;*,XQVJG[LS4CI#-.,XY<';>RFS#,;'_TLPE\R/.//OA MX1T>^X#Z0-97K]"+=)FWGZ@/V(YZCGIYZ(6=T]X\U8O).L2^KD45BK'U++[2(?0$U, M: X8C>]AUF>_[WYE1W)>IS=9G[F]?EEV&$*X(MI1CI,L M,4=8>G&D&0-F**10$I21A*I IDZ'6>XJ+(X\]FH^JY'LKWIUSU!!7 MWIYVQMYK%>IA^&8H.MVCP%+VML\ Y%)2^LR39HB*_'V[2G#*$D&)'J0HAIBH M!!(5A3 569AF*(YP[%0LU5'^THA/OZKQA!&1&G [AIL0QHGI;5PTY._;5XJ% MW&/W&I&06OIRXR#WT%P4!7GP&#=*4]OB;F76B-73!VW=IM(L:@(.?I%U23X1 MQ3S-2 :C2&CF2D@$"6<$IDD8$([33(16S#4L9FD$U2@*=IK6\3)VC'4&SV%B M\H?2Q/QS$B#P6Z.GY1KXW)NWU5]N_=/&99T>L6?R%H><-3_; =+0L+FVYM8@ M#5#-KV?NGH5&[2SHV-+RZG%^WK_2(C>GBC7WFD/&%:8J21A"D,M00HQ89LHY M!%#$.(W3F*HLS%P\N2,)2Z/"3L&V))ALVK*X>6_',-KY9Q>!,S$#[G!I'2^C MGC_OJM=R3_[3\?-G]9!ZS7OI _5?./)\ORXS4N?'-RGS32J]GM8)"1A24$5" M0,RUK\,B$>I9SF(:B@Q%B54"ZADY2YO<;P^JKERU53LNKN/1A['E,=[ER$U] M0-> ]JT!K:N\T:CI\=!M& =?QVD]4N8]*!LV]>@([,SE(\,:3Q8G/:B#^^9I M?TF[^JK+E':^APE,JI=DGZM;67R_I9O/]W6GUW^5964VIII*':N L$@QE4"4 MA!3B.!:01!)#I#T(*E2:<9:Z%;^<2W6K.3AK&4'EHKK&WH\!% MC>?\-:@/C3XL1 W8$SA9J]J8?@5V"ZN=]: V'U3:?M "< 4:"$PSX"_#$4CN ML9\S#YNOP-&YU)XWZG3FP3@*69U;_KBOWL_%MBR_%%N55RM*&4Z1"B&-@PSB M+":02J5@$,HP891D(8E=XN,.GKVT:+=:-7!?Z^;VJ3@$3$B6(3V=H"*F(RC6 MG_,LB@/($)99EC',8JL^+Y<"-L-"P0]@=I^_D3!,_(5J$/@RC(#S-^.$K9YH M_?#)LS+O"9->DN.I2]SK2'V3_*'07-EU)[Z@&9J=](-%:>:4D.F MCZHJ=?*!L]65&C+GL++4X'4CJTK6$1J[$+5W>>6X$Y2HYT M )*:PT>C=I +RXWVPTLS'M=IP0+=S=;Q .3&7=A%S1DM0JPGV>GJLSGD."E^%.7OES%N3\YRY1^4XS]XP M'_FP-E]F\X))5^;;'9"Y]TBZ1'N(^>K?>!C-[:86\ MU4_6(CYL^/9.?M1+R4^R^JR^TS]6::KBF$:F3)_0?F.JEX",QQ$4.%$LRM(D MM>N\.U+^TNCJ,,A]6^^%\T,#@/Z N#H\C@-BZ09-!_/4SM$!PLUIPS/=0:,\ M^,&H_^>Z*([)?=8V>'220U^ !JYFR&D9AYI;3< :,P8R&OGOG MRV4DQ8BMQ* M@LRK_M)H^OI1%O2FV0VKJ_T<*-L&LIF0-I,*Z+BBG_FUL/-\ESO84^^(GHIO MW >-78&=T5W8H[%2_[0"3[(">T.ONK=",\KAR^+/C7Z=,?+D>,^L_*RN^NL, MS$OG_I6T&9]U@Z1E;[I@*CTO_8D=?R\ M6?BCUXQN:O=?,#H9[^4^ZOXD!Y,L2U4,$R(#$P&$81:E(21,()0*0F.4.!7K M[)>UM!B@YR<(>:VK+[!V#I@GN":>RI9G+5?@NJJ*G#U4]:9BM=6N5:&] M*:_)>N?@\I>PURMI[J2]\ND/0EV^^]10C&*!8,BD G$- HAS50 M49CR,(GC4!&G8)A0['?MGNYW?>LJC:,HDBF!B")B M6F=C2%6@'27,8I$2E7)B55;SY8.7QE&=;L H9Y_?\ RK88*Y!(&)F*/:@V=(63JE_F*YP\O1YY_RGP'D]86 M/3NBM+]K9%[Z=BM^S]?KMN.N>%?[4FT5C2R3"5(9AY$IGH+C((4D$!%D88*C MF%.)(J=FW$/"EL:WG:Y7@+;: M&L)\8TU!F$V6XYY@N\B>EVCUNG*&@T]5X& MQ 807SG>0Z+F3?JV,/HH"]SFGK'%G+9%]5T6=_N*@V',8R$#!I62II M32!# M(87U&X\ :7E/LU% $U,!PTV1KMIZC?V M&^^M:L^1@)GKZ_09>%P)I_=*]ZV/]YLJKYZNA= O0]G^YV.^D6C%4"S"2!$8 MA4I!G-$0LB (8:(4"C.:$617C&50RM*F>*,H:%6\ZOX"C++@\\9AGZ0?V/.; M)E[@FGC"CT;*:5/E+!*C=ECZGSK;=LM9PP[W7LY?/&(CYA?Z?[;%VX>RVM[) M K4KVD3HV9WA" 94A1"CE,,LX E4<4*18AR%U&K2]TI8VH2O=02=D@ Y[ ^< M!-!B4^526":>V"\1&;-U.-_FQY#> MS_8[!B\H;RY>+4]^/'?0K>F,I3 MGY5^5[W$+HW(:ZU-9-\7_=3.:7+C84N\[6C6/XH3L^@.P+W*5Z!1%_S6_G>2&"0W MI#RQGJ7064G-#8B7G.5X]TA*>BCUBETOW\WF?%DG6=1MJ9.(!9IM).22*HBU MDPD9403&*$@U/U%)L7#BH--R%D;)/,)67U<[%]N-?L\U.^T3_+Z5I[ M4%7M3+VE3:5ZL^?W0?^H7(4H8F& "(RT"P.QX@&D@B1ZR9HI%L29#".G_K>7 M*K0T>MG7UKP"K4F@M@ET1EV!G5E@9Q?H# ._U?O8M6V.A'3QV-HQUYPC-C'% MS3-8[F5M/"'LJ[3-I>K,6][&$WA')6Y\/7<<<7^5CW+S(+_*.YIOFN *LYUI M-/G,UOE-O7;2/S1],^F-7$4HI'&H4A,5P2&6B80,"PI3$5(F BGCV&F%Z2A_ M:;3_FZ>_=.V>+=]8)5Z6+<+ MY_*KY#)_-"E7;Q\*DP^ZPCR5B>E[%,8Q@CA&*62"R2OP'.VWA11Y!4PF\Q5H M+?!8,78,<+[JQ3K)GK=:[!A8CFK%CGK(.')[)PO].%-MNTX<784!PYF(!8SU M?R%.0@Q))"*(@IBIB$0D2)U"7%\\?VD$M5>OS9QU7/F^A,^.=2X 96)><<## MF3)ZK/9$"B^?/NNT[S'MY<3NNVQDZ9,VE.2MT7%3U\S?;K[FY=_;X*,@Y5D: M1C%,PE OQ!BAD.#,%"3"4< SG 38:2%V1M[2IO8N4NF9OL H[%@)Y0S.=G/> M(WH3<\ 2F/N1;6MY^TC): MAUI&(E%!+&'$TDA[!E$$"0D$I'&,8Q(C&4NG4[L^04OCD;V>@&M%K^J.7_R, M/^T&K>V&S.6 3;[SLL/J;8W57DN?^RO#.'C;2.D1,_..R;"QQULC9ZZ_M#C2 M0,'U%PT*LC0C:9 (*%BJO8Y8,# ML861[$?$CFDKT&KU0SR1FB_KI)[H\:1XC_ M2HOTLJ%9ED0F;(A>U>"E@:E77Z M :/@J#"F(PCMZ.D28";F'B=,G"FESW!/?''T^%G)H,^XES.]][IQT[BI(+D[ M.[]FIO<@KU94A1F/,P)#%""(,ZP@"V4(HX *''-*1>K4 ZM'SM(F=5O^=!]O M\ENGJ>/<[L/5;HI[0&OBF3X&*.<)?P8&3_.^3\JLT_^,J2]9X-SE8QHZ[<^0 M]VNH;Y7V%'[5'D79[O5%2&8APGHYPUD$L2D@Q&@80!:A)(I8D#"4K!YEP;9V M#9YLA+J\]H>BIWO[#Z,IBOV2OS2*@P>CN4N/(RO@AXEC&C GYI!#% \V3FJ- M0:WRJ)915G"Z-)#R#>M<[:0\P.O87%>4U9/FK'SE(MES_M0.=TYUHE[ MU*_3MGCZ2G__17\2M(>X;CJI:I&R>)3E*M.\S(3@4"I*(8[3!!(5IWIUEB5A M)(B,E*,_=T[DTEP[K2BXZS1U=>;.XFOKU_E$;7(7KU7V"ACL=OKNN@)T.OMT M^&SQ\>;[G14XLQMH"\"Q1VA]IWO%J&^2/Q1Y]81"]CVOUG(5,\$HCS(8Q"*# M."(9S# +H>2)PB$5A-MM;9]Z^-*(HU;*O.\H_(']&73JVI>%.D)OF"PNQ61B M6G"%PZGV4Y_=HTH^'3ULMDI/?68<%GCJO>:"8^NN7KXI$%?7S*]G_L==FA'! M"=@EMBY/-$_)S(^4_'+4$X>5)N>^_("#U:WNJGFO^\__>' M_)&NM8]2[O*YWN4E7V_+AT*N" \"EE(.46;6)VFF((M5!%,54(X$032D3K%Z MMI*71D]&8R#W*CN&ZED#;D=$D\ X,1O5"!K^J?]RH/85V&>=@KWJ'D/Y7-'R M%=1G+7?>\#Y7.(X"_9P?X+7S64N&;YY,_Y//RE#D/I0$\U % 6:0DQA#'&I7 M*D-!# .C0SNL=9A:=1U&'GRW"5H"XCI_U;YH_7:Z9+AL:.WB4&? MF.CZ\>X\+_94-SLR%]1>V2LT1[/!*(D5)VPWGMBU:&,5TJO M.F%F?Y+5J8O'3?[/]]*D66QNVAZFW3&J2C+"TCB%64I"B(4(((GTWS+!$T11 MDF61DQ?4(V=IGLY.35"V>KI-^#XX[::\!Y FGO1[?#H5)TB<.@.#I]G?)V76 M^7_&U)<,<.[R$=%!/Q?;LOR%%C=Y5U=BQ2GA*D0,)B+3*R#$!:1!9,K>J(2+ M&*?8KO]SS_.7-N=K#<%=K:)#.,H)X(9GN0N$'D%F73#\!@2,V)V^:+G^G7^5FPS,!E8WN8T4*^H:5I''UG&G?5XWYM M:E'?U)&3;Y[VEWRA3W4PI2E&;?:;3+5JL[:J*?1S=2N+[[=T\[FI+O9INWG4 M*R\I_B;SFUO]W^M'3;HW\F=3YOJ=7GOLMJE6.&$9X2*%44JH)DI)3:M%_3<9 M<,Y$&NI_K9K.@]\J6E26&T8+,,UEYKTT<+K)]T;J]Z>N>L7:RH(_Y!L@MNLU M+4I39 R4!I@_N_9P>WV\5SR)!$62PR3BVM].4OW-53$Q[C>+4<:B,$[;5^G] M1OS?_")UYDWW&FD)_U>^0Y9;HPM0=4$^3VTKK(T%AX" T3,=NOA=2TJH(;E M"C3 @ -D0 T-J#0VH 6GSAAOX+D"'4"@10C4$ &#T<%1EL^&B\L9*XN:/1U;:#9!_#PA\LK;!-_348C M-J*1YADT+FBFV??DF1MJGC'PN*GFN1O&+36[3MP_;0M-09NF.B%_^JX)J%S7 M8GZF^<94HUQ%22QI*K!VX(T7+Y%>$$8H,)P1ADAD/$VL=L[<12^-.EJ- 6]5 M!M5>9S?7V@%^.P=X&E"GWIIKE;X"';*=WN! <6 T!S\8W?L7,,[>HSM@GGP\ M!\&S>F+N@+STET8\X<(,LD^R6K$P1H+3 $HL(XB12>Z($(*<1Q3SE&MZ/CPI1%0IULN]=)K(QT+FCV#+1.<\) D,$M-?;@L99 (KB 761PD"9/2]%'> M5G0],6P[$;/ =@%B=D0\%H>)J?8@/>[3P'LS/@?NP%S?V6[FT:^3UW9@5&\& MV^$UX^CLHVDM:8*?5C+"2&8!AG'$&,2I.:2,)(&,X @I01EE@=BD?F MO)R'QQ>,FX3M_DWY?5LW4BOD+[3XNZQ,!&J;^V:BW$)!2!Q@! 5)]5J(*0DI M83%$0H8B25%"B>H"".VFJ)52SAQ!/XBW[0K4:^[BIZMU,9E#N=W>:S M'?QV<]T?I#-5%FGU!=46M!J#OS& M2F51K;Z:;>:ZTAY"(4JQ]@A8&A*(]8('DH1PF*D8QW% ).:1S1+GV5.7MK8Q MY:'RLLJY=@Q^T:3^4'2ENNQK%3Z';9@M1H,Q]=G=.!RL*>"DW4-37-]P,+WU MO_93^_FS9IFZ)]7OIN;I7X[TRNE&M(&N*<,!RC"%V%2-P(P*R+)80J84%H)& M5$FK^7?\Z*5-0J.9HR.^A\G2$Q]E_-2NN,G ]!_T>VRK+V]\_^!YW?$C@X[\ M\>,KQAY=?MCH5YZ:)#SYCE:T:Q7&$D'C6#+3'@6;HG[Z:QA+[8AG(48HC92T M^QJ>$[2TN=D>PQTH:V(KZ-EF86[H#D]BGYA-/*7'PC7BT'(8BPO.+'L>//.1 MY;!YQR>69ZX?F="7E_3FII!-MTB32%@WE6SZ>*5IIEA(*22\#F8(."0HHY"S M,,O2) T3XG0&,"1L:;3P7->^&>!B*_\ MOR%1\Z8!6AA]E UH<\^(A*!W7Z]_^5)LQ0-O6G%W=56SA+(H#"$7=86I4*^I M6K(G*YV1F74J^M8' M!9ZVNF7)AY*SROWK+\"'1%LB!4 @S9Z)B>JT30%[+PB+>.R]=I[*)*9"62<% MG>YC=G2AK73(?ND!;I@( L$Q]OS7!D:-A5%EHH^ ;]\WRSY%Z'*@)DH3\@', M+5EH&(K!A*&>CTZ7-#1L^[/$H3./>M:]%G]_W.ZJ$TE31XIN[RI-K.^;K]*8 MOUS)SW)7*[&;$(SO&R-4HZWXL112O'GZ=6M*L.QS,1OMDZ7<[HL!,,A0G",& M,(\50'$< YIP;K(YD$0QY#1C3J6R1S9X;LS;\=><])>MER:0(UK6%0KT[\U/ M!HSHH7'5!.IO]BG*=._G?SC6XQ[[^V&W.)S3J(_\@NFX6I?6,Z-:>7ME!GKO M<*50W)2HJ,/_ 3\9W_47Y.3HDK!_\'Z6DQ52#%:K2^-CF3EN< M?"+PC^J93]6OOTKC"XVUYU44:V'(SB\Z3^[)*A'9X!1B &D M.2HH8H603@KS0:R:VQNK'?#E?H==[]DC_&H**;4H?"<9J[:F\(/>ZL;9"YX.9ZL/F)[Z]M M7#V^Q;;ZE!N=M'FCB[]^^=N"$\D8*3(@>$$ BG.3@)]Q(&/(9,YBQFEN0QK= M1N=^E#W0M]5OS;](R0?891,.SW-?QD>=RY?/5H,?6T_64BP.3LGV\GIGM M3X?I^:RY22;A*0?:J7;R;Q99P!&*14X"89(!*3(!*"D50 MAE,H8Z_\T..^YC;]]J9VZD=<4".Z'V.[]7\@Y$:>O[Z@^:=.]L,1.I/R1$^O MDUC9[W)OGN7 1SS5%FNYV7>;>[I<+TA14$HQ EAFB5[#9\30! .HH"FEJ5[" MYT[%QIZU/C=B..@(T]W>RCQ9V]-*=IUR MZT@[Z^1#$\NB?MH7LDN143M(8D 1-H%>D !2)&:;GD"&DD+R7#C-[HM-FATE M5%* S%(RD!U+!EY0BS# %N2T*3#-C9S72KR.%*IPW @O[:JXJ?7*9,8#L!@ MBH;'+?M1^5[7\,W3_I__M92E;NCNZ9/\H7$UF9N<%"CE1/-,5BE/$TW7(J$ MYYG*ATY'Y\A(XG4G0 M#9U 1&?9Z:1DY@;$2\)R_+1[DOW;S7J[62U%1805PS6[&HY)6G""09%!O0M, M. 8TCF5U6HL20M*XL**@H4[F1CC/[*S7!8X[Q$%(AWDE%% CLX@71D[)^>= MN"!7O[?IR5+WSSG7S>0_^ZQO[?F=;D2*][0T91>VUYP_WC^N3-3&.ZF6?+E; M"%$D20$QD%P6 !'.0 &A !(E$DN.<^$F>7J^R[E10XS7(;&SNF&@WQT9ONCOU4YW9<*#'TR_G^7N_9]\]2CDUJSFJM+/9C&W_F(B M4>5VNU"*2I:@#.2,4KW/HA P 2&(4X%YS@B,868C>7JA'4X$.(% JC;XRH3K M5N[H?QF'JLDI6Y<<P7-#]=LOOE&#Q+B _0G+_(&-^4 M#YNR^OH:[47Y=O.XWI5/;S="+F!&*(>L &F<5_)_#- J^SW/2,$H%WGBK#4V MT-_0Z(WNV"),L+P9GB M$+GI!C]K?FXSO+;.^T3N!79VD]L?D9%GM3T8?A4^QDJ-?]'X]+4^SB:K]SSE MF75>JW#]1DT(U.[9N=CAJ\@)A0@J"#*$!4 48\!$G((TERC.&".Q77JG2Z=S MF]RM[-O!Z,[!L/^DM\+?C@I"HSK^@=.%@+IGF#L@%"K'W*;+:;/,'4 XRC-W M^:SO@<2U$.9@H]J)W)25KI)V;$'2F!*68$ X2O5:0L2 DBP'F!8(PB3G@CK6 M:S[=T=R(I]DY-\9V]LRMP:X'#SWXVIXX7([:-$<-'H!Y'# ,HW'!R4)/PQ,? M*0R[=WR6<.9YW_273;EK9&5)%O-"%A0HGND=!=VJU^6,;F6]"1_^[JIGL6%RU!V<[!KPCJ9E&2&'7U)'F>>]H^:[M5]@TE*&$H1P(Q(@/)8 29$ M#F1:Q!C#3 GA5(/@7TEG[VU'XO,JVM;J<)N#O=%/RW7SZ_X$ W?(.25I4B ! M"JYQ1Y+%H%!$XXZYTDR=(YID"_U%6&Z$WO>6NVF!?]GQ>/"_D;?+M4D4B!C5 M?^!R)+PQ@PDC!0(8+@%6* 8J9 M C2F"/"B8!QC)*APTKP*8M7<7KNM4_5"_'[O5A6-O]6F;XTF]/V^]GNTW;OB M?!<:8$RM+TNG':GQ;U,[@W3P2&\&#C[5R4W&*S-B[R3;10=GKJ*]HT!M2F!< M#7KU&@[O<'>S 6R:^O(V'(PG;G<#-NYY(K*[D^6)VCFFYL*'U>:/ZF;)&+. M@A84)060,3'QZ#D#E.888)(GJD@4+R1T.B2Q[7EN_%P9'M' Q=4<#UBLA\WR MS&6,P1C[&*8:AU.ER9K:-,;P:&]YP,,95[!"G==8]SOM$8XK'$>G.LX-7*@% M5A\W_R*I":01-^NOADU+W?<;NEUN?UUOV%:6/PS=?EP_/.Z>5Z5Z\U1]_.V* M;EN=&:/KC$@"06QT'I%9X!9""! 71*D\BTE<.*EWC&7HW)BT(Y"E6;&R-JK, M]92)'6V +:_N9C!L(W.NTQCY:YB-!&!HU;/09KZ.3MI(8/5-6+QM1&?I%EM4QRD)1(F#")) 9U?QN@B)9#A7(DYSD..$L%E:5,QSZG!M5 M/[\+>*!E]*/B;7-2*C:K%2VWD7Z#UZ>F_H>FO4/@?'8: MA)CU"UP29HLC:Y M>2MJH^NCU5$.4\]!%/Y,M;?'USI:/0?!P GKV8]Z\I%AMAM5==&L/AA,%$19 M F+*$H 0AX!E1!-1*GG&>$X+E3C1SU$7LV.;:H&Q4?7<\%P-GD#2DD4NPF=L MTG"$QIT@>KT/Q0?''4P[_7L=/)KM_4_Z3>[/>N5RHG:U*3FR?;[W72"<<@8% M A(9(8A",L 2A$&6IBE,((8IR6UDBMR[=B*#:92)ZB.TQ[H&NYO;VN77?__V[]&N-MB9F,X@:T=&X? :F8!^_1:UED;&U,[MZ C9 M*':P!&*9,YU-RBQVCK]D$\M/^3'(=_JGW'ZA3^:4IU7$6(O/VI_ZAT62)3P7 M"0<92@1 D$! ,B: XH@Q61 J,J>XRW,=SHU%KCDO'ZL7<763: ()-M5]U\XX MXD8J9\&VHY60$(Y,+)6I46-K. :Q12 0AYSM;E(6L77^)8]8?\Z]EL9G_16X M4;_0OV_*MX_;G9XH9;/1STF>PH(7@*:%B6E%#- B%8 @20N]_B %MM*V'NQE M;IQA##4G Y6I46NK1T&-?ER'F2(86F.?H5A#XU1'XZSK%Q32Z&][LDH:9]WK MEM(X_[!G;CJ_D^)QI=O>UVEM2.6[(9CO\L_=&VWP/Q8B3Q.2B1@(G%='I2E@ M.:8@4TF2$2)9GCDEO]IV/#=2:.TVQ'"H-&RJL6W6@SE+E\%OMZ08 ]21N>,D MGATQO5::'3*=W1"M4KKUMM],FXCN"<92E[_IYWT+Q>I++[>XKWU3HUY2\3I@K&8PH*'&LR2&D&:,8A*!(: MYRK!A4J/NY@;$52I$ <3O6J+G@#2;LY?!L_(\]T1&>>IWN]\H&E^HH-) MIWB_@R^G]\"3GGL3)8FF"_6\M:$EUAN4.Q[M_J^D_K[WK5AO*_] ME\;JZJ"SK,RNOOYZDZ4=:/TUBQ6U)[QWW,0Y#E>@=I$R@ M!"F)&4!*+].*-"8 QRED,$WU8#F)*H<>J"E3$UO07XY+'0Q8#YQXE5&RW'". M@_W8>\X*XX[9U31I#(]JRZ/:]*LZ>I]UZND-RM/OT:"*$ MY-&G)67+U7+WM,B*5$&!8T"A,.6F]7\*0F+ &2,P5U(FA+O$%_7T,[=@HB^Z M,?-BJ0E+TYA)T+M?KI?WC_>UU%'T<$[-QPEG.UX*@-[(''0D>K0W6 M4<94[)2Z%-B^N6UP*G\ J];8C;Q<=&W$]V^K_6@M6[IN5^!OZ<-24XEQ[LKH MF#Z: QOC6U0YYWB@%7KH[;CI%0=T[%U3-99OQAY+9XH<"?% -!O:NDFI>B1H M7]+]6-WX7C%R$Z@IW\GZ?TVM4OE E^*=5++46\KF>Z[WF)720IU_NX!&O#*% M2+\9\AR@(B/FS4" 8"Q/L*))6B"W$T@_0V9X&%E;'E'I M-4ZV%YFC83_516=M>/13Z\+/=2GE>BP:\ZNAJ(5?KH>'P.,2]!($@UV2>ADQ M\27J)4 =7[)>U)IGF53.'^\?5X9+JD8-;Y?R3O>S_"$_5B'731A!6G!,&4R! M2$T5I$3$H,@A!PK1+(D%SB!WRKVU[GEN*^..X?1#L*' 4 M:$=FO>N;MQ^CZ]VN7++'6LQQMS%* -75;_ X#V>$0E5JM>YWVNJMKG <571U M;L"/KK[*'W+]*+]*$T!;WPZ8*O9&JOB&K9:W^XH)IJ#&]^6]?N1&?=._W2K* MFRK3Y>Z=MK,*D\"Y4#GF&"0\Y28_KP TX1(HF6$JA,@%%BZ<%M:\N1%?X]U5 MM/0G\/;"CU=<;W9&Y]W4&UIFT MQ\$_$+,'-FY2^A\'V)?OB)%Z<7N1F!X7O\GE[9WNY/J'+.GM7J_&E!0UIUU& MA7:OT65^,'W>J(_;[:,QMJ-\LR"I0#QF%"1(8( D,;?(20H*'E,60XPILDK. M#&O6W%XYYD]-NBZ',L_TVQI E1* S-N:0(Z $#@F MF2B8PDZAJQ9]SNTMW+$TVIMZJ;[P .1VFZK 0([\CO/$T%__]SPJH:5\!WI\ M'57>\Q#T"NQ:?-2[")!>9.Z>ONAOAQ%Q>/]_'Y:_MVFIYW>)YPZFKZGGO&^JS?[JE9"2G-!HXW6 M";H]]=J+D5Y\H R" J,,(,9,VEY6 (%13ADCA"KI>'/O8\?<)GTK+&<3_1UT M/*PO\<=&>>PK_<:#5GZN6I*<0'W\QR8NI0@$N@.A$8<%%S_M(2 MAU:OV;:24W%013C^\(SF5:6,T)TSK8V!U1'Z00BHD'"BD\E5$OH=/:64,/!T MX,.$[[J]YC!-Q:E@6.2 QR9)%0H%*"<YYFV@S A6<'?K".3"2?-NM;\&GYPX1SZ-\OS3NZKFL6_D33 9FQCP4Z/<[C M-. 8 NM#@!,?]2S(\6C"\TR"QL.FK (PO\G;*OM[D2&2Q$6. $<%UOL'F@'& M(06<8(B+/(MCM[N3_J[F1CFUI2;.H-S;&FT;8QT+;?3C:T_NBXHA)#! M'$C%"H!RQ "C, %2DHPIFHI4.BDY]G4T.Y(XE+G>!Q[]AV/":Q^F=M00 JF1 MB:$UL1-!,L:VY1P2H5)#^[J9-L?SC+-'R9KGGK^X;F@M0*6(GNL\+H#(<&+. M&Q4HXA2!C,(8%HHSDL>+'[)D&X\RHY]SF=G5H5SXM MWGY>)'I()9428($D0((+0%+&0%[$^HW/I:+4ZO;@T.3<7N!O[Y9K:C=%.[@, M3TH_;\>>AO_U\?/UY1/NV+<34VPK^;_?;G[\[^;A>H8U/QPF5Z>I2:;3L>GM M!#KQ%T^9N?*6KI?_K")SWV[6V\UJ*6H9A+5H--<:+80/^FNWYDNZJFKG5FOS M_<(OT6UC3A%(L2EZF6($"DP2(#A.4U*D-$\*E\5T$*OF-G&[3ID(XXY;U>E@ MUS&S)]V[%AU\LUF&CCC.=J_VR4=O9"*::N#<=?=" AU*I2^(3=-J^H6$\4@! M,&CCGE7[2BJD">MHZU&B!#*A% (B-94^4\5!(6 &5!8+P?(LIM2IR,[+#N9& MO95]D7G"L0+?2^#L"/ 2.$;FLAJ)RK81A KZ' ]56.]E\],6TNMQ[JAP7M]S MH62B*LV"5F;EH%C+TDPDB!1 %<@$;N<$%(7>^E"1*Y$7,(MSI\ IVX[G-MEK ME1-OF5!KO.VX8 P41^:('DFG&M?6\#%TA%VQ&DV\J:?;5Y9K&@;CO$#3F<^' MT"G_:G+L;M2O6UG=S%_?;\I=L_AI]* 6*BL22A($,">&IH@$+-/_BA7":9&1 M+"5.:P]7 ^9&5U^E>*P$ \P<,\GBG);EDU&KH+6:I;G/-5Z!C0*/1DK-0\/. M>90L=WHC8C_VINZE+OK7%F-M?QU7O*+-N M#\ZP_KI#.YXQ[]74;.H1+F*!4)[C#""128"2@@ B,KTJ$XAQD3$N,R=I]F>M M.]'89.+LE^AL/@?/CH"\(1F976J[]N5% \:&GW(X5,3WL[:GC>,^Y=91=/;) MASP4=4R!P%6SHR<0)3A'>FIBR?4D91Q0EE*@IZZ2,9*4V8FJO6QX;LN,RK3H M[:9\V)1T\$TVC-?PO+P$A=%W-0: LV<>P]X[**UXHC"15HHE&FX2)R=<'A0I MZ3X_G]79746.@P6SU@MZ"T<<$< MF?EJXZ^B_E)05T:^ELG(>'$559!'QI'(>#(N^ Z,.NX@3$2\8PV&&U/[0SE( MZ![-3L?[_CX_>SU=JFXOWV1KTU;IIJZTUYBN7V'V^>S'\_4*Y'^Y"T MFU*.29P0D(E8KV5II@"53 +.L>",)"E,G0[9/&R8V]ND=<& M?9&E<<:(Q559 )7FIV.Q4X_AL=OZK^$=5> M1+]_KS(P1DFJO@#,4'51/2R8MCZJ/T1'=5(O:.HBK76CW*=[K*(F?EON[MJ9 MO@]A2F&>8$8D@+* &49 Z2(!: XP3'*.4H%\1!1/]?OW-BP,;L6LFT-C_[0 MEA_(T3?6S'8H[%AP!(!'9KY V/HJCMLB%59*_&ROKZ$1;@M%C_BW]<<]%W:/ M#P^K*M"+KM[2[=V'U>:/C^M*9;P*$&OG22Z8HC+- 264 2EIBPB4H#35&:X MP)0JY+28L^MW;I35-;M2XFX$)4Q->^U%I+0;T?+@AV-6F^UH6*[=PF,\]GJM M"Z\Q.3(V1QVC1R$M1Z!"K<4L>YUV_>4&Q=&:R_'CGO$>)HCD\V:]:3? =;V< M-FY )$5&%4<@3Q(!$,]C0%"1 98PC(5 "I:&M6F1C\UQO871'"/MK!")51LQ7!GTT926#E^%#=A]RDW M"A%RN7B_WBUW3Q^6*UF^I3MYNRF?%AEB3'"" !6%Y@RB]V4T1QQ(FDA."Z0D MLLH>ZFE_;B11FQA5-D:MD79$T8?@,#,$P&5D*G"#Q'KRGW%\( ]0?[*>Z/H? MA_G=U]XD$_J,,^T,/O>8[^F*7CP\\MUCJ;G 5$&^7@O].UG^J'5D$T9XG!,* MNV?Z6]N4_J9N8VVEU>=N&&4;0],@F$W^D&) M*VP>9R)68 0["QGN;>(S$"O7C\\^[#[F>>;1YK951_V+&"N4.#@)./^6GJ?'7+PN:%#%2) )^5?Z0"T#(CNX#$] /V]'GG1_O?YR_3F/#TT :8PAS!#$1G$N!8B) M E#$)* *YI#AO$B$56"&15]SFV2-M=&_T?N'_XPJHQU"R\[@.CP7 Z,U\B0] M 534&!Q5%OM$,9_!SR$,+QR.$X7-JD?'Y9;3E&#D=+YX#P>N,L;?1 MR0X:S[G5/6T\^ZSO2<&&_^.K?-#?A3NZE9I(;DMZ?_VXN]N4RW]*<5UE1\,% MEQPASBF0*%4 J50"(B4#,.$1W5O> M))2['CK8#8/M:41P<$<_IC"X'DR.&INOHH/5T?4PL!X'&$XP!3O9L.MUXB,/ M)RB.ST+X]UV:6.^'O;6N.L,#&-NQ3RCDQEZU/ .MCI3_Z&IB:>+S3A_+%%M\QH\Y]L6?WSR]H2M3:?[;G93U?FFYOJU/^F&LDD MWF[N3=17'41:EOK[4UTNO7DZ//*%/IE?7?]!RZK8T^[IX]K<(E71"[$?LM1\6OW1[![W+BZ(0#33RR: IFL')<^Q$_O-QK.Y46SEY#:Z-8;J3'4C'] M(9DS_Q99[D_G8N^,7A*5PZ#R..JB$G5@,6^/[G,--%&%S554HQ-UX&G4)'<: MH*A!Z"JJ,3(Z>#5*5U&+4]0 53]2G=]%AY=7P(WWW,8_U-9^-GY->W@P&[?[ MCB=F9^ %\:%+KGLPF2>MAIN$N4)9H4"!,VRB0AD@,:8@@U0(ED*<<.X<%?JR ME[F]10]&5FEI5ZTFGDAMA5!PE;Q!!$+&>A[U,7V$ M9Y^;)^,Z>Q^^3)KD1OUELQ%_+%>K@\8%))C'69R!(DL00(CJR2]I#CBDJ=3_ MGV>Y5=2815]SHX"NU$AK;*5UX5!EU!EORP5N&!3'7G*> G *=9 !6 *K@)SJ MZ574/@9<[E/U&/J(9SUGN3.L]*7<_%@**=X\_:K7.Q_7>Y6E:[Y;_JC$_!=" MQ(C'>E&1"D4 DE "*O6_"JZ8PICFF40NJKKV73O1S 22NZ:4:Y7Y_M#8;CCF MD$Q)]X8[UGZV'PL[SAD'X9$IR(!;9<%_Z8#[D[%<[T]_[LBW79^'V;UBM#-B MH2I(VW<\;45I9T".*DR[MW#9FFAC"CHM=_+3\H?I:*>_7$O]_JI%C#\\[AY+ M>4* O'K''5[J),_C!!,$1)Q"@# 20.^;"$@IAD6&49:*V&<1%<*X.:^ZWF]W MRWNZJT,S]FZ8OQRL M=\@H!0R2#.2P$ C3@I*,>B4_ONQI;DQ=V6?F?1U=3/Z^1.]KG;FT;9^P&/]+!WDNT.I_9&:EY_8W;-R?YWJ9\0 M/"^(0 HHG,:FC%\"J% 42":+A"!"4V+%"G;=S8T:6A.CA^8&4?]X[Y#F=![? M87X(C]K()&%L[5RL7D5[!-L[V.^A$73(%0N*Y$3I8A9N>9IF"4 M<@H(4Q+P.&:QX#C.B5.PMF6_P91G@+9;IHT W\A\W VI[!HZ0K5E M1W!"1U*>Z?5U@BGMH.B-I[3\^ 72F=>(<$Y#%F2@DBW$NG*AGN+NY,4X=#T9K%@&YEI:L0: M2Z..J2,$5-B!$E(^L[^SZ>4SSSI^4C[S_*=\D\WJ&GY2$U031M"\4VF:Z2]- MEH"XR 1 *$. ,DKT"J;@4K.(3#*G2.G>GN9&'GM#JW=+;1>LTH0G1((L M)1P@F$/ ()0F@ +&A52Q*E)[S:'3G1Q>K"S."T*@,C8>Y)5$\AP MH810#T8NVD&78S65:) /9HXR0<-@#.L#]7QV0F&@8>N?*P*=>=;S3.>Q7"^K M*[RU^+#\T_QKVWPE"Y4K36T$Q#&* 8HQ![2@1K(P3GC.8OV#6\9L;U>S([[6 MTHBN1:0:6QW/IHIK^C:4]CSCI\= !S M_A..\J755HL_+=[_^G4A8)$Q)#+ LT(O@!0L0(&2#."%K[^CWR!*YL+G(9'3 MYO%&Y;3YJ2-SVFUN&J'3$P[LI4Y/_RT'07#D2?W])4S&RA%>RF>Q"/1.[N]GTE?R67=? MOI'/?\"/+YK)\1LU.:Z[I^J0E*X6*4IQ'O,"4(4T612&+-(4@H3"3&6"%HRC MQ4.5R_IM1\N='66<[LSEV_ZRR_&^^*WX"MU%3-XNUVMS:;A146V!&U'T@,R2 M%!90&LEIDY*70P8()!*00D .20Q%QAN0WZ_%M!"W'4X"L-3$'!9:.P*^'*R1 MV5=_T=>"EJ)Z=;W_!,FH.S2E(:W?4&!Z.C8>!"43%/9U,RL/#CKXDX3-/ M7QB0?&."H_646-+5E\UV^:S**5];&M!L".4$+#.CZ]7(JH?YBS!42A(YZ'NGR= MX&<+$'KCH&T^>X'6\]UFI3^QK95-%D+E5!9<@HS$"4 *,[,T3$%!$>$810/R?D:SL]=!M?@ZI)%()7A"09EA# M"K-$T[E(0,YSE+&49DF:NZ^Q+P-VPO7U?E'-ZH7@Q7AF:1ZK3&8 )G%AWI%Z M.2V8 +# M,!Y8G8TKLOI$&B.OY36/80$TO9==PDT8Y]%5@9=1=>[7;EDC[7( MQVX3?:%A ['Z00@I OZ\@^GUOD\Z>%+:^_23OH%5]_>RK%YO5,^DYF@M%9(( MDF,@]9? 5"=6@"E.@$Q4$DM*6)([9>F=[&5N2]^#D=&#L=(UE.H4D':S_&)X M1I[H'60J T<)GAJ (%C@U*D^)@Z:&G#S.&!JZ&&W^;XM=T;2>[M9+4451?)1 MKV^W5?*HR"DK2 8!@!:/39[HR.]70_#\#07->?[LQS_=-AC@\T/,D$/^]8.[LMGKQ4F&X@ M_[\6=L^(4#A7 J1%F@)$A0*%R"& 6*24Q(7>:[J==%EW/3?1IHL M^!GH( 3!%?R[?;R2@O\)-_L5_$\]?.E!R=E2)-N^6B3UEIVEF5)49 R4X&*@WH*V%>C?%5X^B^D?$&^<<%Y..0V)[TSX6T.-?RE6& M1W]HRZ/6]*N]!-+35;MKC0[V!RV;[8%;N$+:+IU/75K; Y@3Q;9]6O&4$.@_ ML_^%_GU35M*_G_5W\=WFGB[7BR3.LYP2"@IF0OY$QDWQ&0I2J:!*LCB)I732 M%7#K?VYL=TZWO_(AJG6LC1?1[[4?K@6Z'4?)CO]&Q'YD @P/N[NF@1]XH80. M''N?5OW #YHC203/9B[0IC2KS5+>Z06G[O7CFFOJ-?<6'S:E7-ZNWS9)XU5F MJ"DNI9>D:U']M*H7J.+OFJ_-6O2SW-VH[_3/14Y3EN4H!YS$>G$H209H+ B0 MF*24Y&F:QTXZ+..8.3=:[1@;T;VU/F*8X4?4CEM??YQ&IN!:?/.9AU'M8O23 M5OF5W6$^.'L5F=)C&Q5IAP,+>(XV("&%/\,;.;U@Z&A MGQ0:':\W[P,$+LTBWK3^=;G]QYNG[[JE*B8T(R110D&0R4*_$!*%3;0= S1) ML2TM:VE#S1' NAG,WE98!.0VUY6#L&@&,?T^ZQBSI67T6UQ='OS?^.4KG6&:\1JP.= M[O?5ZP,-PF%3(6BX@0NB,!_Y[M%4'=+[]*]R9C@071P(?I]%(Z[!,20(:2N)DP?8>H)TLD 5-^VO.5" M];)Q]_1%?_]VNDLC]/%@R+=SX)4FJ60X-N&1&0&(4@2*6'*@H$A31!26RNF2 MR:+/N;%=:[)>7!BC:_G&UNPK_W-&&_CM&"\PJ",3W*?-^K:Y7__^['8]^,FC M R[A9##/]CBU)J8M!"<$,JT_ZD= _R7%K6:[=W*[O%U7V]:.T8)01@(].(%U;. M%'(.B$"\T=O-I&1QSMF7#''V^0N/DCZN'QYWVT_RAUPE39)7GA8%%"0#.40I M0(I00#.,@&!YKM*\B+'D7H='QWW-C1PJVZ+$\ZSH!):.IT.7(339>9"I*6\, MO8H:P,:L#MV/2>@SGQ,]O_Y2 M;O[8W9DH#;I^6J200%4("B#7%($$DH!@KH# ),44XJ2 5B'$9_J9&S/4ID:M MK5%M;-18:T<8YZ =)HN @(U,%)Y865.$)1(#Y8YT"S4SZ'\<".%7U)MH,&V/4&>>@A'/U.>;/0\3II#@AWL[#F( M41.?1H<$\OA\.FCK'B6XOSUM3?3"B2+)DN:I$IJXLS3F ,5*@8+&&!1%&B<0 M49$)JSNZX6[F1LF-H0Y%IOL1'.;%<+B,S'.-C9>7X^Y'RJ$@=Q#$)BK)[8F< M6U'NLX ,EN7N__1TA;G/>O"L-/?YIWTC>I_GK'V6N_=_FD1XL\)NY/$6&2JP MQ!D#&"54[X53 @HN"8 J32"$*4^8TQFZ3:=SH\B#S=NK:"W[PRW]8;9;488& M;V0>/9'W:A*G?MK;'+5&_QPR@M4>HV"AJ!9=3AQ3:@_"<7"HPV.^:I068Z4'9&-B?_8B\,.]$=5-_?F-QO< M<2)'?=$+K@YEV?TKB4"Y@=.O]>38CA\EOI-L]W%M@K?,,KV-IO]*=_*]4M*$ M;TF]5S:Y7?16+E *88Y3"3 6&4!YA@ 12B_2I,Q)3BCEV$G)SZGWN9%A:VY4 M:GNO(ME:;(H'-R:[D9[;6-@QWF@(CTQWQN[H8/C5/N;6>F M\T(M$,VY]3TIQWG!\I+@_!H))8Q^7!KNZV:U^K IC4;>0DJ:R)0AD.6Q*9F0 M&!$G3D&,>2PQ-B71G>)%'?N?'\.=5 #O^O#_1K47T>_&CZAQQ/%ZQ'68;'>M MHX$_^@8V..X!Q-BMT!M-FGVX]U<6:K>"YKQLNUTSKW3?_&FYEE4"YH)E>8%0 M0@!&B.M=,9: IC !J>"0$PQ5QM"D=\Y[T^9&H"%O+HV3=9VYJ2^?#R,_T06T MUWC^"UU"VPSE]#?11ZC/Y3;Z8-B_UHWT$:#!;Z6/>W"/2'S77-%]6&XY77VI MZH1_T+_;+A0DL6!< D@5 4@4%)@ZIX!3G.%4DDS%N6T\8F\O-:Q;OSA^8?=)CS? M/*YWY=/BE[_IYO-<$I*#@F.3B\ P8"Q-]=87LCR3*%:Y5;3QH5?Z(H^ M;9?4;MIVH!F>HWX.CSPA?[G^=/VW;Q^O+Y]\Q^X-S+3FX7JV-3\<9ERGJ4FF MU['I[5PZ\1>_;=0GN=U*V0C6K&\_F8W;_F2^J;>P??G>W72!6*)Q"";(LIWK3)"$HXD*"6"5*Q3%)8P)=-DV^ALQMDNHO"W+;SW@/ M@=WN90I@1R:#VH6K:.]$5'GQK [";A,Q&7VA2W$5_4W2,KI9!SQ OQ3$0%L/ M;S,FW6A<"M;+;<7%[8U+C>;;]D%_UQ>,I@*R% %)"VCJPR2 %%D*)(1($)1F M,:=C4&)KP RI$(]#A7O(PU*@#Y!SI#[CP_3<]Q*]B3EOW_TLN>XE.+X<=]2. M9Q&$9QV9(YGU5BYR&0N62@*D2HRZ5DP 2S,,!$F8E%P2AIQJOISL96XL=9A9 MJ^J.2M9F.I8@.(FG'3M=C-+(%'1$/>_/(.0NV3^$0"C%_9-]3"N8/^3FD=[] MX,.>\:(GJ^TMA,""J:+0T[XJIEXD@#*5@SC/4EZ(5%)A=2XZW,W7=0I9>!- #K1T#7 [8R!1PLI;GH4AC+:A,MW?AJ6$8FE"1F*<[F3;>[B2[FY+>E]DW%%"Z94C&.0QA ! M)%&AR:(@H,B@I)+A(H;VV7V6G7*L7C8BQ[F-FUK ^LWDVN!L)?@V4W:BR 9 M>=YVT1A!,*_7]6"5OUZV/W&]KQ[WCJM\]3WH'G;V=KE[NBXE?;L1G^$J-XID81B$!?4O(ICI@JK5^[+AFT=7_MWRH MODU84<51*@&#J:EG%$/]YN0$2!X36/ "2Y2YB4Z>ZF9N$['146Q,-85WC+&1 MMM9Q9@X@>WZ>AL%KY%GK"Y6'YN00$A=(3IYL=F+%R2'7C@4G!Y]VF_[;N?#I.[M]E)IO4Y MI]H)??8YO^WO>UJ:;)'M%UE6]QH'%90$$4B25,]DA/3+/$,$%$))@#EC>89A MD3.G@(3>GN8VN8V^4U.R]$&6466LV[:X'U2[[7$0J,9^E35E.]WP8H MH0E@:9*!E)&P4;SG8V]P8HF&'O;51:Z[GP?>^OEZA&O,9MT_74S[W(1^Q8G/$=Q0NT1P78Q6G:8X88+%B $'* M Y44@W JIKK8LR[Q"PPZ01%*Z1":,/*2\QXR'( M7/2, T$WE:2QZY?-4.A!B:4-+;PX[FJLF@;_(DW,T)Q.4L^Z?\%Q:G_;DYVIGG6O>[!Z_N%P::S?97E_H]YNUKN2\MTB ME0E,*20@)E6$H%2@2(6)6F^$KGAC\.5Y MK"\PMSM1"8ODR$31FZOZO0'S[3DP@^2FGL9GQ&S4%QV^>O[I:0!L,DY[/NF^ MPOAEN5[>/[81]HJDB"*! 9.D*GXB 55$ $TL"&*(1,ZM^.6HY;G12&.<_=KA M.4[GUPO>WH\\]1N[ L8J]GI[P9+@>7N3+0-.NM%]]9]^P.]U_YMFU&G]< M52K1//U[ZTK MRQM?% ,M-IR[GW3IX0O.RX6(=SN>V5'E1D_%J$0&OG-W M64 2*MMMJ*MI<]\LG#[*A+/YS 5Z)4Q;J?2Y+UB?P9QMF.04.B-S"#^P/DIEYQ!)*1^25]7 MTZN8G''ZI);)N<_X$<@'O;'>R4_+'U*\+,?YYND7^O=-^79%M]LJ[)U)AG-& M$5"H8 AI)=^0N^(I=X;YQ0S3F.GE%N'ON=&+[7IH+(].JH^&[&GJ+(_JAQP M2CKP&1@[ AH)[I'Y*"C2SA3E@5D@QG+I>5("\X#D)9_Y-.&IXKB[DZ4)^RGE MG5QO=8]U!.6GS=:4&[Y1W^F?BUCJK2LJ)$@X,0F1- &4$PRH7B7%A1 XSZ#+ M;LJFT[GMJBJ;*Y6WO='1L@X"_FFE[?YYO[W=T3\=#_"L!D'HQ6J<91! S(@> M!,E 49 "8*IDG"#]ZDF<#EF##\(4=ZSG!F$$W.W>':'1'/FE40/YS-XV6>BG M3_6W^7/];=9V!U3I=$ IE&BG39?3:G@Z@' DZ>GR6<\=TNW=A]7F MC^W^YJ!0(HT+RD">0ZE7N%("DE((!*)*B"(EN5V&K$UGV9-4M?W MFW*W_.>^DMMZ*[]N5KJYVU_H[K$TN?[M+$@)E8G$$-"T4 1+$"!\@*D<:X2 MBGDJJ%-9S5"&S8V:AO> U;O\*NJZUZKL7D6-AU'KHC>=!1OTBS?KHPWEJ^[D M@X]BR+V^%^3C'P2XF3674P(O,!V.$/S:]WL5U#WNYS8O>$[RE ).$KV)E44, M"I9"($5<2)AE>2J=-K'/FY\;+5]_^_;^^SOWN"RNWP;$C MC-$@'YE/@J+M3#E>J 5B)+>^)R4L+UA>\IE?(Y[Y3$U5K*7I(= M]3UR,%FT.ICNF,4TC'2F7R20R@SP-&4 )44&"FG$N63.$PYCK)A5*GA B"=\ M=72LC>XE-2:*B.XBI4V/?AC;([W'6V_6H)3\L2S-!H_1[3+L&-B],,(A._(; MHF/H561,C2I;.Z^&@*EC5J"$2AL;[FS:E#$KQX_2Q>P^Y:WS59K\LW>R_M^/ MZYY*B(M4$LDE2D",2*SWH*( A)O:TP02%$N(\M0I0-NZY[GQS\NRA=XL;X^] M'=F,@NC(O-/:'/W46OVS2?!YDO1%ELN-6/!$RC1GTH3-Z<4?@1@0 MC&- %)(LSQA-$Z?%7[?QN:WO.F):KE>Y'<1LKV/]M"V16I3MF&N.V-P%6KLH\W\ M#%'KO=@%.(V_Z3*@5-9%QKS &9S]S@>56W[6P2MH+)]R\+2P\LDG_>:X;L%\ MP[^4FQ]+(<6;IU^W)E3APW)-U]SDZO/=\D=U&+' '.=*P-B\M E 3!) 88Y M#AG!@LI$)(E+_H%]UTZ<,,%QO G*KJJD/S2VF_R>GQHUD9\CU7H0T;T+;CSA M,"IV_#$.UB/SBH&YHM\O79A_;6'>&Q]=GX?9F73<$0M$1@X=3TI2[H"\)"^/ M%OQ([9U4LBQ-VPU;[B.N%G%F:DNA'/ B@YK$< :8* 2 B80XIX01ZA3ZU-_5 MW!8RK:5F\1+1RDHW4AI U8Z$PF U,NGL83JL:KJAG^$(YCP:@0AEH*-)">2\ MPR\)P^(3ETBI?JK/E[>\7#Z8$XY/R[7\N)/WVX5>TD!*4P($+SA :4X (UD* M\@QS)@0D&<;N.JJ]_YY0UX."3'O@*_ M$$1/"=6ST 353^WO[17$4\^Z?EHY]?S'_(O!+W?56>OU6A@M5KW&D7JE(SNQ M5(=J;E33#.1Q#M(LIP"1A .BMUM&NRR-DTPQ@J!KI7C[[N=&01WKJRC#9_:[ MUY5W& <['AH/W9%I:1#89Z&;HYS+^N$6L)R]0^>3U[IW!^8EHWFVXD=P7^6. M:JX4;=' M@R7"4@OLAP0I/3B"4,&*)(I(#B6/"Y0*C/N0F2GNYD;85UWY!3U MNG7)EXYGPSUHVM'1Y1B-3#NM@=&^U&',TYX[ MJ,WZUHC,OY-L]_91;]+6NP4D>0SU6@40R+#>->$"$$($H$F>2(B2C''EM&LZ M[F-NL[XQ*WHPB7QZ96^$9TR-A-6&KO=2-(^ZA2K1SQQ<;K>/5 ]RQ#=;UP.8 M4YA;[IHN0W+LG9*V#E2E)8Q]5U$+:I,$&?18=P")4!NC$SU,NQGJ=_%H S3P MJ*=N";^3XG$E;]3[^X?5YDG*IKSXZ:"2Z]6JJ0UZH[Y*OKE=FUE2WUZ_-3/D ML"XG!&:QT.S",I4 Q"@&)*,I4'F2*E/LDPHG%8+1+)T;1[6.5KKK%U4*'7^0 M[>AL%D,W,BF>"<:[:E4'1+V+HP_+'5T9ORIQ@D?]]._?J4G*&V4;-_H(A!*' M&MAV[/ZW_U4D$/]G$V3MG<1V&G[+ MY6A 4,=>F[Y \OTP:I]3&]"&>?FR=5-WL?#B^\W.KQ_9<4M_(O M=+DVO[Q6>MKI)8X1?EZJ9;WHT21D-&H)QXPG>E_*26QVJ"9J (H4I#G">O&1 MR9@YR7*&-&YNQ/+KNI3U?B6ZU=9O:^5@N?W9)-OK\5O^T,97NL+;75E5S?;A MGU CZT!;KS!>D[#=H$KQ7DTTJOR[BHR'^[]2XV;TTL]J.369KK$O_A/H'SN; M-AN=9%]07?24O?OP>R&TER1Z[]IN=9=\D4B&TI@*@/,D-5I;&2!)@H#*9(Y9 MAB')G=9^)WN9&T571D4_Z8DL-JL5+;>'.IF."N^G0;4CU8NA&ID=]_>9VL Z M@_8JJFP,QVN#$ 0BJ--]3,HT@VZ^I(SAAST7@\\$!KZ:8I8WZM=MK7^U0((( M'K,"4*.7B8I8[_^*E $F: 9-.4F"Z?5W5!O<^."%R(E5U%I[ 4;!1ZW$GCM M#P?!MEQPA8)P[!74<_F1J^AKBYXVMMY'!EP%V8 2:EDSV->TZQ0;MX\6'E8? M\DU"8;N/^]U+=1>SR$DA3#%N ''.]3JB@( 5DH*8491FN8C3S#'[Y*B/N3%' M]_:QNNC?M1?]T<'R;7-9Y1A2?@IB.^:X$+BQ[_Y>8O;="S./E)1>5(+EHASW M,'$22J^+Q]DG_8_Z%G79\']\W&X?I7CW:(0$ZQNR2H)M?\]FGOG2EE#47XL% M8SA76*\Y5$+UPH,CO?E@N0*,<:Q$BGBLG$C#RXJYTBVH.]T$?E MQ)7?0'B4G+D R&"U:'QLF+A(S04P'5>ON:0QWZAS0\E\5_5WO1:-CI$),_C\ M:");;]27S79I3H2V[U?+^^7:_+DV3/^7FVLH@3*1I@D#(LGT.@SEF5Z'&2GU MG,0R88PYAZA?;-/<"+8QR_#K'YOR'VJC?XSDWG;7V/;+Q\R.3B<>B9')]9DW MU8%YXT]D'+J*:I?,&.V=B@Y>735$'#6.A8RT#X9RL+#\RRV:.(8_&(3' ?_A MFO84U2PW0AOP&S4!B[NG4VEV+,L(DX@")J61=^<)8"2&0.10X)05A!+B0L'G MNYP;P[:F.@IU)S "9* (HT%P@6# M*G42L/,W96YTM#?2+"?,M]-'WL%K3.SX:AJD1^:Q5A3BZ$9@[\F5449FLM'1 M>S8H-DJBGJH1E\ :5%#"RY!7T)JX!+#3,A07M>C&H]MRMZC3O?C3]9_+[2)F MB*%,Q@#!6+-BAB5@5"B *98<)[G@T(H57S8\-XYK;8M^-]99WC8,:/-161V5C=G4((@Z&N^KOVF!OMQX)CNC(D__C.FH,CKYVP>S8/((F M@Q-*P>1\;?J<6.'7 89CT5^7#[NQDI#+Q?OUSI0:%D)_W;9O]3]ORN^;/]8+ MJ&@.BR0!$ F]-% X!T6.D5X?Q DI$A4+:E5A=*"/N3%.;6;4V'D5&4LUCI&Q MU8YJA@ =)I9 ,(U,(UX(6=.&!08G2&(K^;_?;G[\;_WIFA_T/PZT,-3F)"1@ MX50[Y6T>O528X9N\-;3Q55:B)>O;CVNU*>^K$.HW3\T?#X>)6.9QPC &4F1, M[P]0 1A/"D"+7"J4Z)U#['15YFG'W(BB&Z)SV,QK@G[4KR:C4]TXX"NLX#9( MEJ$&XT,_=K!!5\JB-C/:.Q%UO+CJ#,%$0@A>F :7.7"SXI5$#+R@ZI$!708NEQS>^!T*3W]F_/@'/9]?L+[\>X3V^[>+T+\A=.#MYXOWPV:&&4 MC^L?NJ]GQ0IJE]8I_3*573P+3HX%_W>NA=PU146[W$+M[@:-8>B+IY 6A9\\6W=_63KW8;7 MP?LE7=W*8W:R.&96B41+E*9QBS-F%ZAP1SH-1D!-&$" M,,JQ2ADL%'2J1>MORMP(H]&1+%O3JPJ8ZG%G@N[*O?&.F[X+1LKRE&L2_,<^ MZ*HR90X61HT;;410M?3:>])]L/8E<%K-17"&S*WQ,V3Z!)N+ #N997-9BVZL M:H[/JCWUC?I^)W_;E"O17(VC F."80)RE$*]G>4,L#27 &<9C3-:H)A8G73U M]C W#C0V5JKN=]+DP:PL$U_Z$1PFL2"X3'"X%=VH2!L851:>#QNPQ$8TBX-J M_3\N1L^ZFA56U@Q]%H>:>,UC%9O&.(85H_9_=%#;9]SF?,S -LMY8+"-C(KMK9&/[76_APMU]$>R"]G@/2IBFX'3K@B MZ6?ZF[IFNIW[)TJH6W[0O^S?9EVMV2IEJNUA?;;(E%XG89/TQHH,Z,52"DC. M4L"0H95$R@(Y710.]#4W1GG;$6FXJE7DMA$];&&,SES]6T=QN2&\[6@F$(HC M$TP#X+<:P-K0SAXP;(F^,W $K,?7U]/DQ??.N'RJTMZYCWCLNK[=?/C:K(9E MQF66T 3$LL *:X 304#F"(L>(J9*JPBKUZT.S=B,)8Y;!PZ %ELI?S<'OMP M1QOELV?JN.ZP4_*#8*+]T>#@N^V$COT16>._;[Z^O[Z*OK[_\NN;3Q_?1CBTZA4=^T7N'QU**F_57 M:6H1U%(;GS?KLOW12-)N/^WKV\=48@DYT1/2Z,, MKJ#6S6UN&^=:^;#:ORI7J5N-IW4QJBYI&Z^JI[IN5EK,V^AWXVE4N>JH,1GV M2V"W(7FUH1V9PEYE5)WW/Z.@'VC'%-:V2?=8H\#Z(D@/LMP]&[(U*:J$O8<@PO/MC.C&=[:>E6).^[V)=.:]-(10@&MT0DGTW.FOZE5>NS< M/R'28_E!7_GKMH;/04/WZW+[CTI!0>4Q+U"<@@0G!" ,"T!-#![*5)QB!7DL MH)L.=G]GR!KB86Q#[O M]+$RML5G/-,N-CNYU:]GJ3M@*]D<=^4PA4F28@"YWC$AE9OZ.S &DL@""Y)@ MO7ERRJ(XUWL=,R%.0FK'#Q<#-3(Q5/9%!P-' M4+ 8A"!4ZL#)/J;-!!AR\RBP?_!ACVN/[W]L?J%_WY1O'[>[S;V>7&V\&8]) M5J@$"(440"E/ 8'Z/T6F\ES@C%-J?P?2T\G5'EA%.@199=GY,NNIQ@>+D(<_OPI:Q2B"/5>8O;W/Z'=C<=28[,@$YP"W8X6 ,([,$!)DZ3C\N8PCEG.CM]31S^ET?E,\9^)@?O5P_ZCW3ABU7LMUG%SR1B$(&$DPI M0*@H0*'_#TB60VR"6XOY44C'0#>F.,;.CALN0F1D-NC8-L)Q;:_G M@>;[]U[.Z?X'+]T)U*$5"PYCF.4H!T)*DPH,"T RB@&F$F*(*:-* M^6T#Z@[F-H<[RUP]5M45N>-D/H+0=?7O#LQT2__ 52IOZ-:4@KM_D.MM=?)\;:HTW4IS$OWFZ?!(4W?DVBP 3&S( M[JE3>OIF=R?+[W=T??-0237IA8*22R,,LOU-FBKJ4ES_D"6]E7\Q):#>T9W< M1V8M,HRQP%2 -#5JF2QE@/$\-;J9K%#Z=RQWJOPV#[?F1E>5A]N(FR+)JR:_ M3N@U'2VWT8,LZUP[QU2[>2!MJP,S"V-G1-:5MZ!R-^I"$G4PJ623.\\UN$05 M,%=1#T=VIH;+2M[HQW],V*UJ:XK_V&< M;3<"P= ;?5_0 %>;&FE;H\;8Z*?&W/ZUA\=FP0J88'N'X=XFWDI8N7Z\L[#[ M6( +!1-@7D4D9W>V+U"*#*LC 6&ZQQX-[[+UP"*0]M%2]\ HFH.K6 M^\2JJ5[0'$NE^C7C$;)^K"/6+JK^LM';M;6QHMJP+7(I49'&FN4$X@!)G@," M%0&%@IC17#"46MV4N'4[-W+;[PENC74.T=KV0 ^SUGCPC4Q6/=*">T /EM=G M:Z-@ZQ ;/PK&$T7+!\/:+93>&;+!X'K[UJ8+MW?V\%D OONG/1C]%_JDL4Q. MRVVWH2LQ@US #*0B-YF(:0%8(0E(2(;T,*1)GEE=7MEV.#<6UR9'QN:H3Z'> M@7QL\+:@], HCDSF9P'T26BR0=*!P ,C.A%U^W\UW;C: 9U!EK9I9SI^=O#J M&3.[?.[2RL7O[Q]6FR3\(LOE1C^WW6VK M:K +05()"UH 1&$"$!$8%(F0YC2R4(H2E1>%7UWC@%;.C?WKJV'V_&KX<.5U MU1[RBTKXY2U]6.[HRCAVU=0E:6KQNIY>C/(-L#SC>.UQG3 J8)PAO:"F\@B0 M!Z^X'-+&5ZK'/ +,_=6:Q^C,5Z!+/M"E:+[@UVM1W<37H79O'_7F0F][,REC MC%BF7PZ, )3QK"EXHXJ4XAQ"Y1:L9M'GW$B_,3F2MQW M(W4;].TH.C"F(Q-N"V=['V[0K(.H:HNOHL;FD!IIU@ %4TD[W^/$.FG6$!PK MI=E_U%-H=KE>[N2GY0]S(;_37Y:E)K=&P?#>U+3_9T6%C05_D[3\KL=)+O)8 ML!AS"+)(Q%C11#A)ROK9,3?"TM_&W%'DU7, [/AI EA' MYJS: U"Y$!U\J!FK7B+R*L2SX\Y59#R)*E<"BK->AF4H&59/*Z857+T,JB-I MU0N;FVG.@O&F7E8/&<&,Z 4RF "<4I3N%C+6ZH_9'DH M,)WU5FQ!:K;H^C >:9S*0/"J\#/E=\#R4&!FX_H_-(&@BKR-:AS^A1($C@?O M7R4+H&/Y_ZQ0_^,AF3R>_X0)EYZ'?Y.WE?1J54%]N;[]N#9'\I7AVMKZC_59 M)\D()CR1(!%(O]K2/ 4D81F(A50R1TK&S&FGX&'#W'8)K0LF JRQ,]I[$77< MN*HXK7GBPO-K^Q%S/9T>91S&?J&,,@07G#<[@QC\--G>@E6&5V6+>9 MQ"/."YKE0*1FNE,D02&8!$RDBN8,8IFDSM6\+S)I;@1Q+43TL-EITY9TM7J* MQ'+U6*EZ;$UEG+HRD_?V/< (VBV&IAV7D=FIXTS4EOYM:OYV_(EVF^A=.UCO ME9*\RF@XW!KZ;N:1-9V;WS,/&5GS?K'W)K ME(>J2]SJ%.Z[_'/W1F/QCT6!$Q*+(@<%SF* "I0"EBD*DI0G21;G,91.&^H M-LV-)+M'VUVGZN24)H2^ZZ'OC8+_*+K>,$PR-A->89^,=M\[TMY8&^^:*X?( M>!15+HUR^W QP,%O(_PM>J7;B8LA[+^MN+QI/\(V[=^H;_0@ 9[':9H*" %+ M)0%("0)8DBH@"H1%5B!*,R=5MJ,>YD:FU1S41%K*'W+]Z*JA?@R@'?-=!,O( M/-8B4EDW@HIZK^^!*.:X_4D)H]>]E].__T&_R7Q(?C&*CMK6YAN)\XS&)$F M@@2:%14#A20<%#&D10I3K.>TRY3NZ6=N$[LU,]K;6:5#-"ITCO.\#UN[V1X ML;'O*X_!"C_QS\ 0:/KW]3(I"9QQ]245G'O<,P>M7H2:(+%G@FR:$4BRK^W2'_K*<_C\/P[U.\^>GV+GIH;';,+^M# MUHX/+@)JHDRRQL1(;Y09=NYY]WBE=XU6 M1ATI^GXMC-SSHN ""JF7!T7&3 4V7@ 6,PBD2%"!$16*4MN I9,]S&UAT!K9 M!']'VLQ*,=X^9NDTD,-S/P@\(T]Z9V2="F35MU;K 8!X5NPO=OJ_\]8;_X^-V^ZC-J&6UJY=)5:FC M6B NS55N]51U4/Q9[FY4I]S'(I&<9*G(0,YY"A F$E"6Y2#-XZ)@N"CT7]WT ML"\S:&[+0N-*=?"Q41&O@R*WE=C;PV-I_K(S\9#F)+XI:E_N?6R>>UPOC<+& M6E:GI_7O_ECN[N[D2E3;J!W]TU59^\(QM[R&FW DQ[Z#JU"O?8G>-:K_E3=7 M=2VHJ^C@42/FUUS&?:['K>-72''N, @'4^N^T)R)Y;O#@'>LYQVH7=]")M6% MTP?M[]NFYN=OFBW>/FKFN)=E<\!,%$0XHP+DN0E@31(,:)XJ(#/U_U?W;3UR MX]K5[_D5>@KF ,U HDB)3( ["KRV*]-=U5^INL>=7Q^2 M4MU+*E)%J76 9([MEK3W7FHND9N;:PNNE&:0K*%_#AG?'[O3O'\JEAE>%%^6GRQ)WLLH[YAU?RX-"C5 MD!$-"2CRW,Q#94X U5 !(0BFHLQL&Z=^!5X1O)L:\^V7>NT:6C;5YLDFIL3, M5;=1)2ZLOB5?,=ZPYZSSM=[;T%/0LZ_L9O/.;$IA+[RN=SA2:5A$^*,7B<7P M[97*Q2+"VEXX%M/(R"):C8+)^Q]J)>:5=>FH(VGS$_793,35K,08EX7M<8-3 M#1#-%* IRLQL&!<%*H662,_,C7PY>&_O,,]#J&G?_^$8:MLUF35=D[<]NY.M MK/VC=?UU&WL'_H)X?G6F]]*'_AY=KZRUU<[:B_Y,\^T- HF#8 *B6OW>V6L+ M:@5Z_<\AIM7O5403TNIIOF]5]>IQN6+KK9YODT7(A51:JAQ(SFUOB%P :KY; M]L2?9%I0!BD/JZT^:V=J:YBMFSLYZM BZ_-X^C%^!)0&9N@S U2=MV)0[3B MZ_-61B[![@SUM!"[^_*^^=U-;>$G_7&YN/NF5@_O%%_/LD+37.,"",@80%*5 MP!YZ ZG2 J(<:L%5F"9!FZD>M1,#YE@O7-]7 M.NZMLAG;^P\+J7[\EWJ9,57F12:M*G2I $*V%--,&@ M",202DYIH';'>J<.:_&G]3ISCH1JX/B_ ,S\4&=:ADSO7(QJ>C@F *%8NQ?KO96X#23X5+@'^K[9B[B8#I[* MV(?3^IOL'$[^'&0G,P2B:%D.#Y,CISS\03C-?P3'+L+NCJ[;^,MJ654SIE!> M*(8!8B(S=%08.E(* EU0FI4J59SI2!*-SN#4B,@Y%4V.L<;4CVEB(C4PQW2* M+%8W23>(,;44#Y 97C:Q-C<5A<2#X /$$ _OZRU&O7Q0W]B/AI<:C9E9RDE! MN"( THP8_E Y( PQH 37J2Y%6L RL#G .3M3HXW/J^7SO+(+@)]X[>$_W/FG MN7/?'H,*E=EJ ]B/3"+ -C"'U!XFQL5MZ^:?&B_;JZWZ:$IWX1!/1/JLE;%5 MH[M"/2,3W7EY7UIX-I/,Y>K%TD_U7,QMN; M9 N?RBZ;;Z?TK> MND!(6(73C87-J=+-S.6%5 M\KUVVLQ--EZ'$9 /Z'X$%!G*@0GH$,7&W[W>NP,4L 4 %(E_?"R.RC\!$!SS M3\BMU^F/?E%.+&/O(,K;I]7*RM$(C56&A;3=+G* \JPP[)-RH!$DD*!"%5E0 M >Q%BU/CGELA5D]'^5RWU<2O4B5M1]R/>J+B.##Q;'P%J]K9_<-T-TGC;WS- MTHO01%8O;;?W*CJF%\-O4S2]?&//W.WFX-MNKZK:[:WFF&>2< 0(49E534" MLI(!HK%&F4!*^FD:>EF;&LGLG1.VU/).K>;/S#7QVVLD'IC5[43;,Z4;"\.A M\[D[^/8\'6COV@N46*G<3EOCYG%]PCY)XGK=U(].7*G'@A;RV%T.CJ/*;VBS?10XSB;D$.;6K MEI1QP+*"@9P0*7B*S$1#!57NGK,RM?&_T0;J*:MT'DD_"K@:GX''_PDT XS^ M3@QB%=6>M3%N%6U7F"=ELYT7]\R9SBMV=[>R9]_,4MRF8MWCCWO295)*#B$0 M/&< X8P#S@L%;)=.(5J?&"/NZ-H7-@'M7K M17AF4F/#.W0NM17-(06 @E"*E5#ULCEN2C4$AI.D:M#-U_1H<[M%MPOY5:V> MYT)57Y?W![+#,ZQREFI,#$?9QFVX(("DH@1898QCCDI4!NWL^)F=&DG=]M9< M]X39CX'B@S_,%(VH3N(M&7Z$SG"\0Y]O%>=_=M7?)GQO_ M D\A'F'GN?72&Y&A]UF\P0C?4SD;DA*PC%-00I[A0D-J_M.KN.R?X&#?QE>W+;A0@YULWAS^HYX-([,JQ5S^8YQ-T:ZU8_(-XGQZ5/>>WN/NH6'4L@O9%/;#Y M8O-#*W.2S6BI*4PIM!]^!1"SQX4YSH%(#7\0(;( M)'\?JVFN-D'45SAMH\ ]E-"7Y+FW,B#T0^^Y;%'_6*-^(CZY];^^(OG6A7KX M;DQ/Z&+MTH2:'W?WIB&G5#[<=>T0 < M>GNH/W;ALFT^F,32;NNT-:Z FT_8)RIN7C<-TLOG_0]Q_R0-=]DCA^;_Y#?V M8Y;F5*HLLX)0)0,(T@RP'%I)6$,S)2(RXT$3JQX^3(YVZA""-2##P?>DG&$A M'6F?NJ.]CQ5 :&)(-D'84XBC]?CI@G"'-E:ZPU ]H?.UI+RS1S MU'9ZPRB$U>KGAH;:+PA7R+TU+U#:E_CS/;N;I93G:2Y2P#219DFF<\ R@FT9 MCI"::,J%%[F^>O@'L+533)7@3 PR7C&'Z1V>S;67BJWAT\: M3=WV; #[JK;G+^B[HW0HD')N!R25J-095:" 5A@I95:G+9, TX)CBGE>2ARV ML731YM0&JMV(_WM^?^]6^B>R/Z&[39D?*&X'1CRO_6?NSSZW*A7GYEJ[_4^N>GA:PVK7,4X5F&A?GJIP@@R K M55D"A2FC(B6C$(DB6HR,R@K=@1X3P86K>U:ZLNK[[4+:_[$U,L_LWIY4O5V_9:O5 MRWQQYP[_S7B*"TI9"40J*4!V3X;J-#=_(H)P7A:E"NH?[&5U:LQ@O74S#V'_ MH'9^!Q:]>B'NQQ?1<1R8/K80NC_LN7R3L'6R\;H^"1RQ$I5BUL%XVQRV% M#8'AI!(VZ.9^7-2H!5??EK?"V%BI-T_5?&&3IK5FD_.A_HF<24U$"LTBR#4R M1T)E5FZ@! P6F@E=%+@(.B0<8GQJS.3\JN:;DRR\\3R,EX+0]Z.GH3 =F*4V M;B?K9=*XE^P\WZJ].0[;N!^/K?J %HFT@DR/REU]0#FFL%[/&*#BSR[@ED^+ M]1>V5I_52CB5)BDIS(@&$$(SP5)8 :8H!B5,*2X*F4J21ZOX.^/ U!CMYU&_C?V(#N$F:$$8J]NL ;XQBOW/FIU/L MUP%.4+%?UW-Z9[65^2U=?V9S:1AV!@7)>5%B0)!5B.(J!:R &BA(*96ZR#D) M/!IQ\/RI<9B;'SP:WQHA[MK9X"SU 83>&>F^P R??7:>)=:U_4J8M^QQOF;W M\_^M!?W=13?)CI=NQ7K^[+3,HN:ES\$4+P=]\/2Q\\WG0CN36SY[V77CO5;V M;F2][6\M$QFQ75:!%IP!E%N1N!QF@!9 MJ!9(PXC@&J#&8H1&C_^GQLM_N'56_,'>!D7D47]BYE6&?UNP;3S0>GV/0K5W M2JO5RFINF_G%PJZ\?EFQQ7JC2OEBCQ/,$%8HU24'BN<$H$)IL^[A$H@R181@ MF"+IQ0S>%J=&$<[#@.-*_M!V,\0@@ U,%1MWDYV_28W?UN.;[C-(/:$,*)^+ M#>E(97770QM6>1<"4V=%GM>#QJO4"XGKH((OZ,8>;'QKH(,'ZGV?S2] LSFM M59DJ4A1F?F879BD2@&)B^Z-0AKG0&&=>N?2+EJ;&OM;5(U5)ZVP ?W3BZD'! ML= :F'I;@.I3F-R)6 #3QD)N)(8-_54+XU,?,#IYM/,!X_&G3QP'O.EU0T]E M4ML,]HMZ-+\!WVTSS-N%_*+6=G?@76U(K>;+NEEF-2L1+RGC&FB.-$"2I(!C ME *5\AQE6!&5!27P0XQ/C54_-T[;33*SGGA8+NK&NLFJCB!9?U\MG^Z^F[]O MXDL>5\N[%7M(?IJ;BUU4[4W8KG];?JOGH=[!P%SMW$[V_'85%XWGR;N&>YSO M-TGM?401U1Z8Q=)6#3$]KN1J#U!.E%C[/*-O4RN^WK4M>,.J>?7U<:68_+3X M;[::6Z%%NTF0S30L$2)E#K*""( XL3485 ,B54ZEI#@+:QWN:WAJA.<\32KG M:F+8[KEQML?>I#?V?A0V!**#K_+Y>J]KQDU2H_MUB^[&<;<5&;/551A4T?I= M>9H=N>E5&!BGG:\"[^_'5!^7BSN[,K;F7*8&ZBPK"2* II#9UA$%H)1#D&9( M(,:1XBA(D?78P-28Q_H';/8PD<;#FQZZ1R<0^A'+-< ,3" .$^M3\LYA$E>5 MJ"WP2'1P\OA1AWU;<,?#N_6ZZX?Q;\;3II&:S(FBF5E3I2DN "(* 2Y3#7+) M=$H*5J \:$UUWLS4AK3[S;U?LL5-<-FN172\_/#RNEL_*U7@VZ422:HA2K4&!J6&0PC:1D%"! M@B.6987.4A;&(.VVID8C6U>3^9ZO@=30 :TG/\0!;&B2V&*U[^8 )]L\X(A% M#AV6QF6(RR&?T(3'+?VXXJCD\;;))7O-.;(OC M)U>*=?%9\JA6]?7CO3Z_;\2 +V7@[\9)E7SMNYV=UVXG>W[?)$U$ M\3XG/9&+](D)M3[J9Z?HKZ/N:Z UJ;&-EIRS70K(YGB-"?F-4@SD\V9 M!-RL@H%&J)0EXQSC7B6TIZ:F]M'9%HA:5[>:BOW*:,\ Z\=1<> :F([.(S7 M-/8R&I&K:<\8>I5ZVO: VRIJ.^ZX\FAA4Z6[DW1.BR+ M4,0^L'=BYW5.YK6%VWH$K_6&0=2P=YIF9M6J2$E*D IM7TI,+!2-0M#J6 MLMR)Y,+GU=(0X/K%%FFN;Q?2:LD\VDMFF&0XIT4.4%':&G2: IJ7$!1*ITPP MAC#DLX7M^JJD'S/Y&_<:7[0>7_LN##?,CA1='AO/;Y)'Z[LKZ%,;[Z^4>6E_ M)7XD%AGFUY-X^;P%V7E^XU!^?Q'EZP5>+@(VE+Q+N^'7%7>Y",A%:9?+3^A' M:+=2ND')[NV1Z0^+YMCZ6U?E[$HT9YQJD5-= ISGN16F(H"J3 --4R20*D2N M@H2I+INFICWTK+Y/4'B?. MY7B$Y ]/)"+R,#@J ?D#<$P\ 7=&)9PF>9EF0N89*D"JE3:3)FZXAMAR!ZT0 MDXB7*@O*"G=:FS#-?&YHYFU$F@G*#T<#;EQRV<-L@#2Q%RC#4LIK)(N]PO8D MDB@IXUHW?*9Y28F0 I2%4&:9Q7) (*= "):CK! B2V'(9GK]V*GMD7^S-A+6 MHR- Y/G@ \.?NB1W1UQ^. ]"##6**T?.NYP/ CD9-P=_K3G25&[#[P[F_6Y M/LMX^V->S4I,RI1A!6@J)4!,"4 *>SZA8(((3%+/R4YD4T8IW);#\?$=X M@ZVW5MUCN[E8"%QD'%&0$4P!@BH'/,L)* E-:4DAE,I+#_'DR5.C N=<\LCN MU+_Y=] ZI8A3I5(<5*%P]/RI#=%?F?@^7ZC5RS6[>L<8^HW6*Y 9 M>,!N/1L@+=42=:1A>_ST44=N2VC'@[?MLAZZ/R/Y-/Z MNYD+[J[XHNYM,4'RUO_8[B74NT=^1"P'9H#S,/;0F^O *D!M+@YF(VG-]<0N M3'+N,B*=@G,=MX\G-WYT+5,E!?E%C>+=Q3ZG9R6J:DD(:&-B)W MX(U[>TVI4'*[6ID+52TQ]6$A5O;0L>O483_&R5Y,,3=$QP$^VI[JP.Z.O"T[ M#OBG.[LCV0W[]+A>/ZN7V>]?9YR* B*!0<8P 8@+:-;:4(&245HBC6E1>GT< M=H^<&GW_;O R8_^KF7AUR+RTX=/-JOVB'ICW?O_MP[?W[Y*OWVZ_O?]Z/8&= MQMB1:FXNKAFF^-"F'7^K3U4GCGN\^>R97O MPV^^- C* Q- +(!['-,)!"O:.1U?NR,?U F$X_2D3N@#KJAA>7,\!=F;);]Y MV5W23*)O_V8K5UJ_?MF)?58NR?7M.UM\>K2/J/[;1*#,7*>>OAPI*K@N%^], M1#^;!76]B,$9AURS'(B,&FK,: 8,:19 %H7 &;1)Q3*X9&8*D4V-A%V05?+L MHG"J,')Y?\]6U4XK)E2$?2I0AU0%3<'?"7TY]A?+^ZCLKY@3_G)^46VQN4EJ M=/9$G*LF\[TV "4-0C=)C9$]X+!1HS\1U*E[$%FH$HM5XL"*7 M"F:]Y2,VYK^&@3^UH5>D/\\7\X>FA[FF>/#;NAFIR>D+O]P4< M M"!/U"UR_O-@9NFY7NMZM;+A"MWQ"6F>&<85-&4/#W-CBSK&0;&J<9GX/U7 MR:)\40_,C#W7)<7NY%FM[$_\?GY7[_P*SF"90PPP2ZE-@"K -&4@*W2J."YS M7@85Z7M9G=IJ8,_)9+GU,I"=_/#V3;M$1G'PE(OS]R;9>ISL8[KS^2:Y?;"Y MQ^C:*'Y0Q15&N6#S-511_&!HD43QO#F2>-N,YF:&E&8(9!2E !5$ H:9!"5D M!18"$IFJD G2B85ISH26)Y)M5RJV]55JFQ!_G"JT#2C+%ID,3I__NC)L;8.\ M_<*>65-U9VS>OQ/VR>EJIG188-F!I*VJDS%@'"&D-J-(2:$YS MP4C.,0\2$?>P.;6YQ>Y7NW&^JL5UK$CFXVI>*?#'7*KDP\(Q;GAAC<]K\,P( MQ@5WZ%Q=[6VR=3?9^3N0#%L 0+&261X6QTTS^4-PD@ *N+4?([UEU7?[_S9C M],SN[5AS6TASL5;2_L#M(>W_P]Z5=?9H4PWU3M7_:_Y>]\QY_T-\MYDJ*VK[ M7FLEUC/.(2LU@0 7D .$$0/,3&A )A1$''*<4QDR?QG7_:E-CGY3ZT0V;CM! M?Q/?C?NO.QC2A.FX<[4%P?T\C"]'_B7QH][IOOJ!6?RM>\OVO\E>1#?)+MBD MOJ3>QC_XQ\,[:A1VY8P_;8#XAZMQ;#I?;<"H=<)K..)](%[G-4;ZUHSL_*B? MK==Y,<=?P%?R(K XTG4F$R^S;W^\FW&$BXSH$J2%P !120$KBPQ RF")&2J@ M\BN/W'OHU";HW]C\;[9(WKG]?\\"R7V,NAF^;^0#\VX=]$WRF_J[B3S"BOM< MK%W%DLWE3;5D\[>]C[Y=]5+/WZJL23:_K M&=)2Y2GD0)3,MD;6$A!62) 3DG-9%!B6-(1-SAF9&H7L?$RJK9-AU'$62S^^ MN!:A@4EB#YROE\$))H6NZ",QP5D3HP[_KB"/QWSGM3V46,S$9+Y6'^?/=I:R M-F]V;AY=RYO>/MC=AO]U&VO-QJ?;AI\I74JK% XP+1E 6&6 ,LX!HT@AL]*B MG*0^V?N^#DPP_QZ@+-('\6ZJ& /'@6FD]CYQ[B<[_Y,Z@&0_@DV=0^)B&!CX M *V7@5_ 2"(P\5]$F#[,%2AV"L?T>>YXBC)71'T@-7/-<_K+\*U?[+F$Y<+\ M=KY;VCJXF0@%00VY9+9(!P7)II8L92C H!.0X5XSNQ,K5Y8G-^:>ME M\F?M9^ YY/.(^DT6K\9I8)H/AZB73E\K!!'5^DYMC*[9UQKF.>6^]HO[=AUO M5*W^6*[^^K#XO%H*LQPU4Z%/^HNJU.K9K' T4I 6"@&""FIH !> Z[P$A:)% MADB6*1;4U,K#YM1(P7H*Y@OP:)7 C;.A'<@O@^S'#)&A&Y@GMM[>)-9?=]BS M]MCNNZUM<\.-US'[DWM#%*U1^66+(WJ?MP2"ZN! M2>5\W^&;>FESDS!MWE5R>W^__-N=O'&B;BLEY^ODX[*#N,-+G3S@BE68U&5J MW#(BCZ!/BGY\[NG')>\47^_.17^<+]2'M7JH9@6A&6-%#E)(F-TMXX!Q0R@D MDZQ01&"I@ZKN6^Q,C4&LFWO""\F?UM/$N1JX>FD#UH])(L U,(GT0BJ8(B[@ M$(D=VJR,2@P70CWFA$N7]Z.#(^6#WYZL.N\G[505JD]/ZVK-%K94\ VKYF*6 M0L1YIAG(2U$"1+19UN1(VCTQ)11-*9-Z9I[$E[XT$60_9#3L>S'K_A*&?R8P2C32 !18&?69F>EA;&(JA*('PWZ4Y67C/&"- M]$W] I*GNL;(J0X_N;U[[M[1PBR>Y@OSKVJGUC36B_/[! SV.@;^,)R($-6> MVZ5J[7NRY_Q-XMR/]\'HA5JDSTB8[5$_+KU@.?[D]'M(>)NW]XNUS=*Y8MG= M62^K/OM4S235!<(B!R+-"H"D+@$5L 18"ZU%"J7Y9]^N;UV&ID9PM:])X^S> MD<7:7?_&<)WH=E-33,R&3K#WA"NHBYP/%KV:RG4^>+0><\[J^G\SV MMS]F3/"LP!*;@4\50$AE@)3:*C]HCDJ8YAI[Y=!WCYS:$*\/5(3I:QM@NL=L MOW ''IW?;C_\^\GO?/$0MG,D5/#GU=_ M?3//:;91B88JU1@"3&4*D$H18)D938)AQH@L4TZ"JJ$[;$UMF!VXFEA?$^ML MSUWJ+I"]L\8QH!L^:=P/M3YIX4MXQ,L*MUH:.RE\*>0S.>&+MURILO3!K8]M MSG^& M>!F8&#B'I1\K7(G0P&RP ^=# \['3G#Z*RZ=AA];!92F[1T^-.-X\O00>I]RA MY$+!;IP;H-GT::ZQSC[L'CWO$\22@D].,IU?T2YI]_65&4@QS)@60 MB&4 H0P#KC/SIRS3-"M$QE.O9?[ND5,;;E_-K(@]+E?M;2W:L/'+FX5%// @ M^_KAMU]N/W_Z\CY>ZFP7W]6I,_.H45-G.]>/4V=[/^GWY7)5FTI6/QNC'ZKJ MRV'7==8Z.G:KY05;71?VY2-$BH#"$ BUP#I 4# MQ'8?QB)%*E-8:!;4E;[3VM0^ ULE[#ZYF&Y<_>@Z&EI#SQD]@0J7LO8!():( M=:>M<>6K?<(^$:[VNBFJ%. V9[Q3VK+G".:+)_-OS0\-0^WD 4L-2ZQSP+,, M @0)!*S(KL@ M+;C;J-I%=I/L8DMVP8VI.-@3[V%5"$.=FH(R84\@/=4*^S[]RMG>Q^UI(851 M62J6 4Q2!1"F)6 2%H"6&=>*BZS,@O0C3DU,C6"W'EYQ]NH,D(%SNE[P##V1 M"T.F_WSN)/C8D[B/KW/"JCW UNG:Z96Q2O&LN= [;F/'@S5^+OGEU"*4&JW#\)@ M57;.R"L7V.T'>KFV[N#JGF5UMN6TS1JMU'>UJ.;/:E?,X]0AOK$?YQLT;*?X M!<10%;D I5F+ 23-$HW8ED$II!KB-->I+D/HXGJ7ID8M+B)WV&\;TF'YWHT[ M^;?4R9K]"%RG17B!?M0T[FL9F,;J-W(0S6'-X%;(QD0UR!(L'IRQ*@^O=VC< M0L5H )[4-<9[N)JM]7P-G9QW0>D[1X@ V]#QM@]6!FP.40GG $6O& MUF%IW&G;Y9!/YFX>M_3C"GO PFEXK5=/8OVTLOTGZW,^5-E.5M >A\ N=5X" MCK4&.2V@X(*7A0J:E[5:FAI/N!- M0;=SM6>!ZG:X?5CBRB@#+R#6T4L?^./IH__>>_;/[%_(>;B;.8XF^KU_1=Z:KQ>5W)<^W3TGTDN6SSAMC^WJFIXO.EQ 6U.RY)84 M3KM__8"*4.R*4$A\XV76O3733J\OL3P$ 1 $_N6_?_\R^^D;+E?3Q?Q?_\3_ MS/[T$\[3(D_GG_[U3W_]^!+ M+3&L,?_T^W3]^:?U9_SI;XOEWZ??PD_O9F%=%LLO /^V^6?/%E]_+*>?/J]_ M$DS([5_;_NGRGQ.7Z%@PP$*PH- F\#P:R"YEEJQ/4;G_]],_2^UMB9Z!+05! M!9[!)V0@I6,IH+:6/E$_.IO.__[/]8<85O@3L3=?;7[YKW_ZO%Y__>>??_[] M]]___#TN9W]>+#_]+!B3/V__]I_.__KW6W__=[GYV]Q[__/F3R_^ZFIZUU^D MS_*?_]=OKS^DS_@EP'2^6H=YJ@NLIO^\VOSFZT4*ZXW4'Z3KIYU_H_X*MG\- MZF\!%R#YG[^O\I_^[9]^^NE,',O%#-]C^:G^]Z_O7UU;LNJJA+1>+/^<%E]^ MKG_EYV<+@L2[\*D2O/G ^L=7_-<_K:9?OLXN?N_S$LN__FFCZJI99MEFV?]V M^8]_OJ3@ZQ)7!)L-QZ_I-\Z_45<[E!K\OL9YQC,^M^O,%NG:7YI5*2^6VW\Y M"Q%GF]^=9)Q.-E\^B:OUDI:<:,>R,E:#EYJ!$H%^EHT&Z7WAT@9M2KK.?"5\ M191OE++"].=/BV\_TX=_K@*I/]E(9B.56\N=2>[\"/]W4D2(B51!$1F M ZB""4(JM)]\B!:]*#G;H\B^NMIUJJ]J]629?EHL,R[)C&R7"\MT2\/7 7S^ M-W[^&I;T(4B?I[.\_==EN?C20E?K10/)G:F%R/W33\1UP>42\^LSK>QD;L/9 MFHPK;OYF"XW_S].PI"_.?KS'KXOE>L*URHI[ X%C!J6L B>+ X<8I4H,;>1- ME']CX;UP(/K'P3'R[ 02[W Y7>07\_R<#N1)=%)9[XEV$Q+]8!A$%S.4Q*0) MPIC(2A- 7%MV+SC(_N%PN"P[ &;TR\1EY/ 9>&)$.V9 MX*!T+!!U)%844U%H;6P21Z'AYHI[H4#WBX*C)-B%]M_CIVD5PGS])GS!26"> M*RXE%%L(O4$Q"#(S8%KD(I@5@NL&"+B^ZEXH,+VCX A)=H&$5Q38+\F$;03_ M@>2/SQ:G\_7RQ[-%QHG#R+/V"-KJ HI%#3&5#$&P)#D%Z#JT ,:]1.R%$]L[ M3MK)N0O8? S?7V42W[1,SS(6YY908&$L%@:%X [*YP@^(@=T+L<8;<8D&P!F MQ_)[0<7U#I46LNT")"Q9@;4^DH$D;\EI9T$')W+4 M/B;C&@#DCJ7W H?O'1S'RK0G8#RCG[Y=?ES\/I\H+;4/#H%S(4%EZVK6)0*W M7F@IA%%&M8/%Y<+[I:[8'P05!PJT)TQLCL:WRW?+Q;?I/.$DF2)4*O50%&3T MLLD0HW:@9# ED*P06W@@=Z^^'SHZSFPV$VU/$'FW6*W#[']/OVY<)R&5TMX& M2%R2QRV11*-EAJ3(] GA;,+C7UGG3V[O-BOLW M*"-4\8&!8]Z"HF@*@M4"K F^T%&HC3[.K;RYXGZJ[SB5>90(1U;_!TRG2X(N M%_'C=#W#2; V!SC+N3?''A9TW5]Q/_1WG,(\2X$BP39PCR9+>T$N$#N+H7*26OF"=;'W=!?6VX_Q7>< MMCQ<>)UL^A??T^#2/>)R :B[0(B]1IW^2RL\=-B^6,B8W!!6 8\ M*@,J"P?,'E)SKR M?ETN?E]_?K;X\C7,?TS($3*.V0@ZD6U3K/K)$AF4%#77P?%06J2A[UQ\/UQT MGV8\7K!=X./#9YS-MM3S&%C1RH&S+I.5HZ#9,>%!%%.,,R6ZU.*XN+KF?FCH M..=XI!B[ $1_J66<2S2WS]\)KFMWIZNZVN.&EE/'#J;%=DXQ[DBP40R>8*B M:Y>\8)Q+C.&XA,3#-.P'DHZSDXW%/#)H3K[@/->ZT9>S\&E2(D8K4P;+:HV8 M$HJD4R+DG RFP)SS\2A\7%MN/RATG*D\7'A]F JB?!EFK^89O_\/_#$A"=C@ M20*,@F50CGX64PE _K+@JO@D;(L"F!O+[H>"CM.6QPMS[%O*LP#YY725PNP_ M,"RW#PIRA:X*$CR%1J!,LD (1^ DJEB<8<(==W>Q:^7],-%Q&K.)2#MYHW') MQ$OZG=4$\1H\A>R8*5;9XUR'G4OOAXN.LY9MA-H,&?_R M\RU!OJ;?..)Y]MLWSU^\^?#B.?WDP]O7KYZ??'SQ_)>3UR=OGKWX\)<7+SY^ MN,[#GN^V'_YJJP?=CZ3_R)?>IROX%,+7R:8HKN+B;7DYG8=YFA(X%F=ONRXP ME[DHJG!'!T@.H"PA)"1&/UC4+NE@A+GOO5P)J[B!P_FB9WL/9^O5]G6+YOEN10[B\3L$X M[\@'0\+6^C00]X@'TG7JSUVN2VL<1#"1XF^6+9VJ3F5PBCRMH++W7&-B>AC, MW"!D7.@)=0Y@X_&$RNR0'3> ..Y2*N]]41'72TW4//.-TTAH-1,]EW@*-7\V]$]6+Y@UB8%*5%,B6#]H8" MU$B!I5?>0L04O(LB:G=?C'X(;JZN/TZ+C>%PR0!3-,:\WYG%_/[++A!BV8()(N7H7 L3'H]B!KG.X@ MPP&MM28Z -=UXCG71FK'P.1"\8/G!0*C\#<7U-9+H9#=5_5P="9@G#8A _I' M!TOW<&@LUF'V) ??F\4\710,&^&LL$"N'5E4%3G%G9)^EE$+D4TTJ35N]J>N MA]BM25II((5T8(7>?L7:5&?^Z36&%;ZO387?EK^2B:W"FV#==)HED-E(VC?$ M5M3> ?SB;,VA(023*F5K#X:"%D4H)/><2%+X+8U6+9K]Q":-0'&0<+L 2O2-SS M3],X.S."*\+QB^]I=EJK52]X(I]2SD$3KNIZ2$$:P*B1@+O #I7L@Q77/S@F6/:1BA%DGOF.+EG4B9 MG;6N?X#W]GL]R"N^BY!Q^C4.X0T?+>8.L')&_X2)HD,@URMAB:"$%R01[<$6 M+KT-QBJ\[TW3X8F<<1HT#E;#\2A!=I"S>3T-<3K;7.>2-[YY=/-Y,2.AKZIG MOOYQ(1I?DB[.:C A5,-'1VA02D&)0B4,G)ETWVR10P"R+VWCYFL&KR ;1$4= M6)XK?-U,H08?"E$LH&#FM2N)@!C)ADJ1D^'(G!:M2R]W4S-N9= PVM\-L6-4 MT0&HM@4&[\*/6EVPS:3G8"*SR9(M9@94++4G 065W'*?@O3)Q/M>]A]3UG&= MDF[ =)2>=U1U'"'T/J"S/*55;\EH(GSQ/(8,,F:DR#$22RDR<#[K)$U(4K8N M+=M)S+B'W7 :B#Z#C#T>C'_]!&77YYCO"AK$A@4\P9!2B))X@B>AD MRD6RV/JJ_0XRQKV#& @WQXJ[ \1LLP[O\1O.3R]LIQ7:91@(-PV$W@%TKM_&;46U;>,V<8)'%@CY7&9'II,7 M<$9PD)HS9XV*T@U["WJ3HG'O*@:"4D,E= "I.T[@D+E4BNRIS3*"RHHX0$T[ MPRJ':(MW_KYFFVUBL7%O*H8ZO8X3=@_9HROG[Y44J*^U2<60SZ\V;>0+ V\I M%/6FF&RPSG)N741_-R7=.,L#AN['JZ #NW/K[N6*[.H%C"J!HH Z)4MZDI T MDIPZY&!B*=I9GNZ?5=?DQNLZ2=WXT\-!JZ52.L#8CI/ZRJ9Q3'',,4%DD0[K MVE/&AWIA+#C*J*)5I76<_R!1W?C?P^&LK6)&1%KM<'"Q:WZM#2SF]6+@USHH M\H*M"5G?H#VQP%RL0YK(.20GP@-%JI+[(H7&&X.Z;W=HV&NE;OSM]M!I+^D. M#-26GV?T?]/U:OM->S_F M1-R'OFX<]N&/Q^;JZ@"*5YB8Z,"]\DX"5Z+VU?(: O.E)M2T*C+KHEN7!EQ9 M?MSRHJ>^?7N4L#L( .^1" F#6VO('?0<06&MF0H:P6?G.7="8F@-FR-+! :K M.7H2%#5210?&YTH#V+/WEU:X;(*@<]S7+FY:>7 9Z_@:C$(*7E1H?8-RDX:Q MNQ2UT>W-'B''"/I@H)"S%A>M[FQSWA3:A-F[,*5 ]5GX.B7;=H6QB8J8?8C$ M1*R/=P,B1.]8'99+O\M2#*RUH_0P56.7+ T"I\;*Z, 2G:1T^N5T%M9XYMO5 MUN5+_(SSU?0;GJ5%7B]6-1GRMGP,WR?>*2D5BY"RU.=9M^SJ6Z@D2XC*"&QM MJ!Y)XKAIJZ& -Z":.D#A>UR'Z1SSB["<3^>?5E?8I1ADFJ847CCEBBD(PMA4 M!Z\H\)J$:3'$:.LPQWN[SQ_VGO8AJL9-70V$M<;*Z !>MP4U(<*-16U!*E,W M2,PD(",A9I.1BU14:GUFWJ9BW/350/ Y4M@=A'P/!3,3)JU0N3AP3->Y@DJ# M"UJ $=D%;EBTLOGMWP,TC?O(X*F3",>KI1G,1FAX_&ZCD\^XGJ8PN\Y0J^[' MUY=XLE;(]W#VE'V1 W(3DC<4'YI(YD]*\#PID#Y(R:+4=H##X0GZ(L]FB]_I MT_ARL7R^.(WK\A9^S,Q=-AZRA%](BI5ZO5*;%1K.4B MJEK 841]!%GCIN2A=IA*.CM5_'W3;9K@Z8R4L3,33XVE Q30(XZN#@+,PJ7H M:JU^J8TYN2D0K&= QE?I5&>(\M:U6D?/7APP6?'4B#I4%7^P43H?/M*/O[UX M\_'#VY>OWCQ[^]N+9A'E'9\>,I)\B)-&$>19MOT"CQ?@2Z(8;S.#''.]^"D( M]!,ZQZPFB^19#*&UO[J#E..S\9LW0R]I$SY;S#>?_-MT_?G9Z6I-RRTO^@[5 M?A#T_W.]<,C!1LEHKPE=YU=F:< SA9!B5+8:X](\6CR S'%CQA;(N9VL'U97 M71R2*[+ZMN,+I6%<:5*G'O22AD:/((046F"T\9=GZ MY+U>K=" MB[J\L_[EU_V24H!8W;"0YW27GLT\GI1D<$$ MDS,&'D)IG0+>2CWG:L(\!2*L M>,BV/HW-M4]Z*A9R,*Y09"*8;=T4\UZ"QG5_&BG]=@?P1AKH $X?<#:K#3UQ M3J*:$4LG^L"JUM$C.L< M#8.?XR3=DY-T66CK8VK.<_'$ Q"\:1/9+.I;10[6IB2%,ES8UJ7# MNV@9]^W>$,!I(O4>SJ5:W?QF,5]Q>*F9 M;CX"]7Z*QGV\-X@):J>!#O!T:4>W*=+I_)28.C>TB_GJ%RR+)5YT@,#5B^\D M1-+<=!Z6/UZ19#>O7&MR=;'Q!+=;;5)"+EC;*#/F-;E\D9'+IY"V%D85)*+. MK<$X(#OC/B >3CX'2?S#BPH.1%7G%&>,B&[OMY.M91?(,DB((5#P3H6 MZ#1(O+7C?XV _5)8[(^$D\,%W(%AV3X2VE8'7LZ(E#H*GC3HPCDH%2*XR-U& MO3D4[4/SF;^[:-D/,W^H:]\F8N_ N-SDXY>PFJ9)P>B=505PTW*0,P\1G:%? MJHST2[*9K4LI[B1DW'QY&QT_ )S'"[Q#U#R?SD[7F"?&S4Y) T%KRP(SSN76C1D?2^-^=NH/57HRJ)K^0# \ ML\^F9,6L-F!KH* \[>!@4X0H1"E:XT@8[."@'!8K!P+S\8KKHMW,#O;. MC?WMRFBAF3(E"9"<#A.5$J<3I7;AS=;5S1]]\ZK71Y(X[E'< S:;*.\/7-;^ M[.UO[]Z_^ O]G5?__F+ &O>[UGFJ@O<'>6S_?OKLV#^9YSN:T5QYDB&*8K[. M%8VE3@<($*.-0+Z!-XYKEYN70#V2Q,;Y,9TCN<.:;'U]R":CI=VD&2B6(PJF M0L8.\F-#6;LAT?% VNP16<=3W(G^=DZ1G]27\7Q:SZIK_&J;S*IJW\P^8 M3I=G38^6TQ7]T7/ZY?S3F:HN^_T)P;2J)0:XCZWR9,"I..-4EE^%E:?7\X6O_\%\R?2__(1=%];HC!@=#Y)KC8 MV%PX77R4P(VD<(<7 3%Q!]H)-,253*YURY%F77@'>[/6,6@/4EP'A1YWL'/! M2@Y"254?NYA(L@J"@F_)--AD9"@J*\U:&]A[R.FFC=+@,68KG?S!FF%>S7M^ M^/CVV?_XR]O7SU^\__#B?_[UU\_JWLN*U$DY M4&AJ8V )OD0&0FJAH],L1-EXI^]%V/$=HL\7^5B[*D[J'1U32@ R1IO2AP*! M^P(V*J-]EL1IZUNMZQ1TD\9MA(7;3:(/EG<'CMD%]6<2J69X,:=?KDZ^3U<3 M;:34)@90I193)5L'YA)O7B(S)7ME0^LJI'L)Z@1+!VAZ%VB.%GL'&+K!P_/% M%PI@)MDIQ9A.8(52Y_4"GCDPY"I:[H0JS0L][B2D$\P5L%X3TQ4 (%M@(=6"L+#PPQ-!\>?(N(D8MECU?L[H: !TBY M YCL&%9TSHS)5@E%-AB5SK6EH0&*1PV@"):XD9JGUL/K[B5HY(K9YO!I)_T> MH/3P^*%SQ@)1;KDH$%/ME)EE F>SA%!89"PFIK"U)=J;N'$3 P- ;!"M= "W MFQ.(SKE@2GNN%#F+O/;-*$:!BYE<2<6,4-Q%VD>-L74W)>,F-]L#J8&\.T#- MA=?XFGC9O-V=..=9$617D\+J+]9.EXYY8,58GK.QS+=N.7&;BDYJ7AK&7X<) MN .(W,SVOYK?SF^\7\QF+Q?+W\,R3R(6'62R@%(84$8Q"(Q'$!Y=U*98.JD; MX^>1)'82J!V(B-LOI@=33P?HN[?%. JMO2D*4L1:MF@M1(HI@)<0)-8Y"+QU MY']TM_<FB)70*7:!.*-NR%=J3X:I(S70%Y+.1FM3.GH[ MYJ?%Y,"Z[.()VPY&-T.L=O(YD0*E9ZB@9I>!>*)@QT0/2:-FF>)F,\!#E0,( M';T9]-B ;:C'#GS">W?EMD,#;BI(<+[:Z'G3;WW";>;6?*SG4AUB$," M)AGF:$/)J7D/X -I';U-Y]B0;:O-?E&[V9J;/WO[==-?[<5W7*8I<3QA+ NA MO (6 TG5$Y=>&PM!6$7E?0L7':2'_] O1L([['U7HY3?5) M=/UK)U6NZXYY-Y?H_KZ?*NW3P1Q7H6$(''VG&8>4='#[,@G.'& M<=0ZMK_$V9^^T1N7/BU*A]#:'P:1FPTY*3(:65]N.&W(60^,T=%!.\YF8^M[ MU.SX(*'7?N2-WR&U,T ^7FF/QZ,_P^, M[+'DH/T;GPRVS=74 ?2N=R(2)EKN>(!B$P66];;/%XHS%1K/970BA=9/I [H M /4/<:5UN. [0,V]=0>2AQR#C4#_):D$E2 RBN=09TO^B])6MC94QU>#_$/< M.C53RY&7^"_F;=S(.TH1I/_O'S]]F\?KO/3JN?FQ=>?K-/FW?RT?X:];6]R.8:2 M1Z<#5QS"YDV_KQ7\J ,8GHKDS%CMVI?5[*:G@=]4O_ENN?@V)CNV8W74A%:UA1VU@ MQT# O:'!8]31 9:NY';J^#D2Y::V_N.B)FGF:3K#:^Q]7.PI[0O)"F.R4=&! M-/5EC]()@C,:D*= ^*Y T\$F>HZTWBI'#W$0OZV%@:="_2[MG5_S*OKCVN.^T+&HI&:.H#8L\6*O*=?%XN\ M.IGG\W3ZZ@-%>B=?%LOU]+_.N$+D5B34D+*WH"RO+7.X U>OYB/F(IMG!/>C M;%R;V34L!U!M!X"]D-;KFO-X7Z>%O"TDR)/5"M=7&=M.>ZZ3W[0I$5RN55): M%G ^. C9U4'T$:5M'5L]EL9Q7W!T#>)!U=T!G.^NJ)YH3CZ]R0D*PP2J4-P: M?*[^%(KBA!2I^4RBNRD9]ZU&U]!LH+H. /C\?-E=HYZ1]HRTT0 OQ51V.#@4 M"-:YI'.@_Y76)_\#)(W[%J-K2+949@?8?#7_1G)>+'_\;3E=X_/%[_.)U-Y[ MG45]FV]K^[0( 4V!HD*RR9N4=.M1&K>I&/>51=<(/%)E'8!N4]YQ5];C/,-\ MD72>:.N$M=F!\8;DQ#;=0XDQ%C/GA?EDD!9([3K]M6C\Y)Y1WP4)Q2*+CGD/4Y,04XQ+/M2;?MR[[V(>NWCK- MM,'$@] [4D%=E*C?YFKKP4PW;Y*\,LD2_2DX4+)8B$I9X,(Z5LBM,JI%.$O5OBUS#-VV#M/$8[F9^UP-QDME83:RW209# 9$VAFO,. MG-81&&?2D@!$8JW+)P^CM+?V,T^$R>9*[!2L-[SE,[YRMIREG$#ZDDF404#P M%-QY(VI]:0B\>7.D_2CKK;7,$X'Q:"5U"KZMA_$N_-BX%TF48C1/D$NR=41R M;62>/ A?=$E2ZZR&-XHWB.JM-H- MDHX"R9O5$ASM*M!:B)!9+C:W[M:\#UV]-7EY.L0=HZ N0;]$%R,$9#%5%_YJJQ:7[KL2UMO#5J>\H0]3E%= G#+TGND$.L4 M)XHKBK "AQ1# !6M@1 9@VPB&J,HBK?#MXN^051O352>"'+'J&9$K-47*?=P M\^OB&R[G-;WZZS+,UY-@18[H+!1+FT=IQRF>#P9T<%(QQP-S#SZQ>=R2O74[ M:0JG :7?I?VZ7A]T:9B-RI&B'^+)E0(JR,7H$/I?8ECE$8!)%=I&[OL7;+Z>KZ1Q7 M*SSK"51E?_XG>5*\DEK5@8DEYCKH3$*4$J%D85VTV>;F;L%CZ.OR'>*H0&VE MS!ZMZ6]A^7=+-5XM+,(DE;9(DN)2U1BQ.N#) )-!*,M8P-"Z[OLA MFL:]:^X1B\+A)A7+TGFOX7U^9[:U'N<\4N>RK,PFZW>EI-O M83JKK+Y<+#^$:UM0"B-EM FTP/H.+9 '4ULN&29,5$8I(9J[HBT('_G]7(Z#_-T=Z5]C$F=#2P43M;1E_7\$1***((E:6+6K5_1/I[*<5W:I\Y5 MM5)7!S;SZD%1!U\07_BVG'7<_.N$+Z:[/3VIOS MZMBB2;8I(\/,2XT>M@G MYWX3.4F7@P[(W%QVJ9UD3-H;=!!#[99=>#4TW-;7=K;$%)3%H:*[W51UF08; M#+%ME=11-'?.V'N<;3Z\^!B^_VVZ_ER;V9(8J^=^=Q\')G.PC-/>\MI6#QYK M06L"SI)312$KF ;"Y&-I[3(K-C12!U5H/_A]?Q%WOBVO%_-/].4OSS&N)Q*3 M4,Y$R!H%*&YI8YI:I6%MD1G1)=7Z+>0N6KK,A V%OR8*Z2+INK_@B#<,FZE# MFBP]10+1@7-T%+ @,ME];SBVSF;M3UV7*:NAX#>0TCH(\%\4,L 4A[[X3L[' M_!.^)Z"_G5=FZ__5N^%O879F^;?C!#<7<75BUM7?N/(W)R;+I)Q.8#,&4*@T MV7R2 X$-M5;2I-PZ634 &^/:U\%2!&,KO(/8Z"AFSZ9>W:ZS/(\9KXKU3-23 MPF+M]9@@1$6&IT1+1Y0DPT-R*;9.V(RMW[,_+8?C'@6#[92.8=+!P7&* M\WP1?&PZ95V(U?)B@BZ! @Y&OICW@0X4"GB$)EDC2CI26E]A[$W2SL?'DQIQ6+"%YD!T@N2+!.9%5:EQL<0>[(UUN#0O6I MM=D!<#^+ 1B:T9("!;9IA&(C5\CO! MG/56" K1&D/K-A4C3R0<0MFW'U8?(_DNL$/?(KN_)=]&P3DF REF,O$FT4:+ M20/M*_I_DHAOGJ6_0<+(#T:?!#6'R[P#R%P_I;9J=( M8O5(D9,$KFOGBI08A%KOSUV1M'>+3:)U:>5>A(WKIXT F#L@VU9['4#RNLB> MU730?#UQ23+-!0+YJ+2S>7 015+ E?3)F>B3:GWK?".UT![&: M1CKG0VDV_ ML?FCS9_4?_4>RT_UOW]]_^K:]VMX6$AHB^6?T^++V0*_A-5TM2COKGPPS/.' MZ:?YM$Q3[=)SUO:;')1WB]DTU>K;:TRMIE\H$GWH;NV097Z^Y.HFO^>KW<+C M(!SB]S7.,^8_'9G06'X*\_/9M<\6\Q6ME<\VVSQ?)>YM.;\7";.+\.D2[](: M37CCP'G0H*(+X"5*.L8--YF9HESK=KU-"#\Z'70,$<^GJS1;K$Z7F]=W]VG^ M(RG[EUE]_%00$Z*E<%1Q!4H%"S$[!39KKZU"*;'UW=Y3\SAN1/;T^^%6@JMG M3#7SAIH?&22J^I;UK(G!HCPCPJ;K<#X'Y_UT]?>#3H@]OMKH0'@L_8WL_^;+ MA)6_TNK+>BU][86(#5(E:3+DD,E1EJF07Q$-V(1":9,QN-;]M^XEZ&A/^JJ0 MZTJ7^^5R/TCTW&K:K36K 8K% "'Q.MQ!VLR0E>!:7TWO0]>X=K$=3F[YNZUU MTJ^-NC) ;H[K0^S1C2\TLCWWT=7(SEP,9+YR0EU$2\[&J+0&HP5%2Y;.'J=J M!YB<&(7CJC YV##MV^0TFQ9^%XZ5<6AYLH"\WGP)Q<$1^R#0&1&3%%:TOV+> M3<_8$T/;8&+G\.]C-="O)?EULT0?GGZ9QAN>SYPXP*_=]KI&- MV9OB1@9GN][)[?7N@%MPCG%M))A@63U?,GCK%>ALF$.C4\'6DXX>16"#4I<= M*USN#*V,3Q(9,,_KE$B7()J0((DL@B^ASKAJ7_[R$%GCFJCA4'1'84Q3#?5K MN^Z8)'> R=HUC^YX2_40?8T,U/G$PNI4;U8,LTM_FH7 168>BHT"5+(. J$' MK(@Z^EBD;WZ)= \YQQJ?&S,:MRM<$_%=%-VFH9'QJ1^^XP#S M05$4;P@>KJ8"7= 0"A>U3H]SB5R4Y@.5[Z;D6)-S_:N7T$3&LW(V@41 MHBX.9"2\ILRM$JT+-7>0,J[):*#_F]:BAJ#=T6)(QN*+8!82G4-U6*2OLZH( 5D:Z:UD MF35_B[8O<4U*@.Y;Z$X7/I4D:]/,FAD%)3FY\-((\,66HIT)PK=.+A]"Y\C) MYD'P=6=YT)#ZZ]>:O0S3Y::R,\SS:XW1V^ALZ]K2^^@YUK3=]>W+ M/@L8U5LUP<=,^M5-"OX;H;V%9 M!P#_.,3>7/S;1F;E;EI:97N6BTQGS?D:UPZ72[34=R=!^03>!P_*D^<=LQ"D MTYR\*IYIWKI4XV,T?XTMS-0=P_!O,":CMF6 M6 I(0?ZO*DG5(F,'B$8%Q[PTIK6/\R!1#4S3W0O#+@ M:+?1CBN*@@X*-4KK"[+'T#>ZN6J(GSMLU3!ZZM=J;:8=U&[RM%!E=_VC%HC7 MW[S=>/\ (_:8SS>R:0=SU,C$G:UYB4>;3&W2"SSSVJTB:O"1?//BBD^N:$WG M6^/M?)V"HWOMW))GG7QX9]$+3P:+=Z"Y(#V&S;=T";V_B MQC5;1V#B5H>=0=31KX%Z@^NS'C!DF3>S+@XQ0[<_TLC8/$!=*Y,2EO/I_%-M M;KQ9Y')X'LK@)(7GA*A:$2LU!!D%<.N1&YU3+*WSO+MH.;HA_HWO7LU!1)-] MH.B#F]IT(WOZF4JU2,^[Y)!9W3IJVTG,R&:D!0YN-:9O(OA^#4B=ZC1=;S*V MY B;FRWLF-]>ZXO676>U:PYAF+)JP5!=[5 M^6R8HK!.:RM;7[8]BL#C7V_LL=CE)HG%JF*$I*TG+*A0-XDPA:("P2V3B+%Y MOX?'43AR[Y'!L'7[A<=@>NO7N&W:4QUDQ\[_92.3=1<=C:S3V:N-B$C=LTW^UF)IK M910;1 _&HR\4'"AO6KMT]U,TKOTX0OLW#41#P?=K$-[C-YR?'A0D;?]ILSJA M.RAI5AJT^7:=.%L-?85&G8KX['2UIEAL>1EH8R$S[R*(S92ZR @IPD@0=([8 M:"MBVK?)V8NTX\N"[EWF2F&V ML8J,D)^X%U4%/J#] ;RBABK"U? 2S3O71(@%=EP3")2F$-2'GUF]* MNN@-M='FVW)#9S_.?KQ24%P[YAM>P'L5ZI,+#]%C HW)H#,\6M9ZI/%^E/TC M]&%Z#/9N6MH!]-=!+\F7=%Z$V=DLSHE1S%I/M*LH2#Q%:#J(R)^V*2%1SIQO M_MSKZOKC-L(='V$'ZZ(''&V+DW_#4+V/*I6[-PC%3SY*[B +1]Q9XR ZQ<#R MA)P\':ELZ]8*>Q,W;H?<#A XB!;[]2D?;K+VJXDK5'0AXP![Z0C&9@$3FA+V])Y&;E1FIO&,CB S)Z;RCT&1;?" MY($UUJ^)N][+[7!S=N=W!NDW-Z"9NJ_#F"J^1$MNEA"2D\-E%+B =,"%$)0Q MH+G$]6V(CW$N4\NE",S""*%Z"0:? RD_= ?@0WR69M M6M\Z[$M;O]WH'H.57::HJ6;ZM3_W]'D[W!@]_-'AN]0-:*8>UV7,!"<%*P5$ M#.5L4DI0W$+TW'H=F$VQ]3.4)^U5=[EAMLM>[A'#E,;B#6V_L)D<)\&+A"!2 MQ% LP]C)EWKO=Y8S MVDR]7^$-7M$[ZW2T8(I+H#PR"FB$!9:TPR@5L=-P3T=;)],IQW@ M=[M%%_=MT9>GZRK;!WE7WF3K'0?K#+G%@6\:743@49HH2Q#2MG9W6M(_[CBK MIS?+3Z[S?D.AV]TR#X^ =GYKL*:W \8[]S4L-3SXP)0!YDC_RG$DS])ZT"B% M3A1LV^;.UH"M;R^=E1T"OO+L(6BGO1!0$I*/@DCAORX<).K$BG1!RN&\S(>H MZ[?![6/PLMN5;*J=?BW271TB#[=)]WQMP(Z60]YJ[=UWD&'*VG()FDL%*AD- M461-!U1"+V12MOEF?;*^EI>[8L>2SQ:K]=7G&4)GA8&!='541V8&?-"T U6V M1:!(*36O_7P)'( MI64ZD.]81TI[9<&YP(%[E:L7J7+S!A\'D#ENWF94<#;37K\G[H.]2@\_?O?] M]%-U71WP8+ZWQZ9/1A0C/'!M&"A#-LVIJ"%Q$TOAL?[V4 5F W1+O)+?W*YR MGB::7_5/SRNV\MOY>ZQSS6D[;2I6;V:.;$RV-K3Q$>O(F& A2)*5U#K:S(0K MJ?4$QZ8,=-S;]3&XNR>)_<1*[NHL?[E8XO33_,7W]#G,/^'V)=[JHLSQ2NGC MN\5J6O5^@_>BG?6N! B9(2BA'43I$$KD(6==I,"AZJQ:T#_NZ?\4^'Y:%??K M"6S[K!Y^X-_X0N.VQT/F^_9I96N+#C%+"<;Z7+7,(8C,P' I8Q$F>VP^\^H) MFA]?[H0;_7:W9O['#;1;CU'6?B=<:0N*, Q1,P]>"UN\(V3KWBEW&)TAD/6R8$*Q+'/*H$)D?O '6IL_0K@8:I&-UT- ML;)WD^3#=-*OI7I$(^'##=?C%WGZ-LD#FK4;C7%E5LQC#F"U*J D':J^GG,2 M;19/DQ^-KMKSV]:KM*I]S-_@NR M=HL?B!OFWYTN*1!?83TC=K OE4O.<0E,:SJ"5)UBK4@S+":A,13.PU %5XU8 M&#>I\H3('E*U72'[@E%^6%:?)I/_POSV?OZ&[>?JEAI MHG=@(RKR@[!.T(F*Y,)3*$QGRX<+LALS,VX%[2!H'U/=7>'^K_/E!6=7>:_\ MO5G,O]')AGESEMV\$_",>'6R0-):TU:7N4Z&XJ"$RX(%5HP8LM[[-'FIPQ!5[?F.%>HF93N;Y^71V2NB_F4[5.29K/6 1F?:=$^!Y," + M>BN\95$,=V?]*%(['3KQ& S=@0E+/\^UT6]KEV@'*5UU;G^,OF]W;C]>U!TXW'C29XZ9"FB)M6!7U>R8]JLOUX4?7 M(&RPH\AM=.NWX_! MT#UYX,&4UL$Q_'RZ"I\^+?'3159O,Z3A9J3!B_-2"4!1R*I3C$/1C7$@6> V M!9BLEC!'F85UTOKFI]2HS>:K8B?/S_?1KXMON)S7[_Y:RQ4O MO..)527KC/55@*T]FL@#IRC,@% 4AWFN7"KE(<#NM=(_0L_XQT!H:R_;J^%@ M.TEKQ\61Y_%>['Q$^DN)_E%!PX%99:N#D<$7%B 68;GE4J6;S;T/1%9=[1^A M7_Q@Z'JT.OH]B1_N;'W$P;O_QY^L3_>0Q^K]+9:-UKEP2VZAJ?>*O':U$$Z" MT\F4)'+TO'5O_D$;=5^3=5UIXZE.)")S4G.(R=@ZP;9.E+4.M/(R*U^25ZTC MAKLIZ;G=]F.P<'O"[]%R[R#\O,7%V24M>BM=:7ZNW4]29Y Z5/4W(=50#SW ZO;.^P7GZ?.7 ML/S[9OMY+;5 &\&'Z@](3Y8\UNTGBV?29V]RZ^K8AV@:-_9[FA/O<"5T":HM M-^<;4$CCI/.U)"#6\0;.0V#&@2%B8I%U3&GK5Y /T=29M3H* 0_"ZPAU= "O M#V&&J_/KAS>XWAK>X+%X&8EJA;5A;>T151AH+J+P7A;-6OM3=Q+2&Y".T?7- MJ\>C!=\!>AZ8]G[.%,OIP+%-&.P+N.PC,')%A1:Q$*^MLR'[$-;9V=<2 M7>T5TP':SB_.:-L-MX \L"5$0FD4C4F#C7(4 X8A<,< MHV06]VJS2I^_ ASZU25H[EZY,Z@<[GHW$.S(L'@3ON#;@ =.PD8QP-JH=%%:_&.B)'-3>''WQ?79;(U M?\R+DDT RX2I-I5.40P!N+?)N22#O%G^ON.N=L<"XT&@D=X6C84X-A!>S=4@!*4UHSHSK0EZOQF9A6/D>VE_"L?'<$0-"@$W,C#:TW:05M>>9 977_<4&UPT#Q6PH>C8[$.LR&= MZNV WW![P._VCX[PM!_Q]4;N]Z'\-/+)'SJYN6O,V 3 M,L^* !DI,E3!1/"Q$!?0BA,VYUJ+8<+,?P8XSZ.I7^T/ $=I: MM!!=!\9D:UU?7Q0)!(6""^F@6&M!*2P0 O-@>9;%*^6X;WT/=8N(<:\$ACA[ MCI-S1T!YOYC-7BZ6=1S$!+/"9-"!2K6,&6FST$ZI0R ,^N!%,135):T8USK<.<^>L:->8;"S=&2[\BJD%QP^FG^[)1HF*E_DOZ$N];#1AYUB@U6XS#8*?88B1YYBKV8YY%J M&TYRWL28@3Y\T0!]F$*'>Y<:ONIA?TY'*8% C\%D"M6XK)VZ6*VQ$D9"RFBS MY3*7_=Z=]EH"L5WLU9>O8;JL"?&-NT:7T^_X:UESS)S7"ICG32@979U;+0' MY[0&86K;ZJBB+*W#R/VI^R-9P,=@:G<)6%-]=1 ,W,//+S_.'NC.PNJLE"5$ M8= @ \S"UP[G"%YI#CD+QY'Q7%CKEI>/(*^7BK&V"%D\C;KZ1N(E8_45^OF= M%M?;3>QKXY?D'" MJ4-XGN,WG"V^8OZ(Z?-\,5M\FN*V*TEM5B$9?IU^WS-B(DN<9.&<6\$GA)(1TF_ _1IJ"^0??K MUDH0S0'LIO%/BJ)6$630&4M*:&T4K7VRAVCJUOT_$ 7[P^SQ*ND;8B/I[+;^&!P M&+906]_ K-T9M"E9&VO ZRQIFY&7XFV-?*0WJ(U'WGR0[_T4=1M'# ZXQZKC M#]DLX^I6>O']*\Y7.% YR>Z%GJ"89$\N1[EP]2&D5(P$QG4@[Y#0%H,7D+R2 M26'B&%H/(QWIPI7BIZ^X7/]X-ZMCUN?YQ7^>3C>QTYF;G'-BQEH2A+;UU938 MM"0-M3]6,=IA,J*U[=N7MC_29>MC\+3[LK6AKCHX=5_-R4S@1;> U_4?;!_K MQ1RU0A[(E0VICL?0M?R]QFDLAJ@I-HOM,RL[R>GE*K6E_F\E4MHHHU]<;:>Y M:)$P"0M%A,J"=^ EQ?W$AB2YB5)XZY+Q>PD:NZ]G([7O!Z<#=- !H)XM5NNW M93-\;'L7HIPPY-\""Y9$(Q2"$Q1X*Q4L:E^8SNV[4-\@HDO@'*+@6]VGCY%V M!W#Y@#/ZHT^_XAR7H?H')_E+;0RY::C]#<]]W2USP8: /@CP,5 T(U6"B"2T M0#%R$$YXJUI[FH\B<.RNL$/!;#@M=0#!G8["E0#=E6)$*B#=IK,>G*WU?W/@8#ME= "M^S.!=V20Z@LVLNJ_A?7IM(M@'9W=[9#HBW M1URH#:'\/QS>W^#W]5U*F-M77 M6K \*M1O4MSME7"O*#]*Y7\X@-1.()]I'9;&MLUDA^MY#\DEE\N3LFQRCKG'"W(7&=P(D4S/N4$&1EY63%D N+H M4*Z4[H5D_?\C^3@5C_WB;C>+E:MTH_#NI-"R%WQRCL22210CV)H>%W7F%,N M*@5?&+/V9NW&CI=X1Q"Q%TK-/R1*GU1__>+TKJWXL5;73:)@/CEN0&HK05DG M("BFP4DM31:H2Y9'XG/GXGOATOY_$9=M]-5OX>5)2LM3(F8:XG0V74_QF#XV MNS_6J(!R3VH;%4F^"S_J!=>J7H?6A<-L=5G"YGU&4S@(Z0LH;ST$).T+Q;VP MAL6$K7,P]Y!SK'?X@K2[^(&X>>EZ3;YGG0V)W\2-,^3I8JJ7?,AI:QGAH-XK M1YX9[876)6@/$C7RU54C=-QTX]KJHH/0XV/XCJMS:9VS0#)[LYBGN_A>4R MS,D/.)/5YD7MM$PQ;S=,\0:5"1:$R;Z^N8[@':=@)R:ER*V47+5^K+.F M$H?"V1!ZZ0!NY]['UD#_@G,LT_6%63L8VNX!GI3-5B'484Z@#.T& MSPH#IH,P+M%6X*TOTNZG:-R\UU!(:JB%#C"UFQ'B(C&FR8:*.BLLRTR,V 0Z M*).TDZ)&N:/-]V^_ M?"R280XE09:UNIX7"%QH\-Y9FS.JB$,P=X.,<;-"#?1^TS@<*^H.SI;K+&S>TR7/'..! M$0>X;8J1'%E/(8.71?IL6X\7N4W%^%@Y2K'W N714NX.)U>ZHNGBI$5)YVJH MERV1#L00A 5&4DDL8#:I]?N<7;3TA)G'Z_A>R!PH\+%O6W\Y)9%1,/<1EU]> M+\)V(*D47/GD$WBA/2A1# 03/!C'2K#,\A3WFR=^]_=[PL&ABENTE6('%N3? MPW):#>G[L,;-[F!()*=4"4Z:A%*'-EE#;KDO/LI22FJ>^[U)P[B7":U/F:,D MW!E"SO=,8-R@]1JB1 JRA(Q L5P C\Z(9$TLI?4%U&TJQK4GQVGU'H@<(.*Q MSY,/;U^^/[=^46I6F(^0K4@D!6:)[(# K0JU%:MU-NQUAEQ^LQ\]'Z*:Q?%R M&EN]EW/;KC @F1;(@R*09ZRE0X("-*;K(V8N)2]9Z?VJ ^_Z^K@'0$N5'RV[ ML97_^M4O;[=T\^*%T5$A R5)ONR.)@DF;37;)[.D@7OGHN!>Z+55]J*0Z M..*?XW+Z;=.XXM+Q>3]=_?VLD8_)9*PB Q;KHV_GR:%5-;>*:(43+N;0^G+D M/GK&!4S[%$0CR7>%HF>+^2:-]Y'^Y?FV2HJQ+)#56@7B(!D.7DL+Q(KT#K7( MI?6=R'WTC!V,MM+Z3C@=J8(.X/1J3M_"U;K:YBTW%QWYLR@:*5POKEX7UGZ( M(@KB"=%[*50S;5U_M(.4<0N/ADVK'R;O#F!3"7];GM'"T_7+D.H]\X^K MF^)D_6X[.GP2DRW91 \E.UGK0&E'1'3 10D)*:3+0C>&TB/(&]M"-8##XFET MTRGL?@O?IU].O_RR6"X7OT_GGYZ%K_0GZQ\3XPH64TQMLDDR1); Z6C .V^] MBTE:T?I5Q6/HZRF1.QSPFFBG!^0MSBXSJMSJ?R>T7XK*.@$KM4L,CP$"Q;_$ MC@O!R&!R\\D%-VGH*=IKA*!CI-P!2J[+Y)>PFJX^$"TAOYU?S:;PB33"(8\* M>$PURX7D0AB=@=5J8Q5#-J5U@ZE]:>O)WVJ#JD&T,G;N\3I3V_/]7?BQ\5,W M>R=+:7)R($6M(=2U>%U+"5$7S%XDE]B-R\H=& MWD"UU$\7X-LF8=XLSFY[3KXL3N?KB4GD !I1CW5I0-4!RZ[>#'ME=<8@K6O> M>6X7+>,6@@\#J092;X:>YC7@U][=//L?SQ^$GU=!LW@M<5!IGXT/1SD% 7E.864)@'J$@L\J76)(QC;?H MWL2UF].T8\DZ+>%\HFG-!4NO8YUH2N>]4PJB"!Y$T!&9E%+;UJ;J$>2-F\(: M!DV[)S6UU58'!^0UAFHSZ+.;+B&-R46"MD41$W3 NYCH9^1YQBB,=Z5U2?N= MA/0RH*FQVN][QWF0#GH$TOE-%RLZ,BUIWUGG0:'RX#7SH$O@6ACIE&[==V\' M*1U9JL.4_!!L#I#XV(F$$U*>N,7(=CX0PQRKXRF1!7(9SVIU'#CA4-04KM/I M(9_JP54Z0\4A.EP,(= >D,%W,5**3%I%]+8? M7&7<.Y)!D-%$H!T<-A>#HWXY75'$NEI]P$_UEZNS9T3&.FM4A*+TIL+"@S,4 M;QJ*7!-#P3"V?F)U+T&]3#\:UHMIIY,> '9&^_8EDDDJU'G4.257FR!8B*X4 MR#Z(&!293=_:';Y&P,AN<#O%WIK5=JB4QSZ=WBT7$9^%9=X*X]R.&L$!]..!49&PN'Z6C06WM@ ^/!C5=.DUQFHK3)\ MK2;//'!0GB7POLZWM$QQE[@2CNVE_;N^/O(ITD;U1XMM1+VOENO)L\5\M9A- M\T;NFT3YQ@@:69P7VH*PN3K6MJ:9BH=88F!%80F*[7- T!)7#@?ZU>7!L'OU M<2LQAG8O&DF].]QL1YUZ$@ &!./K 'GTY(*K9 !SYB77I&78R[5X-'+&]"Q: MZ?1>B!P@X X+Y=?%DO;-F\7\NI7$K%T(/M+!6,A*ZBJ4>@?KK9-*ZAQL M\U9H.XGI"3:'Z/G6:.H60N\ /==O]PB:-ANN21.OG&0^0-&[!UR@9_B/UT@',ZD.6&R([WX4*4U'>28@^D@N? M.+GPB2-P9H32.G%M6]_9[B2FH\SNL2J_V?VZB?Q'#Z'6B_3W7\+J_[;W94U. M)4N:[_-??#KVY67,*)8:NBG @.JR^R2+Q0-DG4B,I.06_>O'0REE)DFFT!)' M)Y+;]Z'JLE0>#_LL^UW44:]EL.YELSDEJ1I1S3]JWCAG+VH -UM:2 M-RW"'2 ]Y$KM^,JX"&DDQ?D0+.U R6S'(K_'K[@(LX37/?HARLP9:&5)#UN? MJ^]9.[AK'S@Z)E5K.^@!4L;UR-O"IR77.P#/=CG[2AR<+[Z]_/PE3!?K M26\/RIG-A8K/+AC-+&'*&7@&#]+0X M"YH;F:1*AOYP4(UY14=')6.#H^T8UC^NGI[[?J]Q>\^N3PS8Z;/WR<[>]*.S MXH%E!B))6<=O,O Z1/ 2BW-2>.WB>5Z9<9M^%!V3D#)6Z_$L$B+$ZR\9$ M%;PNHGD'QB_8]',(FDYI^CE$6AT\H;LK^I!Q[MFZ KAV?A:?P8M8Z#!2!($R MQ-3:DSV]?+:+)J"#8'!0^>PA,ND!8-]5BQ4DYTLZ0=>.\[KEEX$K(8-V)<>4 MG!&YM>?P:,IG#Q+LSO+90[@\=GCUH0K0@KGN9=# @JJ5@!'K.E 99>0V2RBN;@-/W()S14%PVBE9,C*[ MG_1[+Y\]6O0GLZV#M^'EC%P3O-:*K^I_4*50M:$0O"83)6A&5IK"6E=0\GKZ=4PR/5O+H%UJ;6^>E$ES(VBI7(Q^F!+HG=*SHC?,Y M.29*:[MV)T'C/D;-Q+X?G(Z000> JE?L37D?+G";K@RV>*59@IP3'4 Z#DX9 M7\.FWEB72N*M4S,_$-$E<(X1\ ^E Z=PNP.XU& K$?")=/0S_(H7\R^50\__ MKI58VT(:HCIC\*2JE53$(,F CD*WS+"D>9"U&JM]@.MG9(W[U T'J=82Z0!D M[_&"_NCC[SC#1;BH^YOSY^EL6B->=7;3YFS7Y14A,*%% 1NXHR/%.F-9TH5R M=#)-IF,QK2N^#R)PW!*HX8 WG)0Z@.!>B::@3;$R>CJ)KKL(E 12VN3NR"A4 M+?4H:0!%UZ:(H8MNN5.,^N82Z@YUV^QC1.E25&#K/BBE X+C',&$0G]D ^.I M=37PT8G?<O?1\0CJ!IK!YQC6=P"?S03FY8OY]V6(I*834:HY9%+14#<,@Z^]JX$% MS4L126+KL,)#M(S[M@T.HR8B.!Q*_@I*,_Q8'^@/@RJD][A:76#^:[KZ-+]< M/0W+3V)"AV-6)$5G,H48IU)VKAUZJ.HK5,%U!I^ M9RF$HG_-Z%^K^>H3?F^WIK2X#!>-BZ+V_=R !5)'G?CLQ5(V^'"U [@]X6L%E$FT*2RI^Q6>.1%4P= H4# M9RH<(I<.8/9PVY1AR6?A,R01B$E")?!"UTY<$7E(V;K8.L3Q2&.M'\I2^^1'&+APDZ#W[ MY@_A^NA%6;NF1S#)G=$N U=U=C2YUA!""B1T'4QTZV*C_8JS3AW(,<)$A6.0 MT9:E8V-C1P>W2I)IRP1DB6N[T4+P3(.1*2OI;,'$]T+&B0WQ(PQ*.!H7C=C9 MP7/S\+P'J[FN0*Z3@6M8I&9.0V 0O9))%QEM\V%CITW:&&&BPBE/3AO.=P"A MO0)YW'"5,$O@.==LJ.5UM7T&:9 [QHP);-@.SQ/2R7W4B [C:QTGH=Y0MSG, MN_G%Q8OYXI]AD2=":EF88\!X9J2'.2=GPGN0L=")1"E)#EJ_\"-)W3I?1V)@ MCW#[L0+I%%^3E!&UB;+./.&D[[$.SG81,C/*16ZDTH,.X#PDWWP>))TJZ'U2 MS8=P_6CD?%D/57B_"HO5<.4N3M'3;I(#4R\9W2\$EX4#\B;KY?):XJ [$?N; M@>:Y\$\N>&H;9 (0=91#3*0:Z&%!Z$U8URZ')LOQGD$I0J-$=2$ M^X^O2@-X7,B_IJH"RJ(#>^@+:D<_J8[9T=_[EJQ3.\-B=*IN^D3=Q,MLD MT0,6(4 I5NO'; *>DN4Y2"[#H-FV0PRHP4:AG=V .H3K)QI0SV=YR/*6%V&Z M^,]P<8FA=H1LUY3?+$!?7O^%)\LEUJ!<6%[2">:S=Y@N%Y4IOX7E])0Y0*U) M:%0&,RAG&I7&7)/P;+I,%_/Z_=OU"X4KU&26R;JKP1'^ RL&2D0L*0=2@*WS MI+OH.57]7?_LW[[]%BYJ2NG])\35[XOYY1?B]550)\3BO L!7*CC([26$(R4 M(!W+2/ZE\U0 L.]B\-=KIV4=0*U9HAX&'*MQ-,3Z#:/R/?O MR_7YMJM]M#8ATD5%RS6HK!QXP0R@+]84D5V\NP>Z'?;V(; ;"#9#R$,@;"ZN MGK#XF."ZYC M)-(IN.1V*)3C#EWQI-_7"]U3A*B8AUC5OV-&>\<%US$2Z0E< MOWU;^_M/+\+R:F0A70YC(\]U60=Y4.0W@6,E@9#2!V[IE') 5^![8CK16F>P M_D\00D]H^CYV].9.[.C/V3S6B&-EW/H*T1_/9VEZ,5W+]#87KD?ID5V;?8#Z M+U"%F.$F+<4&?IQ+P[#6H/ 7A,N7> _S_F,_SV1UC\%ZY> M7,[RMM;3B"1== BA1+)F4\QDS1H%7/CB/5>Y-*_)OY^23K W*DKFS476 ?"> MSC]_QD6:AHNWX0LNMJL@3>8F&0_X+=Z0+K G6;A=J_S6?Y?>7FNM5TZV89ZZP("@I9P:"L)@]+N036Z* */2CD M:35'WPZ".O%.^D)A*P%V@,8_WW]8K+GZ[;?IQ<4/ITF*K',G&60D[BB5R.LO MV@&W,@0R=XSRKC$<=U,T;L%*EWAL*,(. /D4%ZMIF=)?P^6;\@R_U!5=VP"G M_(1B65U#51<_7"_/)-,L9# V5!7AVL#(5L%KK"@!:(5OO4&CWUIVPNA MYE\*H8.(M0.XWE>5]&ZZ_*^K* 4OKF2EP25C@6QB#5'03932.B1&1BU:CV'; M14\G-N50@JN\UJ*77+5Z\H0 MO[B-X%%@M#8XPYKGY781U N@3I7[W;AS,R%T@*C7\U5=V9EPNC8@-H?(.H6B M8P!<#[L1O-+OZ@![X;,H@7R>U@W1]Q(R;@QO, 2=SO0.D/-R1C\+EZMWY*R\ M_V?XLG6711+.DG^,(@=062.]_$9!5&C)E?:8FR\QN9^2<:VDP;#3@.T=@.?_ M8OY8)U7@DC3IK>5 GC"NC($<3:RA: =.U75C@B>6B1#&6[@R9;+5AHF4YV?U+J*<@^R>H/4 M,?+_P4=K*XP.\'6CP^_1X"^F,_J]:;BX7@_T-'RIO%R^NAYW(K6*NA0-.K!U M2S>'6)(!AHI9R6V@]WVP4KCC:.XDHC]\Q=P91-H!A&N#]Y-9KO]Z_O\NR9R] M^*ZX]:8#;B*=8]P43A8L/2.*LP+.1@YU[+/4PBHTLC%6]R:ND_*CLV#F;CII M$ %V@,RKTJEZH6_R#A/C/#E Y/.P5!-DUG (M> ^9YY1%'*J3>LH_7UT=%)W M- ;>3A9+!]"Z<=ROTFYU!78*1IAZ*QB]&,P2_28!BYG3^^&T8*U]TKLT])+P M&0%2)XFC SA=47V?RA799"TRKX,T-1U$9 A6D1.F&%="!,9BZQF #Q+32[AC M!("U$=#Q2)NOPD5CQ?5J&N+TXDK[NF(+L\0+PZVC0R0-7H0"GGB6C+>Q_=;[ M>PGIQ348584=*YA^YB;=.L&]5R9ES:,6$+.R=;YT I=3 (V)<6$LS\V[Z7=3 MU$D%SQBP:RBJD_%W1\F-,'GI*F?[]))(GZ5OFV%6V]3,L!.7]OOTV28M'<&) MF(:%@N5I.M#;_6 MC5(&,I2[=5&0S_X%@SH5S<0N/O-7JHSC[<7 M3N+BB-)/&YHG3RXN-O37/IRKFY"<,CJA >XLHYM0K>F2"[ @0XQ,HI&[NOR6 MF/[WQ_G7?]M^XPH-VU_=H&$7#>,\$Z=)<]Z8M3W X_F?[R8E14[^%9TZ%D?_ MH'L1HR*>2,=LL,Y*M2L"?# %DJK 8R93- M0=>N]0#>AMH\S$5Q!36SNRS#@T5/WQPG2SV84DF6VZ:VG;XZ3/QY.](>RL0.W<&?_I.6>U%;V@"K1642N M:1^?0/AL1-0Y1]FZQ[[?!N:6@<9F7.\*0?>T+*%GQ4J>P3N&H)*I:\I4 ),4 MSUFJ(%SKCL!'VJM\D-0/Z54^1 0=P.E.F^PFT;B)LD0K$'W2H+%J9[*CP-'K M"DP[4LX\^3VC%<>W*G]'3R]P.E7JNSN5CQ=!!W"Z746S+8]@RH<44X),SCPH M6SMFA8X@/;IB59$LM2ZANX>,<8OGAGG-CN-Q5S!Y/:\B"!=//L\O9ZN)X$:[ MX#.P4N?*"=+(KC!.6MJ0#2]M,#C<#)?O:>E%VQPIY =! M7IW[Y:S^@*N>N $+BG9^\%QE1/N?^AS%0X:I' (+$*VC1Y)[K MH"B2AZKC] M$%5N;9V>93W;57'RDUF^5H_BSX M5*=I9'4"R%90V&,EW"ERZ11JR]NW M=#LUTUG'N2+'S?LZ-9,%#_8RI'=I'4"N5:0V&<+X8GRZ0EV M)SP=-UZB2DSZ3.\%BKJL1<8(H;*!^V*D,9(5.]BNS!8'Z*0SNX]G_.R(Z. Z M/-SK&8LWQ95:2AQ-'2ZCP656ZJA1*;B25J36?M)IS;A=6YM' F3OSMQ#I-4! M['[2B:>CX%9$!E*)",II 4X&!])ZR3#9Z%WK 0,-FB:[UI-M -A0;OW&-_\* MBT68K;Z=$+&\^R,:Q2!W4M8HJOAV,<^7:;7Y5*T>N2?:(T31)O (B+ZNY;(9 M7*3G-](SS#(*9F/K*OM]Z#I];]S7M9W[<;OGY/P+>7LU1W MI. SO/KWN_G%Q2:=.$%G9++&$_!--4>"!.?(^#9>9B9L<4:WUE^-2!^YFZ4U M]G[<,G=^ 7?PW-XYV9.4%I?A8J(41B$U!ZN3 Z58@E!73 D6L*@4).B;A10W.W%.UU"1^/L"RZF\TQG7ZP&1-O-I7ZY7%YBGN2LN#** =%*QD(J M";Q-M<^YI!QU,KZT]IWWHVQ<8Z]?-)XDP6ZUX-OP;1W:FBCK122F06&QEL=F M1D\*<8W3_Z00BIRJUAG3W12-6Q/:+PZ/DE@_ X,>4/5DQS@LI.J#T768;]V2 M$5* PJ,1WEN7=C8EG?DQ'JQXJU_8'22A$Q_CY[,\I(=+!Z3OK+Z]O:#S$9?K M*-0OE>LS7)W@]>[S8QMYP@>?H)UW?//=)[>^>^V>($%"^ZC &;+6%'.Q#N6V MP)W/6A%,DF\]I/JG1)W<8)\^8;Z\P#?EP4]=Q>&U%,D%CW1:;4%QH<$;S8!9 M:X7%F&QH/9IC7]I&]VP;XN:';OTAY-.'Q7;_:7[[5NO!KYH+A!5%DF;GWL:Z M';E6]V+M3&+:NVJ?-J^/V8.L<=$V#!Y^?"6;"J=GO-WJ/@@87/'&DF$A)#D] M64'DEOB&RAFZN]F8L^&ME^Z?YE#8%VI'RJ4#J+TBHV530:&9+(;Y B45XHP. M"'4["!@E%)/.8&@>"+GY>J? .5:P=_-5QW&Y WS\=DF,N\KE;?_OR\]?%AOO M:+M2.#K/N%>>]+>KETI*\-%S8*F06H].YM3:V-R+L)'G( V,JO:RZ0!PUTS: MD.\\2EDSQ-$[(\<@51$%UI/'2+<2ZC5!/^=<=$Y*:-X:-@^0,FX<:VCXM.!_!S!Z<;F8 M35>7"R06O9C^7?_?5G]J9>FE=AH"]^00YQP@%,P0E4?CM$A#I58T#?YI?Y'L>9%&RU8@<) O$(?0> A8',GM.ET9&TWX4_\/D MC#N'?W##NY$<.H#4@ZQZ=5U2ER++5H5 !AYYM"K6P0&A"'#"2:\D-RD-D,K^ M"57CVN#CAJ".$TW/8/M],5\N)R)XH570@'1)0)44H7H2(#0FG8Q-K#0?A[Z3 MHD[#!T?*?U]X'2Z,#J#U)*7+SY<7-9G]#(F(--UTJ'^YP+7 9OG)Y_EB-?WO M]>\_>/A)UCJ(NOLI,^E!A507AHH(R+W-UB1>9&MMUXKV3N,2;> ZBH#'KZNH MZ>&'6?L:5\__3A>7&9=/Y^MA#:D>_F4]_D>2_W*BM/"8HP7#7#TM=Q"TBU"\ M%%QJE?G=/20_9KY/I*'32,=IL#RG7#I8-G?_*:Y>"JM-$58B.$YW27FZ2S[4 MJ$?9^-4__5?UU0F\]WNI;F.7U;_Y& MCGRNT4:<+:\$VGBZ4ZM/-ZHL&X03C:K/KNBY+AG2+-7]&Q&B#JDZ(.0Z%T^_ MC!R=4S$DW3I"^CT%[>K*WG^BB_XC@VL!YL>KX-%OWV[^SJ8"^$FM]-S,^$M8 M?+ :3/9T]RQY94$:!@H5ZIM]I1=A MN:3C5W6QKGK!;%S.B@'#2,^.HW^$@!RTC-)IHY)/K67Z2/G.L,4K)()HZ1X%FL$7:10Y3&.M8\]?H#%2.#K(UX[_H4 MI_&Z![3,/W^>S]8'V)8;B(B^D)X7+M3>&8<0538@4A(\&4Q2R]9@N4O$N%@Y M5:H_)N1/8'$'&%FKW'?XY7*1/I'B7;O.X?/Z\KC"F4P\0IU45H?AUHQ=30>& MP#%RFW)NG79XF)I>\EJC/F-M9-4MZK;WD9'W7$0$3;J[MC]KB+5%(II4@@]) M!6R=:=A%S\AO6R.9[P6E(P0P(IC6H>8WY,>3VB6)LK46_N%,6[5,5H"E X#T MTM)MRYX\G!"!CXV?/\(W.H_8>1ZO M'2L9(]@8'%F1M074)@Z.F6*)9=PCVPL[>WQLY'=N$-RTYO'8F'FRO@'WLFI; M[&28,-%E8*RR*D:DT_@,Q7EG3"A!I;@78G[ZJ7&3B,/@I2U_>S%W=AF-#]F, M-YD,)G5M#$V B*5F,AA$$?YHOI?V.^6HO")SXS'W329";4K<3D-M.Q5*:;K%-)C(7BFON7^Y'6@?%V M1L3\$"QM+[[^4%D'C+S#U90(>799YV6^O9J'51E;IV5B8#F2!2N$ 67()/$A M.\C%AFR%\QB;3S0X@+X.C,1N\-E.D(\&I.L!K!/# D:+N<[A(B_+E@R1^ >H MZ;$23*:R<[WM!7=H[1 \78W\(W;P.[[!:_+4Y]OJ9N/D[VP3<@6=T9X#A"\-H L]%*[E7TKG7APO'4CELNUQ=^AQ)RO\.@#R@'>H?+U6*: M5GCUYW_.IJLG:37].CUIE'1; LY?)'4H5X8IE2I(-JKP$I(A1"IN D0N)&@? M0D:.3(;6]4&]EDK)Q$.DNTG/C!%D"-4]1)9,=LTCYRX7(6SKS.^O62IU"*:& M*Y4Z1)P=6 VUAO9U^'PU$Z@PS;2/&D*LFWF#(=JE+F"0J#9(+&T_*^_6]W^5 M@JB#('"WMOE8>72$I4V4.:JB(E$*L=#A5)^#7]BO4DV[D86O(2"UFCPS IG:[J'G@".SG#?&+ [">H\/3E]+YSU&L)S+Z 5(;R(HD6V-724H*BCK.5,DN%YNQE$G[/QE:(S? M5M=G>##]:URUUY?K%[>86(6EH0[[K?M0ZX(B#& 8PZ1*LLJVCF^>[7"/](*= M >'GOXQ'P*V;;8'#L>?WNKUI^7)V56,QP>P,>ID@:LO)_)4<8N("DM5<>.TR MJM;AX7.=[9%6@?U*=_$$L/W23^)_KN5WS1>E=,I!24B8R*HQQ!POO0*9F")V M&9N:+UD\U]D>:9W;KW0)3P#;J7,,.[^&)+>"T]O,0<<\^1%NW]2I?Q-,C]XO?QKNDN8R@*1027:W4ZDQ&\EV$] M>XE'D2.7C^==/,93'&PVX/_D M3%Z$Z6)=HG];T-X8@RY&R+*0,EN[W8I$SAV7Q@1IHAUD-D4_+'BD7N>C";$. M!L=?VN'/ZE%<$F$%F76OZ<:]([%I)$D$;6>5+&@0O5I$I,*LDUYM1-R6#3D__R$?-? M0 4,AN1?^OX?X$L%5"E):R!*0;Z44QQBY@52D"Y88:4WCR\!JT5\1*]\:;YR*%?O,_Y(%B= MH\_Y$!EW@//G9 S.OR'>7MC#;7&6H0-!YE+=5D!'X&1!FTR<=4XG95IW"-Q# M1N?IV<&Q,6\KJ ZPUJ)4)1G#O M\0*!B:",M,;[YGL-CB.U#WE.SHGZ'Y!IPA#M)5JN,0K#VM_[J\T1KW:]NZA3 M1 &9>$G^.GD9WEH&+#&54!?DHG5";@D(&70 J'K%WI3WX0*7FU W M9I>28'0 L^Y1Y)Y MS/(S_(H7\R^50\__KNH$%_]/%WG)%[?T$'>Y(_3V?3:LC6#0&;LVUO4(P:1689 MN.=DV KEZP@L 2$:+GGFIK#FWL(A!(X;IAD.>,-)J0,(MC%=;T)=#%/B7-%Y M50UUB2AK:3R"KT7QT6:K8^LR[\9'Z"6UVHM3,29".K@@FY-AOO_@F]L_$2*7 M8HT'YH,%59>+>F8S)"LP"&3(0^LJ@OTH&SDV,R9X[A8/MI?D+Q$I_W.VN&;Z M[=]?L_X\ ?.]2#A_W/QPS@P3/@^\H-3!@>'K.11<@;,E$"Z+R)GI6'3K<$>O M'0$RHM;1.9!9>E#H,Y#CZ &-5M8FJ[-OWD;V2W8$'(*I 5=L'B#.'HR![PJ% MO:>;'I*%:"P17Z2E9RDJB*J:6UFKY,???/8(.@(. L'.CH!#)-(!G :I"/;( M))T\ )8ZJL3XNI]2.D"M-#D!=,>;[V/^U3L"#H+5.3H"#I%Q!SB_LSQKNS2+ M>^,1#7"'$I3* NB7'I+,GLF8,:K6\:Q[">F\YG1P?.S>=':$L,9>54N>8_UW M+8&Z;VW;-E;L(\:2%0BNQ;9SPFE@TI"3QX0)-O[,Q=G_.UZU): ]KVBR-=3 M7-9G77Z8K\+%W:#=Z_GJ'[BZB3'?_*2K_^CN9)B)PY*+$@*$3B0G+AQ9_L0W MPQDG-CEM?&MG:K3#=FX'-T;U,5FNT2'V*]_%JWS/B_EB\UOU[_$)=^1[RQCJ M;$62J9<((60+Z"TKQ5?&/9H+>.\).W<,'NFM.QU,_:;V7N/JJMCER[8=Z/@< MW8,_JU&R;3]:6V7-PF(VG7U<;MNDKG,=D@OAA3<@7""Y3V$.M#$B*5MDP=:M8*=3/>XC M/0A.SRS*#L#[P,U\-KVXW!8%W;Z@$R94Y$4C:%]#WC%&NJ5%0K'),ZE,P>8E M70>2.&Y<[YSJLXF0CL=@-3G;%!#,5M-;:K@?6/RYMGU/')>LSB #'7HD\\,0I0<7#:*Q6CHYJG&R&Q"^+B# MT ?!Z_D%VJ]C\@KII5B^#HNKPO@3W)('?E(CIV0?.ANY)%>?ND8:=Y*)6DPJ M>/1DY#D%GGD-F9Y-8Z)1A;O&%_=["D[57Z]PN41<_\QGN$R+Z3J(=1739DES M*4T!3,70-:HI8ILT*"%+D'66.C MJ1$$YL/*HV>(U0-M7)&DB"'6*L(B2A/&;E2K+7N M^H&(3F%TK)COFMLG\7Q$T"P7J\F[&CI9WZ1@761::)!$)BA-1+MD%6 4&+CV M.8B]0@OT4V^!A'YU Y#O/CAN_*KU\W4\+WL P :W)FLA;$[ T=)Q#=T"5] ! ME]RCT"E*OU=EV#X0&%,SG""LN^(^@G,C"_R/Z6SZ^?+SAG!/ITPH$3)GL0#1HY*IQ:W_[J,C"_T8D_;Q'.$0TI- T:"QU?8P0O MR7!2F*,)DOE@]LIY_$SPMS\ZCLIO)OBC^=>!87C_>_?JNF*B2(XAH !C5)W% M*6)E"@>A30R>A>!XZ\K+GY T;B)A*/>VI1RZ@=4;LJ]),K./ZW-]P,7G-^7I M?'859TK))F-UW4D;Z$26C.S@3808M XL&^E%ZY%6/Z>JQ]C)D2"X%V#-)-(I MQM[A#/\9+NK!)J)HRRW=1,$H_+[11*/UDQ=3!H[0=:[MWU9B@YD<$=0.0_PV):@RPW M!RC)Q!B, &LB Z52@>AL .,<*JVMSLUGQ_Q Q-@V=3. G,;>#O!Q0[A2S/.Z M1 ,-)^,^0626Q4#N9ZN^:3KP_ PH%7;# _'L;-9T?) UNFV)WY>7ERN M+A>X2=EL^@66?Y(9M[CZFR?;JX=_JJD%>^))A[%IF4)2&Q;)L\D65/U'-#:! M=UDE':5DXC%4E'YO(?&!:3Q*(B]8E0 M!R;4RZ@A(KVY]09)YW60MG4KT?'4=F4='X*:?<*2 PBLB_=OCY,^N\37=+4_ M_!,OON(?\]GJTW)BO"I&"D\/NZBQL+J"2@0)":,L)9#N=W(,8-Y#:U?F^."P M/%58CPB4]<)]^.=\8AGC=68U2"<+*!.X$1&)H]$+JTCR*?B")71G\YX#@ M,:)Y;,@C*.%$2NU]I+ODHXR;I:.>I9:1TT>(&4O6/E' *L6K.Y B3UPC*>7B\K/"8M2UU&9Y#T; M!$6>"P1KZ4@A>7KU4TRA==7S;HKVB_6RQPN@8SA_J@(:$DFOY[.T.5(-!];Q MRZ"QON^*/)0H2:?RI$M,"0,SK6?K_)2H_?#T&)(';?G?<.Q_+]G1R9W[,FA^ M=,)'SI#>/>UUCO3?CF?\._R*LTM\DO-ZZFNX>#E;;YM8;P,^/@6]SX]MQ,R# M3] HM;SY[M70JJO^E;^FJT]/+Y>K^6=O^M3U).WU1T?HSU_7MMS:5O(D7TX]ANRBT;BSY,/U,?Z5NN5]-EU6& MMYK6I(\J&V!2"%"29?!,,=">5!@CM>ELZUKQ-I2/FZ0> G\_;C]B+LD>OO(U%S#'@/ M$N%CP>6FRR]\Q GW7J2L! @C'2A7B(&.6XCH4DY)A6Q&T;\W)#YR)7M&K!XI MU@Y0>Z^[LESBZC76\=(Y\1P]:+J'-4LC(0J>:N.8*-%:&7/K,N5=](Q;;M<) M'IL)K%/PW4KU".^*10_H&-TDNE@0//V2T>]'Q5A*OO5,RIT$C5MOUS'\CA-9 M[_B[9OAV,]>$DX\HDH\0U[.PZ2P0#?W2:R:-4DPPI\\)R!\H'+Y[??X<9WO#+/\?$8R^[*8+O&O:<9;=+1. M3[;[>",A#,2-1JG.#5'O\,M\48F\R2V59(M""3J(.F#4D.V%TD#@&JT,)HG< M.I[P$"VG/G+;W5E7/[C&2K>BF$1N>$P%(?D:%$)6M57.D(77VDNG=?,BEX>I M&7GO= LDW'U6&K&^WX?BH-M]_9??X?*20!*_;?ZK<^F[GQ(PALX[C"M#ZSTR M4V*6SH)!CV1$:0*Z81:L+MY+%4-LOA-E*+VWK4(B0^W.%VYQ_["*[JQD@.,6H% KF)07A>_%XU[PH+,,3)^ MJ)+]!(9W@)OW)(+U.N_?+I?3&2Z7V^.L;U4.7(HD&'BI ]VJF""0BP*"6V3" M$OMX:6T6[2)HW%SZN9ZN]K+I 6@;YV9S\T0H06<'TCIRKDU-<44>(;,2E!2\ M<-&ZA/P[ D:V@=H)]BYDCN;RV#,6WB[F$9^&1=XR8Z-/ RG3G&HEB*P+8+*M M,U5S@%B<(TYH6]R=!^R!00H/?* +G^H8>D. +/# M_GIUG1?FT1>690(,0M,[F@3Q"3-8X8RU/%G#F\?T]J!K9"B=VX9M+:D.T/>3 M/K7G?Z>+RUP#I,ME'>N1/X2_)R6'+*,1M6>->!B*!R],!%+22>?"@\FM)ZH< M0687QE!#K-Q?[3&8X#K YN^+^7))YF"9KB:N<+JW:(!SNKP*2ZG1,0PUW7^$QO^/#HA_:>_X_SC M(GSY-$U/%AC.E?,_EJXQ2@&:\'#H"@&AT!1C.*"-#I2L/J7"!,4KQVPAUY(- M;4ZWJA!X-EV&CQ\7>%7>6%>D#JP,$+NMD\!R34"&K MV+H28A<]?9ED1Z'A[M/9C/TC)V?I]<^7:?5F\1X77Z?IJA6^\.PU\P$PU@TQ MEMOZ!$A@5@A%-J/4SO#G!-O?(LA4! M8]T%E0THQ=)5V[KG6:E2ZH:@%B4@#Q(P7CKV=)G^") 3&3RV4?YB?CG+BV^O MYA^G:7,BLBXOOVRC<\XY%9B!F'.-SM%Y8C&)3%1EZN8PLE'W,]!W?V=T2)PJ MQ?DP+!T;'<_>/?GCGB,D61*K?2\23:B*%2$R[Z'B_I\_CO\^ M$!H:L'!L%+RX",M/]YPA9LME(:5)9A<]K;)6/M%K"HFIB('Y&KS=3SG<_X%Q M7/BAM$(#)HX-A$W&[YY3Y%R\528"-S50[Q."BXDTFPW&.Y(WNQOPVYTM/1(, MS;NW!P)#&T9V$/3=-B9^6(39LM3&D]_G\_R]@14,U[$&MW)*%E1=-^F#E:"S M%!E#BBRT3D#L0=:X0>+F+LM0 ND?8YN[&%))AFD#'!4GSFD)P1>^3A4*EY1A ML77&?B_"QG6-F\/A,+@=(9L> +KM?#I;O9S107%KP#.T/CD-Z&N= MK9"*M+/S(+*-QF1A2VH=IMM-4=<0.P8"=T'63AY]H>O-5US<.@ASPJ>ZM9TK M17J?Q1K9= &2X<6[XI.6K6?>/4C,N,_C63%U@A1&CO%=5_/>)&G"Q5JG1Z_1 MV-I5P#29D=5&]89YR,)PTO:H-&L1XWN0@'&SKX,$A-LP>VS$7&55;A]A6]O' M4?#(!<0Z=4SI1'XH!EM[T+5T=;=&V$OY_ PQ#Q$P7@BPD6#GK;D\(E36*Y\6 MWR8?_IJ8&)C3P8$7I8;'G22*/8,L519):.U,W(&+):;__7'^]=\V/_$*&IM? MW"#CYGLCPJ"-T.8G<; #F?_Y?A(*-S%'!UI5W-ODP'FK0 A9BN,IQ-A.YG^^ M'R_>.XS,#^1@!S)_^GK"E(R(PD,1F=6&C01.TP,91+ L&&UV3]8_3.9/7X\7 MVQU&Y@=RL .9_\>[B60VD('+H11#*$W<0]2,D3WM(_U^3&;GMI##9/X?[\8+ MX0XC\P,YV(',__C')'.OM(B;_NPN2T8A .A'=:-9?18Y<2! M*V?JQ#],XHXK]T!B_KZ?/LZVXO8";\.^#G(+N\<[V)!XXCD#$X1C5:N/7"(F M:#;":$'1'W7 )ZR)Z[49NVHZ3K0K\![;L#) M@HA:LQ1;9Z@>S?"4@P2[^]%Y:/Z'8X7;F*I_5!+](R?P029@MLZW MDEYE8?=Z=Q[!\)2#Y+7/\)1#F#*ST['@X=G?3O]>K[-S%12)2 T+=SBX_,PN+UCOXZ!_P?J_]'M?AX-_]?$* MK?VKK7?DR]>KZZ_=ST,VO&3> ?O:N&[T&NRZWR/'WNQZA\V3HU;;J['N]=;[ MTCV__#+LG[-%GY8\V6^V:*V&'_OLNGOU8_=S_[I^^DEE:SV5IQ M\S%^TD#&KL)QF,N8C9.18R%EJKO,8"D1L9S9@9<_-F]^#X9$O, M=0OS(+0R'H9(VO581.AQ#)46;#(- ;1.G=[\X6!;;[C7J(S^_J.?+$]+LW% MTS!@8SX1+!<3*:8H=V8LV*\%SQ&0\0RO,Y4;IE)VH?+$3;O7K/^3J"! M 5!IJ^4- M%4Q(%3@/1N R93R=L2(U>2'@ 5B0)418\_U3DHE1"#B12QZ!9Q-BFTHSAH,Y$8 TDO1E,4R'F0:Q$4(G0#\HQ-=(K'D4)225!1) M/-KE'C">"PLL $7ZL2 , $T^['48Q(GL03IF%(R/8=2!['2!?I1HLY5[!"6 MY2H0(5YK]A: "@40ZE#3OP6G2T>"=9$#KPK0NK*$[_.Z=_!6O'./I,0["-VK M=U:G)$:>.HS32(Q2Y@+T'13)JN<-&:T.&6%(\OU^:$""J,E+Y9W[AUL4,WQ[ M8@;;^R.:AW.AL?<#:&Q)?QK;-6(; 2_TYEVH[/L"Z"Q'J4%##*H+-0I Q>701%S*E!PRQHQYS+HX9C1 M(J'#-U^0(&H(^HOP&36#W!^UEA5@&^\;)=07SFZ?EC:&/<)G( MD!#-M4HY52*N$0W$O0GF/ \KR"$()/=E+,V,N,RZ82D +3HM\%SL+(DN<'=; M\&Y+A[(BSP!\;;E7$*@\M 98%C\2*2A5#/RC16046"2"'8K#. )09K;2O":4 M!]N#\BJG]R<\+FSB(PR(* )IEA.LGEY#?N]XT@:)W#VNY\,6U>B()*P=Z_95 M81ZV8)-2P^^D!6TIHJ=WC\RO-BLV4(6;"=AC04D#O!I@AML#S"K]NB6OH+/F MA(M./$KB6HJL >HSLB\1"14$14Y(6:C::[0F2AN\IT-PZ-(!%)7F.35CKN\X M":5 BVD1VMI@X5?F[1F+Y8V(RZ.6>_*U_]FGQ@ODX%NU;SUH.--7/W_?_M&> MVX85LFOS!$3YP9Y&.%Z]Z9QL%WCQV3'/-.B4WTY077)8C[KR-1. MF>UT @B/9%KWE3$JZ=#=DPF5*/"6@VV/:6T=-HY:A]]<[6&K\;[Y<-=%M7MV(MQD M8+IUQM,/._L[]^*TT\INF5=%J9M=PNC]&7>3_?TCU]XV.DW M&!4@4<\?K+^;A^[_4_VYL>G_O7UY=62LQM"M4D^[VPT M01N(EBG)J*P#669/5%DU+;]WHA=OT"TE,>_/*'MV'>:W;AR1+*_>/)C+OZ/= M5F-'&DQBL($GO;$4$>O?BJ"@$Q=VZ38K+]"3MU_^*HA,U/:_K;<<3\]3,3*%<]YK-@I;,Z[68T*VG [*^_;FF&%P,)WLWF(9M:1NZ='3CX0N(YO$ M5Y<1<''UC\M_UFKL6@5Y JEE@09N0;#GH'@Y^?G(FCS!C2A_9]F!:NBN:]C["R&]Y5$IK4(J/_.<:M^>I+9BZD4 M-NHT&XU_59SIU66H4HO]::SO__3-K#5FX"S':<>%5/%5R^) Q4IW#AKN MWP65U$*>R'C6^6$H$S#L%J;L7B4\_:%J>&IJ!K0,O:&1OP/ZA.ZYUZEW^13; MB64*90C-%CG=?XKD2%IVU*PW6JLN;W8VP-$%7=D:Z ZUOG6,O?[]<' SZ'6' M@[M;=G?#>A\&_1MV,[CMWO8&W9_P$Y;V[_<^D(^?[A\^=6^';'C'FB?L4_VA MWJNSAWZ/ GMST&PW+DY;Q\WJW@?2?6#=Z[N/P_XU6XYI)9*C1HOF:OBASQZZ M]S]V;_L/M;M??NK_RKJ](96T&KLA=GEY;0;L7ST(QQL'85!E#Q&7](BXKK( MM)7AC-F(VS<')V<7>^*GGXZM(YUQ(9"K:S&$6.,,FW1C+U.!".O4Z,M?CK+- MCC?KI=/?OO>+U6%IU$]H& 8LXA-@&B82IICE; 3LMYQK7(GQ##]G2ENF4G:C M=.*'O=FH_9NIT'VYX8%5NNH+!FE01Y2<;T/)YZEY?R>MM7>3]B,W.%4X*\F, M/:9J&H,80Q7G3IIRRH1"%U*%\@5[X#)E/)VQ/+4Z!XP !8W3-CB-G"7XIB6/ M68BSR91F*L'T:Y6W6S-((0!CN)Z12<(?P6%FWJ;!;P*=P2YC)XRP#S((I$8A MA&8I5D=/!&@VC600,9/38U%_"AJ*1BB 1)H8%1.)KZFT$09H,@B<@]1NAJXI M@6%.L)I@H]GR,'R/<#QZ/7 $%LH4)YRPLYC@*F(1S;%8+Y7+-$1"X59B.S(- MXEQ@FPBBI=FL(@ ET5*&&"#X$JSC>('/ AKF6=>X!(2DAJMDD<=H@*!4B!S7 MG7'^!-Q$+(S5U)2(U3"6QFJ.'7'ZZ/U&+ZM+P#.E,VO>?H_8.]X[[ U7)NK- MP5FK>7IA"G05^H6H0X6AQ%WB15R_K,ESO,L0N*?;G M<$<+D@6;-=]6F.ZT!5NI==3>(W#S_0$W;GU/:1RNP>!^ 6?7Y<@O@[!*Z3O@ MN=F]"N71$2",BIY\9E:YQ@:0XB;2..)$*TA=.[096%#N,FUKB+G#99&:%XBJ M%I1.A1+I%WTQ*I;"':R8?&2DD%Q+"D!Z >$224HMY8:2NEO0QBD 1[/* #ID MD=:I4H:"509YS"D[8%C.B84XP!I>:BPK)/QK!&2(!([U07PEPMXK3(_V!],% M8:]">F>N6T/V[BRY,\!Q44RD(-QRHU).B8$;Q#Q)5@(SUZ($%D)=\I&,I9V1 M7-C4+2TSAT$'+[]"5DR7)*_+/T]%0%FN,X2W0HFJ)$>58 M ADM'S)!8>^1C,M,9H[X-V%Y*UY?.7,'^X/RDKG[$Q[GCMX( Q"&J$OE!&?/ M;-"7<]FR UW[U\V2TZ$:*R+5&B]L1RJWVSW8):'PN360:@^_O.EBHW(_X!8J M^)% ?QPHJ8._#3#%_@"SI%\_Y25T-ASVT$%!H2,+DPU ?0'[DEQ009!K0LI2 M;M[0:J*,Q>]T$(QMF0 ;*MSSS43L5@^0ER<4#RS MK_[IF.K_/P;]:HIV[ MQE'56J7-/-^[#]ADDDAK 3[#]B.%BH+*A43_7"-O$O]51^KUAZ#S=^W1CU(>I5B3"G'3GM\@,)B,M" LPW8%/@ MCY33O5YT6=TI77>06QYQO0CMQ5[)GY%L8%0NL**!.:%N71F%/L8J"&^4L54O M+ RJ"I,G"6[X?@<73)%Y-AX&_OU$P_[MV;HH"4*-Q%9%;(#C8D27.YPO8%CU M"5JF$Q5/@+)TRL?%;PRZH&](LEC- $NGD?*C$]>>+BXL99\?U1ON8[F98!*<59;9..ZWLB37+5>I' MES#Z?,3]8'_[E>ONVUSC:EC-R$7PKSRN;C[.442=5=TMI^\LN#<'Q\@N[LD> M/G0']/C0O5^),-BC8RDXCLX-IP45691VT9>[ E)7C\4='>/GRV I[-?\7 M^_IGGHKH?^%U!+ P04 " !/@ A7FDJ#T2$% !J M&@ $P &9O)#/1>=^CJQ^ M))/XI!\1')S\TO_5,-"0^7E"4HE\3K D X@(NJ8S)2N3?D O$0U>56A0:X9^L^VW M0MQM6%:WT^E:;8Q]']M^=UG'?]D5( 7T@D;(=4Q>51*:&A%1^SN-FMEN9K)W M10,9.;9E_5;1J"?]D*42]N- 7_PMV.PPD^1:&CBFJ]31*E4*TA+LLYAQY\C2 MOYZ"&"%.:+QVGB]H0@2:D"LT8PE.GU<%3H4A"*=A@2CHWP1D O'T\JH0N0U\ M8IJ24@6[IH3VKB.ZI!+5:Z9E;XO\96'OT?,K$OG@1\*_DUT&WFPQ'HT'[F(\ MG:#IZ/$+?#KV1LA[[PTN%N,_/! 9I/=FR)T,40$;C2?N9#!VSTK8H]?I_&(V MOW G"[28(KN#+LRY.3#1W!LHISP[LEM6SZXWK>JC5\2=(W. V0=^U'.%T1:#%)0H70W GV(R64PL^!-1<02,"$A2'U8;57 M8 1024/%/,NYR#%X0;+;(5Q8YU8(*Q%QP#+5^V[3;&&J$-G(,\=\B5,BC.EU M3-;(]:6"J!"I AS+JB*.J$"D]DG I--N;P1D. M I@$C)B$TJFW@*7.:0KN2*5CV)WLVW?.^P6WS5+HA]^]MV46VS*;R@P+B(N/ M-VG&BS0+\Q@6/DNR6,7C30)P\C&GG*AA20?RG9!\@5\6?R'#[.:+H%R%=[/G M)G,V(6AWZXTBFA.=CA!KW9[*L<-=?-"@\'@#H_8H X.F4"P373=5?9:8JE)& M4^W/W:C!5*TRJ!XJ0*H*$<_3-E<[NHF7,2D1EHQ#!3? #3'.!''*/[V MBBS&:X>FVIB:J)=@OH)I?\FD9(FC)OU+5=)]'&\VT?L5X,TAH-,PK59#G0,D MA*T,RHTW1P13'Q&.9; +:YM6N[X7:IGV7MCGN-9:9KO6^NIL6S6S:^TGO&/OAYD*A3#$H_F'+/CAKMGM!/]&8\.'6],S2$X>O,F\^GLRUE#PQ52^E< M.#5'[X0V%$8'$8/NBUL]C M(@3C>VOY \JM.3I4@A'] S091)2$,/+ ^*,GZFEQ$GB"FKPXYQ0Z=@8M>T<= MW;J',!RJ_OSRSG>LGX7]2>CUORGL\U-WK!ZG[L^*_F .F$>8(GA$^"G6OJ** MCV[.+#]$%=]11U?Q3W#7]UF>2G6KLD'86]F/]1GHP(^,I1'N7(QD3.ACH,-) MC%5SV;DJ^90SVJS6)Q*\A,3)Y2[)%VY7-L_BKN=8WS'] U!+ 0(4 Q0 ( M $^ "%)KX2O% X $6D 1 M " 3A# 0!F;W)M+3(P,C,P-S Q+GAS9%!+ 0(4 Q0 ( $^ "%?@[E+% M+B$ *U# 0 5 " 7M1 0!F;W)M+3(P,C,P-S Q7V-A;"YX M;6Q02P$"% ,4 " !/@ A7UX$@_%1- #69 , %0 @ '< M<@$ 9F]R;2TR,#(S,#&UL4$L! A0#% @ 3X (5QCD-@): MW@ $ L) !4 ( !8\ ! &9O1^5CF/88 $/[!0 5 " ?"> M @!F;W)M+3(P,C,P-S Q7W!R92YX;6Q02P$"% ,4 " !/@ A7TO$X]2L( M B*P $P @ %@)0, 9F]R;7$R,C-E>&@S,3 Q+FAT;5!+ M 0(4 Q0 ( $^ "%?!49Z<'0@ "4J 3 " ;PM P!F M;W)M<3(R,V5X:#,Q,#(N:'1M4$L! A0#% @ 3X (5YI*@]$A!0 :AH M !, ( !"C8# &9O